using System; using System.Data; using Kreta.Core; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.ParameterClasses; using Kreta.DataAccessManual.Util; using Kreta.Framework; using Kreta.Framework.Util; using SDA.DataProvider; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class TanuloKozossegiSzolgalatDal : DataAccessBase, ITanuloKozossegiSzolgalatDal { public void Insert(ITanuloKozossegiSzolgalat dto) { var entity = dto as TanuloKozossegiSzolgalat; entity.Insert(); dto.ID = entity.ID; DalHelper.Commit(); } public void InsertKozossegiSzolgalatNyelv(ITanuloKozossegiSzolgalatNyelv dto) { var entity = dto as TanuloKozossegiSzolgalatNyelv; entity.Insert(); dto.ID = entity.ID; DalHelper.Commit(); } public void FullUpdate(ITanuloKozossegiSzolgalat dto) { var entity = dto as TanuloKozossegiSzolgalat; entity.FullUpdate(); DalHelper.Commit(); } public void Update(ITanuloKozossegiSzolgalat dto) { var entity = dto as TanuloKozossegiSzolgalat; entity.Update(); DalHelper.Commit(); } public void UpdateKozossegiSzolgalatNyelv(ITanuloKozossegiSzolgalatNyelv dto) { var entity = dto as TanuloKozossegiSzolgalatNyelv; entity.Update(); DalHelper.Commit(); } public ITanuloKozossegiSzolgalat Get() { return TanuloKozossegiSzolgalat.GiveAnInstance(); } public ITanuloKozossegiSzolgalat Get(int id) { var entity = TanuloKozossegiSzolgalat.GiveAnInstance(); entity.LoadByID(id); return entity; } public ITanuloKozossegiSzolgalatNyelv GetKozossegiSzolgalatNyelv() { return TanuloKozossegiSzolgalatNyelv.GiveAnInstance(); } public void Delete(int id) { var entity = Get(id) as TanuloKozossegiSzolgalat; entity.TanuloKozossegiSzolgalatNyelv.DeleteAll(); entity.Delete(); DalHelper.Commit(); } public TanuloKozossegiSzolgalatDal(DalHandler handler) : base(handler) { } public TanuloKozossegiSzolgalatDal(DalHandler handler, GridParameters gridParameters) : base(handler, gridParameters) { } public DataSet GetKozossegiSzolgalatokData(int intezmenyId, KozossegiSzolgalatokSearchPco pco) { var ds = new DataSet(); using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspGetKozossegiSzolgalatokData"; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; if (pco.OsztalyCsoportIdList.NotNullAndAny()) { command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = string.Join(",", pco.OsztalyCsoportIdList); } else { command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = DBNull.Value; } if (pco.IntervallumKezdete != null) { command.Parameters.Add("pIdoszakKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete.Value; } else { command.Parameters.Add("pIdoszakKezdete", SDADBType.DateTime).Value = DBNull.Value; } if (pco.IntervallumVege != null) { command.Parameters.Add("pIdoszakVege", SDADBType.DateTime).Value = pco.IntervallumVege.Value; } else { command.Parameters.Add("pIdoszakVege", SDADBType.DateTime).Value = DBNull.Value; } if (pco.OsszesOraszamKezdete > 0) { command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.OsszesOraszamKezdete; } else { command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = DBNull.Value; } if (pco.OsszesOraszamVege > 0) { command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.OsszesOraszamVege; } else { command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.TanuloNev)) { command.Parameters.Add("pTanuloNeve", SDADBType.Char).Value = pco.TanuloNev; } else { command.Parameters.Add("pTanuloNeve", SDADBType.Char).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.AnyjaNeve)) { command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = pco.AnyjaNeve; } else { command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = DBNull.Value; } using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = command; adapter.Fill(ds); } } DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters); return dt.AsDataSet(); } public DataSet GetKozossegiSzolgalatokReszletek(int intezmenyId, int tanevId, int tanuloId, int tanarId, bool toroltElemek, KozossegiSzolgalatokSearchPco pco) { var ds = new DataSet(); using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "sp_GetKozossegiSzolgalatokReszletek"; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; if (tanuloId.IsEntityId()) { command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; } else { command.Parameters.Add("pTanuloId", SDADBType.Int).Value = DBNull.Value; } if (tanarId.IsEntityId()) { command.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; } else { command.Parameters.Add("pTanarId", SDADBType.Int).Value = DBNull.Value; } if (pco.IntervallumKezdete.HasValue) { command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete; } else { command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = DBNull.Value; } if (pco.IntervallumVege.HasValue) { command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = pco.IntervallumVege; } else { command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.TeljesitesiHelye)) { command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = pco.TeljesitesiHelye; } else { command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = DBNull.Value; } if (pco.Oraszam.HasValue) { command.Parameters.Add("pOraszam", SDADBType.Int).Value = pco.Oraszam; } else { command.Parameters.Add("pOraszam", SDADBType.Int).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.TanuloNev)) { command.Parameters.Add("pTanuloNev", SDADBType.String).Value = pco.TanuloNev; } else { command.Parameters.Add("pTanuloNev", SDADBType.String).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.OsztalyNev)) { command.Parameters.Add("pOsztalyNev", SDADBType.String).Value = pco.OsztalyNev; } else { command.Parameters.Add("pOsztalyNev", SDADBType.String).Value = DBNull.Value; } if (pco.KozossegiSzolgalatTipusa.HasValue) { command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = pco.KozossegiSzolgalatTipusa; } else { command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = DBNull.Value; } command.Parameters.Add("pToroltElemek", SDADBType.Char).Value = toroltElemek ? 'T' : 'F'; using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = command; adapter.Fill(ds); } } SetDNAME(ds.Tables[0], "KozossegiSzolgalatTipusa"); SetBoolFields(ds.Tables[0], "Torolt,Modosithato"); DataTable dt = SortingAndPaging(ds.Tables[0], GridParameters); return dt.AsDataSet(); } public DataSet GetKozossegiSzolgalatokExcelExport(int intezmenyId, KozossegiSzolgalatokSearchPco pco) { var ds = new DataSet(); using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspGetKozossegiSzolgalatokExportData"; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; if (pco.OsztalyCsoportIdList.NotNullAndAny()) { command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = string.Join(",", pco.OsztalyCsoportIdList); } else { command.Parameters.Add("pOsztalyCsoportIdList", SDADBType.String).Value = DBNull.Value; } if (pco.TanuloIdList.NotNullAndAny()) { command.Parameters.Add("pTanuloIds", SDADBType.String).Value = string.Join(",", pco.TanuloIdList); } else { command.Parameters.Add("pTanuloIds", SDADBType.String).Value = DBNull.Value; } if (pco.IntervallumKezdete.HasValue) { command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = pco.IntervallumKezdete; } else { command.Parameters.Add("pIntervallumKezdete", SDADBType.DateTime).Value = DBNull.Value; } if (pco.IntervallumVege.HasValue) { command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = pco.IntervallumVege; } else { command.Parameters.Add("pIntervallumVege", SDADBType.DateTime).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.TeljesitesiHelye)) { command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = pco.TeljesitesiHelye; } else { command.Parameters.Add("pTeljesitesHelye", SDADBType.String).Value = DBNull.Value; } if (pco.KozossegiSzolgalatTipusa.HasValue) { command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = pco.KozossegiSzolgalatTipusa; } else { command.Parameters.Add("pKozossegiSzolgalatTipusa", SDADBType.Int).Value = DBNull.Value; } if (pco.OsszesOraszamKezdete > 0) { command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.OsszesOraszamKezdete; } else if (pco.Oraszam.HasValue) { command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = (int)pco.Oraszam.Value; } else { command.Parameters.Add("pOsszesOraszamKezdete", SDADBType.Int).Value = DBNull.Value; } if (pco.OsszesOraszamVege > 0) { command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.OsszesOraszamVege; } else if (pco.Oraszam.HasValue) { command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = (int)pco.Oraszam.Value; } else { command.Parameters.Add("pOsszesOraszamVege", SDADBType.Int).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.TanuloNev)) { command.Parameters.Add("pTanuloNev", SDADBType.Char).Value = pco.TanuloNev; } else { command.Parameters.Add("pTanuloNev", SDADBType.Char).Value = DBNull.Value; } if (!string.IsNullOrWhiteSpace(pco.AnyjaNeve)) { command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = pco.AnyjaNeve; } else { command.Parameters.Add("pAnyjaNeve", SDADBType.Char).Value = DBNull.Value; } using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = command; adapter.Fill(ds); } } SetDNAME(ds.Tables[1], "KozossegiSzolgalatTipusa"); return ds; } public bool CheckUgyiratszamExists(string ugyiratszam) { var result = false; using (SDACommand command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.Text; command.Parameters.Add("pUgyiratszam", ugyiratszam); command.CommandText = @" SELECT COUNT(ID) FROM T_TANULOKOZOSSEGISZOLGALAT WHERE TOROLT = 'F' AND C_UGYIRATSZAM = ':pUgyiratszam' "; var cmdResult = command.ExecuteScalar(); if (cmdResult.ToString() == "1") result = true; return result; } } } }