using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.Core.Logic; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.Util; using Kreta.Ellenorzo.Dao.VN.Telefon; using Kreta.Framework.Entities; using Kreta.Framework.Util; using SDA.DataProvider; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class TelefonDal : DataAccessBase, ITelefonDal { public TelefonDal(DalHandler handler) : base(handler) { } public TelefonDal(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters) { } public void SetTelefonAlapertelmezett(int tanuloId, int userId, int tanevId) { var commandText = @" UPDATE T_TELEFON_OSSZES SET C_ALAPERTELMEZETT = 'F', SERIAL = SERIAL + 1, LASTCHANGED = GETDATE(), MODIFIER = :pUserId WHERE C_FELHASZNALOID = :pTanuloId AND C_TANEVID = :pTanevId AND C_GONDVISELOID IS NULL"; using (SDACommand command = DAUtil.CreateCommand(commandText)) { command.Parameters.Add("pUserId", SDADBType.Int).Value = userId; command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; command.ExecuteNonQuery(); } } /// INFO @DevKornel: Mobil használja public List ListTelefon(List felhasznaloIds, bool? isPublic) { var parameters = new List(); if (isPublic.HasValue) { parameters.Add(new CommandParameter("pIsPublic", isPublic.Value ? 'T' : 'F')); } var felhasznaloIdsString = SqlLogic.ParseListToParameter(felhasznaloIds).ToString(); var command = @" SELECT t.ID AS ID ,t.C_TELEFONSZAM AS Telefonszam ,t.C_TELEFONTIPUSA AS Tipus ,t.C_ALAPERTELMEZETT AS Alapertelmezett ,t.C_FELHASZNALOID AS FelhasznaloId ,t.C_GONDVISELOID AS GondviseloId FROM T_TELEFON t WHERE 1 = 1 " + (!string.IsNullOrWhiteSpace(felhasznaloIdsString) ? $@"AND t.C_FELHASZNALOID IN({felhasznaloIdsString}) " : "") + (isPublic.HasValue ? $@" AND t.C_ISPUBLIC = :pIsPublic " : ""); var dataSet = GetData(command, parameters); DataTable dataTable = dataSet.Tables[0]; SetDNAME(dataTable, "Tipus"); return dataTable.AsDataSet().ToDaoList(); } public void Delete(int id) { var entity = Telefon.GiveAnInstance(); entity.LoadByID(id); entity.Delete(); DalHelper.Commit(); } public void Delete(ITelefon dto) { var entity = (Telefon)dto; entity.Delete(); DalHelper.Commit(); } public void FullUpdate(ITelefon dto) { var entity = dto as Telefon; entity.FullUpdate(); DalHelper.Commit(); } public void Update(ITelefon dto) { var entity = dto as Telefon; entity.Update(); DalHelper.Commit(); } public ITelefon Get() { return Telefon.GiveAnInstance(); } public ITelefon GetSpecific(string condition, int tanevId) { var entity = Telefon.LoadWithFilter(condition + $" AND C_TANEVID = {tanevId}").FirstOrDefault(); return entity; } public ITelefon Get(int id) { var entity = Telefon.GiveAnInstance(); entity.LoadByID(id); return entity; } public void Insert(ITelefon dto) { var entity = dto as Telefon; entity.Insert(); dto.ID = entity.ID; DalHelper.Commit(); } public void AddFelhasznaloTelefon(IFelhasznalo felhasznalo, ITelefon telefon) { ((Felhasznalo)felhasznalo).Telefon.Add((Telefon)telefon); } } }