using System.Collections.Generic; using System.Data; using Kreta.Core; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.Util; using Kreta.Framework; using SDA.DataProvider; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class ZaradekDal : DataAccessBase, IZaradekDal { public ZaradekDal(DalHandler handler) : base(handler) { } public void Delete(int id) { var entity = Zaradek.GiveAnInstance(); entity.LoadByID(id); Delete(entity); } public void Delete(IZaradek dto) { var entity = dto as Zaradek; entity.ZaradekNyelv?.DeleteAll(); entity.Delete(); DalHelper.Commit(); } public void DeleteIdegenNyelv(int id) { var entity = ZaradekNyelv.GiveAnInstance(); entity.LoadByID(id); DeleteIdegenNyelv(entity); } public void DeleteIdegenNyelv(IZaradekNyelv dto) { var entity = dto as ZaradekNyelv; entity.Delete(); DalHelper.Commit(); } public void DeleteAll(List tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList) { if (tanuloCsoportIdList.Count > 0) { using (SDACommand command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspDeleteAllZaradekokAndZaradekNyelvekByTanulocsoportok"; command.Parameters.Add("pModifierId", felhasznaloId); command.Parameters.Add("pTanuloCsoportIdList", string.Join(",", tanuloCsoportIdList)); command.Parameters.Add("pIsOsztalyList", isOsztalyList); command.ExecuteNonQuery(); DalHelper.Commit(); } } } public void DeleteLasts(List tanuloCsoportIdList, int felhasznaloId, bool isOsztalyList) { if (tanuloCsoportIdList.Count > 0) { using (SDACommand command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspDeleteLastsZaradekokAndZaradekNyelvekByTanulocsoportok"; command.Parameters.Add("pModifierId", felhasznaloId); command.Parameters.Add("pTanuloCsoportIdList", string.Join(",", tanuloCsoportIdList)); command.Parameters.Add("pIsOsztalyList", isOsztalyList); command.ExecuteNonQuery(); DalHelper.Commit(); } } } public IZaradek Get(int id) { var entity = Zaradek.GiveAnInstance(); entity.LoadByID(id); return entity; } public IZaradek Get() { return Zaradek.GiveAnInstance(); } public IZaradekNyelv GetIdegenNyelv(int id) { var entity = ZaradekNyelv.GiveAnInstance(); entity.LoadByID(id); return entity; } public IZaradekNyelv GetIdegenNyelv() { return ZaradekNyelv.GiveAnInstance(); } public int Insert(IZaradek dto) { var entity = dto as Zaradek; entity.Insert(); dto.ID = entity.ID; DalHelper.Commit(); return dto.ID; } public int InsertIdegenNyelv(IZaradekNyelv dto) { var entity = dto as ZaradekNyelv; entity.Insert(); dto.ID = entity.ID; DalHelper.Commit(); return dto.ID; } public void Update(IZaradek dto) { var entity = dto as Zaradek; entity.Update(); DalHelper.Commit(); } public void FullUpdate(IZaradek dto) { var entity = dto as Zaradek; entity.FullUpdate(); DalHelper.Commit(); } public void UpdateIdegenNyelv(IZaradekNyelv dto) { var entity = dto as ZaradekNyelv; entity.Update(); DalHelper.Commit(); } public DataSet GetZaradekok(int tanevId, int intezmenyId, List nemzetiDokumentumNyelvek, int tanuloCsoportId, int? tanuloId = null) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspGetZaradekok"; command.Parameters.Add(nameof(tanevId), tanevId); command.Parameters.Add(nameof(intezmenyId), intezmenyId); command.Parameters.Add(nameof(tanuloCsoportId), SDADBType.Int).Value = tanuloCsoportId; if (nemzetiDokumentumNyelvek.Count > 0) { command.Parameters.Add(nameof(nemzetiDokumentumNyelvek), string.Join(",", nemzetiDokumentumNyelvek)); } if (tanuloId.IsEntityId()) { command.Parameters.Add(nameof(tanuloId), SDADBType.Int).Value = tanuloId.Value; } var dts = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = command; adapter.Fill(dts); } return dts; } } public DataSet GetTanuloKiVagyAtsorolasiZaradekai(int tanuloCsoportId, int zaradekId) { var parameters = new List { new CommandParameter("pTanuloCsoportId", tanuloCsoportId), new CommandParameter("pZaradekId", zaradekId) }; const string command = @" SELECT Id FROM T_ZARADEK_OSSZES WHERE C_ISKIVAGYATSOROLASIZARADEK = 'T' AND TOROLT = 'F' AND T_ZARADEK_OSSZES.C_TANULOCSOPORTID = :pTanuloCsoportId AND Id <> :pZaradekId "; return GetData(command, parameters); } } }