using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Xml.Linq; using Kreta.Core; using Kreta.Core.FeatureToggle; using Kreta.Core.Logic; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.ParameterClasses; using Kreta.DataAccessManual.Util; using Kreta.Ellenorzo.Enums.VN; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Framework; using Kreta.Framework.Util; using Kreta.Resources; using SDA.DataProvider; using SDA.Kreta.Entities; namespace Kreta.DataAccessManual { internal class TanuloErtekelesDal : DataAccessBase, ITanuloErtekelesDal { public TanuloErtekelesDal(DalHandler handler, GridParameters parameters) : base(handler, parameters) { } public TanuloErtekelesDal(DalHandler handler) : base(handler) { } public void RemoveAllTanuloErtekelesNyelv(ITanuloErtekeles ertekeles) { var entity = ertekeles as TanuloErtekeles; entity.TanuloErtekelesNyelv.RemoveAll(); DalHelper.Commit(); } public void AddTanuloErtekelesNyelv(ITanuloErtekeles ertekeles, ITanuloErtekelesNyelv nyelv) { var entity = ertekeles as TanuloErtekeles; entity.TanuloErtekelesNyelv.Add(nyelv as TanuloErtekelesNyelv); DalHelper.Commit(); } public ITanuloErtekeles Get() { return TanuloErtekeles.GiveAnInstance(); } public ITanuloErtekeles Get(int id) { var entity = Get() as TanuloErtekeles; entity.LoadByID(id); return entity; } public void Insert(ITanuloErtekeles dto) { var entity = dto as TanuloErtekeles; entity.IsErtesitesElkuldve = !FeatureContext.Instance.IsEnabled(Constants.FeatureName.SendErtekelesNotification); entity.Insert(true); dto.ID = entity.ID; DalHelper.Commit(); } public void FullUpdate(ITanuloErtekeles dto) { var entity = dto as TanuloErtekeles; entity.FullUpdate(true); DalHelper.Commit(); } public void Update(ITanuloErtekeles dto) { var entity = dto as TanuloErtekeles; entity.FullUpdate(); DalHelper.Commit(); } public void Delete(int id) { var entity = Get() as TanuloErtekeles; entity.LoadByID(id); entity.TanuloErtekelesNyelv.DeleteAll(); entity.Delete(); DalHelper.Commit(); } /// INFO @DevKornel: Mobil használja public DataSet GetTanuloErtekelesListDataSet(TanuloErtekelesListPco tanuloErtekelesListPco, bool utolagosOsztalyszures = false) { using (var sdaConnection = DataUtil.GetReadOnlyConnection(UserContext.Instance.IntezmenyAzonosito)) { sdaConnection.Open(); using (var sdaCommand = sdaConnection.CreateCommand()) { sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesListDataSet"; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanuloErtekelesListPco.TanevId; var egyszerAdhatoTanuloErtekelesTipusIdListString = string.Join(",", tanuloErtekelesListPco.EgyszerAdhatoTanuloErtekelesTipusIdList.Select(x => x.ToString())); sdaCommand.Parameters.Add("pEgyszerAdhatoTanuloErtekelesTipusIdListString", SDADBType.String).Value = egyszerAdhatoTanuloErtekelesTipusIdListString; if (tanuloErtekelesListPco.FeladatKategoriaId.IsEntityId()) { sdaCommand.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = tanuloErtekelesListPco.FeladatKategoriaId.Value; } if (tanuloErtekelesListPco.OktatasiNevelesiFeladatId.IsEntityId()) { sdaCommand.Parameters.Add("pOktatasiNevelesiFeladatId", tanuloErtekelesListPco.OktatasiNevelesiFeladatId.HasValue ? (int)tanuloErtekelesListPco.OktatasiNevelesiFeladatId : (object)DBNull.Value); } if (tanuloErtekelesListPco.FeladatEllatasiHelyId.IsEntityId()) { sdaCommand.Parameters.Add("pFeladatEllatasiHelyId", SDADBType.Int).Value = tanuloErtekelesListPco.FeladatEllatasiHelyId.Value; } if (tanuloErtekelesListPco.Id.HasValue) { sdaCommand.Parameters.Add("pId", SDADBType.Int).Value = tanuloErtekelesListPco.Id.Value; } if (tanuloErtekelesListPco.TanuloIds?.Count > 0 && tanuloErtekelesListPco.TanuloIds.All(x => x.IsEntityId())) { sdaCommand.Parameters.Add("pTanuloIdsString", SqlLogic.ParseListToParameter(tanuloErtekelesListPco.TanuloIds)); } if (tanuloErtekelesListPco.OsztalyCsoportId.IsEntityId() && !utolagosOsztalyszures) { sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = tanuloErtekelesListPco.OsztalyCsoportId; } if (tanuloErtekelesListPco.CsoportTipusId.IsEntityId()) { sdaCommand.Parameters.Add("pCsoportTipusId", SDADBType.Int).Value = tanuloErtekelesListPco.CsoportTipusId; } if (tanuloErtekelesListPco.TantargyUids?.Count > 0) { sdaCommand.Parameters.Add("pTantargyUidsString", SqlLogic.ParseListToParameter(tanuloErtekelesListPco.TantargyUids)); } if (tanuloErtekelesListPco.ErtekeloId.IsEntityId()) { sdaCommand.Parameters.Add("pErtekeloId", SDADBType.Int).Value = tanuloErtekelesListPco.ErtekeloId; } if (tanuloErtekelesListPco.OsztalyzatId.IsEntityId()) { sdaCommand.Parameters.Add("pOsztalyzatId", SDADBType.Int).Value = tanuloErtekelesListPco.OsztalyzatId; } if (tanuloErtekelesListPco.ErtekelesModId.IsEntityId()) { sdaCommand.Parameters.Add("pErtekelesModId", SDADBType.Int).Value = tanuloErtekelesListPco.ErtekelesModId; } if (tanuloErtekelesListPco.TipusId.IsEntityId()) { sdaCommand.Parameters.Add("pTipusId", SDADBType.Int).Value = tanuloErtekelesListPco.TipusId; } if (tanuloErtekelesListPco.DatumTol.HasValue) { sdaCommand.Parameters.Add("pDatumTol", SDADBType.DateTime).Value = tanuloErtekelesListPco.DatumTol.Value.Date; } if (tanuloErtekelesListPco.DatumIg.HasValue) { //NOTE: A megadott nap végét kell nézni ergo a következő nap előtti pillanatot! sdaCommand.Parameters.Add("pDatumIg", SDADBType.DateTime).Value = tanuloErtekelesListPco.DatumIg.Value.Date.AddDays(1).AddSeconds(-1); } if (tanuloErtekelesListPco.RogzitesDatumTol.HasValue) { sdaCommand.Parameters.Add("pRogzitesDatumTol", SDADBType.DateTime).Value = tanuloErtekelesListPco.RogzitesDatumTol.Value.Date; } if (tanuloErtekelesListPco.RogzitesDatumIg.HasValue) { //NOTE: A megadott nap végét kell nézni ergo a következő nap előtti pillanatot! sdaCommand.Parameters.Add("pRogzitesDatumIg", SDADBType.DateTime).Value = tanuloErtekelesListPco.RogzitesDatumIg.Value.Date.AddDays(1).AddSeconds(-1); } if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.ErtekelesSzoveg)) { sdaCommand.Parameters.Add("pErtekelesSzoveg", SDADBType.LongString).Value = tanuloErtekelesListPco.ErtekelesSzoveg.ToLowerInvariant(); } if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.ErtekelesTema)) { sdaCommand.Parameters.Add("pErtekelesTema", SDADBType.String).Value = tanuloErtekelesListPco.ErtekelesTema.ToLowerInvariant(); } if (tanuloErtekelesListPco.SzervezetTipusId.IsEntityId()) { sdaCommand.Parameters.Add("pSzervezetTipusId", SDADBType.Int).Value = tanuloErtekelesListPco.SzervezetTipusId; } if (tanuloErtekelesListPco.SzervezetIdList?.Any() ?? false) { var pSzervezetIdListString = string.Join(",", tanuloErtekelesListPco.SzervezetIdList.Select(x => x.ToString())); sdaCommand.Parameters.Add("pSzervezetIdListString", SDADBType.String).Value = pSzervezetIdListString; } if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.SzervezetNev)) { sdaCommand.Parameters.Add("pSzervezetNev", SDADBType.String).Value = tanuloErtekelesListPco.SzervezetNev.ToLowerInvariant(); } if (!string.IsNullOrWhiteSpace(tanuloErtekelesListPco.SzervezetAzonosito)) { sdaCommand.Parameters.Add("pSzervezetAzonosito", SDADBType.String).Value = tanuloErtekelesListPco.SzervezetAzonosito.ToLowerInvariant(); } if (tanuloErtekelesListPco.SpecialisOsztalyzatId.IsEntityId()) { sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatEnumId", SDADBType.Int).Value = tanuloErtekelesListPco.SpecialisOsztalyzatId.Value; switch (tanuloErtekelesListPco.SpecialisOsztalyzatId.Value) { case (int)SpecialisErtekelesOsztalyzatEnum.NemIrt: sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatSzoveg", SDADBType.String).Value = TanuloErtekelesResource.NemIrt; sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatSzovegRovidNev", SDADBType.String).Value = TanuloErtekelesResource.NemIrtRovidNev; break; case (int)SpecialisErtekelesOsztalyzatEnum.Dicseret: sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatId", SDADBType.Int).Value = (int)OsztalyzatTipusEnum.jeles_5_; sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatTema", SDADBType.String).Value = TanuloErtekelesResource.Dicseret; break; case (int)SpecialisErtekelesOsztalyzatEnum.Kituno: sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatId", SDADBType.Int).Value = (int)OsztalyzatTipusEnum.jeles_5_; sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatTema", SDADBType.String).Value = TanuloErtekelesResource.Kituno; break; case (int)SpecialisErtekelesOsztalyzatEnum.Mentesitve: sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatSzoveg", SDADBType.String).Value = TanuloErtekelesResource.Mentesitve; sdaCommand.Parameters.Add("pSpecialisErtekelesOsztalyzatSzovegRovidNev", SDADBType.String).Value = TanuloErtekelesResource.MentesitveRovidNev; break; } } sdaCommand.Parameters.Add("pKellKapcsolodoCsoportok", SDADBType.Boolean).Value = tanuloErtekelesListPco.IsKellKapcsolodoCsoportok; var dataSet = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(dataSet); } DataTable dataTable = dataSet.Tables[0]; if (tanuloErtekelesListPco.ErtekelesekTipus == ErtekelesekTipusEnum.NemBizonyitvanyErtekelesTipus || tanuloErtekelesListPco.ErtekelesekTipus == ErtekelesekTipusEnum.BizonyitvanyErtekelesTipus) { var filteredDataRows = dataTable.Select( "TipusId" + $"{(tanuloErtekelesListPco.ErtekelesekTipus == ErtekelesekTipusEnum.NemBizonyitvanyErtekelesTipus ? " NOT IN " : " IN ")}" + $"({SqlLogic.ParseListToParameter(tanuloErtekelesListPco.EgyszerAdhatoTanuloErtekelesTipusIdList)})"); if (filteredDataRows.Length > 0) { dataTable = filteredDataRows.CopyToDataTable(); } } SetDNAME(dataTable, "TipusId,ErtekelesModId,ErtekelesOsztalyzatId,MagatartasOsztalyzatId,SzorgalomOsztalyzatId,MagatartasErtekId,SzorgalomErtekId,TantargyKategoriaId,FotargyTantargyKategoriaId"); SetBoolFields(dataTable, "IsMagatartasSzorgalom"); var result = SortingAndPaging(dataTable, GridParameters); return result.AsDataSet(); } } } public DataSet GetTantargyiAtlagListDataSet(int tanevId, List tantargyIds, List tanuloIds, int? oktatasiNevelesiFeladatId = null) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; var commandText = new StringBuilder($@" SELECT C_TANULOID TanuloId, C_TANTARGYID TantargyId, C_ATLAG Atlag, C_SULYOZOTTATLAG SulyozottAtlag FROM T_TANULOTANTARGYATLAG WHERE C_TANULOID IN ({SqlLogic.ParseListToParameter(tanuloIds)}) AND C_TANTARGYID IN ({SqlLogic.ParseListToParameter(tantargyIds)}) AND C_TANEVID = :pTanevId "); command.Parameters.Add("pTanevId", tanevId); if (oktatasiNevelesiFeladatId.IsEntityId()) { commandText.Append($@" AND C_OKTATASNEVELESIFELADATID = :pOktatasNevelesiFeladatId"); command.Parameters.Add("pOktatasNevelesiFeladatId", oktatasiNevelesiFeladatId.HasValue ? (int)oktatasiNevelesiFeladatId : (object)DBNull.Value); } var result = new DataSet(); using (var adapter = new SDADataAdapter()) { command.CommandText = commandText.ToString(); adapter.SelectCommand = command; adapter.Fill(result); } return result; } } public DataSet GetTanuloErtekelesDataSetByTantargy(int tanevId, int tanarId, int tantargyId, int osztalyCsoportId, DateTime? datum, bool isFromSzervezet) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesDataSetByTantargy"; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; sdaCommand.Parameters.Add("pIsFromSzervezet", isFromSzervezet); var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetDNAME(result.Tables[0], "AmiFotargyId,AmiTagozatId,AmiTantargyKotelezosegId,EvfolyamId"); SetBoolFields(result.Tables[0], "IsTanulmanyiAtlagbaNemSzamit"); DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); return dt.AsDataSet(); } } public DataSet GetTanuloErtekelesDataSetByMagatartasSzorgalom(int tanevId, int tanarId, int osztalyCsoportId, DateTime? datum) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesDataSetByMagatartasSzorgalom"; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; sdaCommand.Parameters.Add("pIsFromSzervezet", false); var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetDNAME(result.Tables[0], "AmiFotargyId,AmiTagozatId,AmiTantargyKotelezosegId,EvfolyamId"); DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); return dt.AsDataSet(); } } public DataSet GetTanuloErtekelesDataSetByTanulo(int intezmenyId, int tanevId, int? tanarId, int tanuloId, DateTime? datum, int oktatasiNevelesiFeladatId, int feladatKategoriaId) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesDataSetByTanulo"; sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; if (tanarId.HasValue) { sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; } else { sdaCommand.Parameters.Add("pTanarId", DBNull.Value); } sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = feladatKategoriaId; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; sdaCommand.Parameters.Add("pOktatasiNevelesiFeladatId", SDADBType.Int).Value = oktatasiNevelesiFeladatId; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetBoolFields(result.Tables[0], "IsTanulmanyiAtlagbaNemSzamit"); return result; } } public DataSet GetTanuloErtekelesDataSetByFotargyAltargy(int intezmenyId, int tanevId, int tanarId, int tanuloId, int fotargyAltargyId, DateTime? datum, int feladatKategoriaId) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesDataSetByFotargyAltargy"; sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; sdaCommand.Parameters.Add("pFotargyAltargyId", SDADBType.Int).Value = fotargyAltargyId; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = feladatKategoriaId; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetBoolFields(result.Tables[0], "IsTanulmanyiAtlagbaNemSzamit"); return result; } } public DataSet GetTanuloErtekelesDetailDataSet(int tanevId, int tanuloId, int? tantargyId, bool showToroltElemek, int? tanarId, int ertekelesMegjelenesFajtaId, DateTime? datum, int feladatKategoriaId, int? oktatasiNevelesiFeladatId, bool isDualisKepzesEnabled) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesDetailDataSet"; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pShowToroltElemek", SDADBType.Boolean).Value = showToroltElemek.ToBit(); sdaCommand.Parameters.Add("pIsFromSzervezet", isDualisKepzesEnabled); if (tanarId.HasValue) { sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = tanarId; } else { sdaCommand.Parameters.Add("pTanarId", DBNull.Value); } sdaCommand.Parameters.Add("pErtekelesMegjelenesFajtaEnumTantargyId", SDADBType.Int).Value = (int)ErtekelesMegjelenesFajtaEnum.Tantargy; sdaCommand.Parameters.Add("pErtekelesMegjelenesFajtaEnumMagatartasSzorgalomId", SDADBType.Int).Value = (int)ErtekelesMegjelenesFajtaEnum.MagatartasSzorgalom; sdaCommand.Parameters.Add("pErtekelesMegjelenesFajtaId", SDADBType.Int).Value = ertekelesMegjelenesFajtaId; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; sdaCommand.Parameters.Add("pFeladatKategoriaId", feladatKategoriaId == 0 ? (object)DBNull.Value : feladatKategoriaId); sdaCommand.Parameters.Add("pOktatasiNevelesiFeladatId", oktatasiNevelesiFeladatId ?? (object)DBNull.Value); var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetDNAME(result.Tables[0], "TipusId,ErtekelesModId,ErtekelesOsztalyzatId,MagatartasOsztalyzatId,MagatartasErtekId,SzorgalomOsztalyzatId,SzorgalomErtekId"); SetBoolFields(result.Tables[0], "IsMagatartasSzorgalom,Torolt,Modosithato"); DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); return dt.AsDataSet(); } } public DataSet GetLegfrissebbTanuloErtekelesDataSet(int intezmenyId, int tanevId, int tanuloId, int kesleltetettMegjelenitesOraszam) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetLegfrissebbTanuloErtekelesDataSet"; sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; sdaCommand.Parameters.Add("pTipusId", SDADBType.Int).Value = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles; sdaCommand.Parameters.Add("pKesleltetettMegjelenitesOraszam", SDADBType.Int).Value = kesleltetettMegjelenitesOraszam; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } return result; } } public DataSet GetErtekelesDolgozatAtlagDataSet(int intezmenyId, int tanevId, DolgozatokAtlagaSearchPco searchPco) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetDolgozatErtekelesAtlag"; sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; if (searchPco.OsztalyCsoport.IsEntityId()) { sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = searchPco.OsztalyCsoport; } else { sdaCommand.Parameters.Add("pOsztalyCsoportId", DBNull.Value); } if (searchPco.Tantargy.IsEntityId()) { sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = searchPco.Tantargy; } else { sdaCommand.Parameters.Add("pTantargyId", DBNull.Value); } if (searchPco.ErtekelesModList.Any()) { sdaCommand.Parameters.Add("pErtekelesModIdString", SDADBType.String).Value = string.Join(",", searchPco.ErtekelesModList); } else { sdaCommand.Parameters.Add("pErtekelesModIdString", DBNull.Value); } sdaCommand.Parameters.Add("pTanarId", SDADBType.Int).Value = searchPco.TanarId; if (!string.IsNullOrWhiteSpace(searchPco.ErtekelesTemaja)) { sdaCommand.Parameters.Add("pErtekelesTema", SDADBType.String).Value = searchPco.ErtekelesTemaja; } else { sdaCommand.Parameters.Add("pErtekelesTema", DBNull.Value); } //Atlag if (searchPco.AtlagTol.HasValue) { sdaCommand.Parameters.Add("pAtlagTol", SDADBType.Double).Value = searchPco.AtlagTol; } else { sdaCommand.Parameters.Add("pAtlagTol", DBNull.Value); } if (searchPco.AtlagIg.HasValue) { sdaCommand.Parameters.Add("pAtlagIg", SDADBType.Double).Value = searchPco.AtlagIg; } else { sdaCommand.Parameters.Add("pAtlagIg", DBNull.Value); } // Jeles if (searchPco.Erdemjegy5Tol.HasValue) { sdaCommand.Parameters.Add("pErdemjegy5Tol", SDADBType.Int).Value = searchPco.Erdemjegy5Tol; } else { sdaCommand.Parameters.Add("pErdemjegy5Tol", DBNull.Value); } if (searchPco.Erdemjegy5Ig.HasValue) { sdaCommand.Parameters.Add("pErdemjegy5Ig", SDADBType.Int).Value = searchPco.Erdemjegy5Ig; } else { sdaCommand.Parameters.Add("pErdemjegy5ig", DBNull.Value); } // Jó if (searchPco.Erdemjegy4Tol.HasValue) { sdaCommand.Parameters.Add("pErdemjegy4Tol", SDADBType.Int).Value = searchPco.Erdemjegy4Tol; } else { sdaCommand.Parameters.Add("pErdemjegy4Tol", DBNull.Value); } if (searchPco.Erdemjegy4Ig.HasValue) { sdaCommand.Parameters.Add("pErdemjegy4Ig", SDADBType.Int).Value = searchPco.Erdemjegy4Ig; } else { sdaCommand.Parameters.Add("pErdemjegy4ig", DBNull.Value); } // Közepes if (searchPco.Erdemjegy3Tol.HasValue) { sdaCommand.Parameters.Add("pErdemjegy3Tol", SDADBType.Int).Value = searchPco.Erdemjegy3Tol; } else { sdaCommand.Parameters.Add("pErdemjegy3Tol", DBNull.Value); } if (searchPco.Erdemjegy3Ig.HasValue) { sdaCommand.Parameters.Add("pErdemjegy3Ig", SDADBType.Int).Value = searchPco.Erdemjegy3Ig; } else { sdaCommand.Parameters.Add("pErdemjegy3ig", DBNull.Value); } // Elégséges if (searchPco.Erdemjegy2Tol.HasValue) { sdaCommand.Parameters.Add("pErdemjegy2Tol", SDADBType.Int).Value = searchPco.Erdemjegy2Tol; } else { sdaCommand.Parameters.Add("pErdemjegy2Tol", DBNull.Value); } if (searchPco.Erdemjegy2Ig.HasValue) { sdaCommand.Parameters.Add("pErdemjegy2Ig", SDADBType.Int).Value = searchPco.Erdemjegy2Ig; } else { sdaCommand.Parameters.Add("pErdemjegy2ig", DBNull.Value); } // Elégtelen if (searchPco.Erdemjegy1Tol.HasValue) { sdaCommand.Parameters.Add("pErdemjegy1Tol", SDADBType.Int).Value = searchPco.Erdemjegy1Tol; } else { sdaCommand.Parameters.Add("pErdemjegy1Tol", DBNull.Value); } if (searchPco.Erdemjegy1Ig.HasValue) { sdaCommand.Parameters.Add("pErdemjegy1Ig", SDADBType.Int).Value = searchPco.Erdemjegy1Ig; } else { sdaCommand.Parameters.Add("pErdemjegy1ig", DBNull.Value); } // Nem írt dolgozatot if (searchPco.NemIrtDolgozatotTol.HasValue) { sdaCommand.Parameters.Add("pNemIrtDolgozatotTol", SDADBType.Int).Value = searchPco.NemIrtDolgozatotTol; } else { sdaCommand.Parameters.Add("pNemIrtDolgozatotTol", DBNull.Value); } if (searchPco.NemIrtDolgozatotIg.HasValue) { sdaCommand.Parameters.Add("pNemIrtDolgozatotIg", SDADBType.Int).Value = searchPco.NemIrtDolgozatotIg; } else { sdaCommand.Parameters.Add("pNemIrtDolgozatotIg", DBNull.Value); } sdaCommand.Parameters.Add("pSzuperOsztalyfonok", SDADBType.Int).Value = searchPco.SzuperOsztalyfonok ?? 0; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = searchPco.Datum; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); SetDNAME(dt, "ErtekelesModId"); return dt.AsDataSet(); } } public DataSet GetDolgozatReszletekDataSet(int? osztalyCsoportId, int? tantargyId, string ertekelesTema, DateTime? datum) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetDolgozatReszletek"; if (osztalyCsoportId.HasValue) { sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; } else { sdaCommand.Parameters.Add("pOsztalyCsoportId", DBNull.Value); } if (tantargyId.HasValue) { sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; } else { sdaCommand.Parameters.Add("pTantargyId", DBNull.Value); } sdaCommand.Parameters.Add("pErtekelesTema", SDADBType.String).Value = ertekelesTema; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); return dt.AsDataSet(); } } public DataSet GetDolgozatErtekelesTemak(int intezmenyId, int tanevId, int? osztalyCsoportId, int? tantargyId) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetDolgozatErtekelesTemak"; sdaCommand.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; if (osztalyCsoportId.HasValue) { sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; } else { sdaCommand.Parameters.Add("pOsztalyCsoportId", DBNull.Value); } if (tantargyId.HasValue) { sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; } else { sdaCommand.Parameters.Add("pTantargyId", DBNull.Value); } var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } DataTable dt = SortingAndPaging(result.Tables[0], GridParameters); return dt.AsDataSet(); } } public bool CheckTanuloListEgyszerAdhatoTanuloErtekelesValidation(Dictionary tanuloErtekelesDictionary, int tipusId, int? tantargyId, DateTime? datum, int feladatKategoriaId) { var xmlDoc = new XDocument(new XElement("tanuloErtekelesList")); foreach (var tanuloErtekelesItem in tanuloErtekelesDictionary) { xmlDoc.Root?.Add(new XElement("tanuloId", tanuloErtekelesItem.Key)); xmlDoc.Root?.Add(new XElement("id", tanuloErtekelesItem.Value)); } var tanuloErtekelesListXml = xmlDoc.ToString(); using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspCheckTanuloListEgyszerAdhatoTanuloErtekelesValidation"; sdaCommand.Parameters.Add("pTanuloErtekelesList", SDADBType.String).Value = tanuloErtekelesListXml; sdaCommand.Parameters.Add("pTipusId", SDADBType.Int).Value = tipusId; if (tantargyId.IsEntityId()) { sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId.Value; } if (datum.HasValue) { sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum.Value; } sdaCommand.Parameters.Add("pFeladatKategoriaId", SDADBType.Int).Value = feladatKategoriaId; sdaCommand.Parameters.Add("pAmiKategoriaId", SDADBType.Int).Value = (int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas; bool result = Convert.ToBoolean(sdaCommand.ExecuteScalar()); return result; } } public DataSet ValidateTanuloListTanuloMentesseg(List tanuloIdList, int tantargyId, DateTime ertekelesDatum) { var xmlDoc = new XDocument(new XElement("tanuloIdList")); foreach (var tanuloId in tanuloIdList) { xmlDoc.Root?.Add(new XElement("tanuloId", tanuloId)); } var tanuloIdListXml = xmlDoc.ToString(); using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspValidateTanuloListTanuloMenessegToErtekeles"; sdaCommand.Parameters.Add("pTanuloIdList", SDADBType.String).Value = tanuloIdListXml; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pErtekelesDatum", SDADBType.DateTime).Value = ertekelesDatum; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetBoolFields(result.Tables[0], "ErtkelesMentesseg,SzovegesenErtekelheto"); return result; } } public bool IsTanuloErtekelt(int intezmenyId, int tanevId, DateTime datum, int? ertekelesModId, int tipusId, int tantargyId, string tema, int tanuloId, int? osztalyzatId, int? szazalek, string ertekelesSzovege) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspIsTanuloErtekelt"; sdaCommand.Parameters.Add("pIntezmenyId", intezmenyId); sdaCommand.Parameters.Add("pTanevId", tanevId); sdaCommand.Parameters.Add("pDatum", datum.Date); sdaCommand.Parameters.Add("pErtekelesModId", ertekelesModId); sdaCommand.Parameters.Add("pTipusId", tipusId); sdaCommand.Parameters.Add("pTantargyId", tantargyId); sdaCommand.Parameters.Add("pTanuloId", tanuloId); if (!string.IsNullOrWhiteSpace(tema)) { sdaCommand.Parameters.Add("pTema", tema); } if (osztalyzatId.IsEntityId()) { sdaCommand.Parameters.Add("pOsztalyzatId", osztalyzatId.Value); } if (szazalek.HasValue) { sdaCommand.Parameters.Add("pSzazalek", szazalek); } if (!string.IsNullOrWhiteSpace(ertekelesSzovege)) { sdaCommand.Parameters.Add("pErtekelesSzovege", ertekelesSzovege); } var result = sdaCommand.ExecuteScalar(); return Convert.ToBoolean(result); } } public DataSet GetAllSchemaErtekelesNotification(DateTime date) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetAllSchemaKikuldendoErtekeles"; sdaCommand.Parameters.Add("DATUM", SDADBType.DateTime).Value = date; sdaCommand.Parameters.Add("FELEVIJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.felevi_jegy_ertekeles); sdaCommand.Parameters.Add("EVVEGIJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.evvegi_jegy_ertekeles); sdaCommand.Parameters.Add("INEGYEDVESJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.I_ne_jegy_ertekeles); sdaCommand.Parameters.Add("IINEGYEDVESJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.II_ne_jegy_ertekeles); sdaCommand.Parameters.Add("IIINEGYEDVESJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.III_ne_jegy_ertekeles); sdaCommand.Parameters.Add("IVNEGYEDVESJEGY", SDADBType.Int).Value = Convert.ToInt32(ErtekelesTipusEnum.IV_ne_jegy_ertekeles); var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } return result; } } public void SetErtekelesAsKikuldott(IEnumerable idList) { using (SDACommand command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspSetTanuloErtekelesAsKikuldott"; command.Parameters.Add("item_list", SqlLogic.ParseListToParameter(idList.ToList())); command.ExecuteNonQuery(); DalHelper.Commit(); } } public DataSet GetAtlag(int osztalyCsoportId, int tantargyId, int tanevId, AtlagMegjelenitesTipus atlagMegjelenitesTipus, AtlagbaBeleszamitoOsztalyTipus atlagbaBeleszamitoOsztalyTipus, DateTime? datum = null) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetAtlag"; sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pAtlagMegjelenitesTipus", SDADBType.Int).Value = (int)atlagMegjelenitesTipus; sdaCommand.Parameters.Add("pAtlagbaBeleszamitoOsztalyTipus", SDADBType.Int).Value = (int)atlagbaBeleszamitoOsztalyTipus; sdaCommand.Parameters.Add("pErtekelesTipusa", SDADBType.Int).Value = (int)ErtekelesTipusEnum.evkozi_jegy_ertekeles; sdaCommand.Parameters.Add("pDatum", SDADBType.DateTime).Value = datum; sdaCommand.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; var dataSet = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(dataSet); } return dataSet; } } public void UpdateTantargyAtlag(int intezmenyId, int tanevId, int felhasznaloId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspUpdateAtlagByTanev"; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; command.Parameters.Add("pFelhasznaloId", SDADBType.Int).Value = felhasznaloId; command.ExecuteNonQuery(); DalHelper.Commit(); } } public void UpdateTantargyAtlagByTanuloTantargy(int intezmenyId, int tanevId, int felhasznaloId, int tanuloId, int tantargyId, int oktatasNevelesiFeladatId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspUpdateAtlagByTanuloTantargy"; command.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; command.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; command.Parameters.Add("pOktatasNevelesiFeladatId", SDADBType.Int).Value = oktatasNevelesiFeladatId; command.Parameters.Add("pFelhasznaloId", SDADBType.Int).Value = felhasznaloId; command.ExecuteNonQuery(); DalHelper.Commit(); } } public void UpdateAtlagByOsztalyCsoportTantargy(int intezmenyId, int tanevId, int felhasznaloId, int osztalyCsoportId, int? tantargyId) { using (var command = new SDACommand()) { command.Connection = UserContext.Instance.SDAConnection; command.Transaction = UserContext.Instance.SDATransaction; command.CommandType = CommandType.StoredProcedure; command.CommandText = "uspUpdateAtlagByOsztalyCsoportTantargy"; command.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; command.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; command.Parameters.Add("pTanevId", SDADBType.Int).Value = tanevId; command.Parameters.Add("pIntezmenyId", SDADBType.Int).Value = intezmenyId; command.Parameters.Add("pFelhasznaloId", SDADBType.Int).Value = felhasznaloId; command.ExecuteNonQuery(); DalHelper.Commit(); } } public DataSet GetErtekelesekDataSet(int tantargyId, int osztalyCsoportId, int? tanuloId = null) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetErtekelesekDataSet"; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; if (tanuloId.HasValue) { sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId.Value; } var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } return result; } } public DataSet GetTanuloErtekeleseiDataSet(int tanuloId, int tantargyId, int osztalyCsoportId) { using (var sdaCommand = new SDACommand()) { sdaCommand.Connection = UserContext.Instance.SDAConnection; sdaCommand.Transaction = UserContext.Instance.SDATransaction; sdaCommand.CommandType = CommandType.StoredProcedure; sdaCommand.CommandText = "uspGetTanuloErtekelesei"; sdaCommand.Parameters.Add("pTanuloId", SDADBType.Int).Value = tanuloId; sdaCommand.Parameters.Add("pTantargyId", SDADBType.Int).Value = tantargyId; sdaCommand.Parameters.Add("pOsztalyCsoportId", SDADBType.Int).Value = osztalyCsoportId; var result = new DataSet(); using (var adapter = new SDADataAdapter()) { adapter.SelectCommand = sdaCommand; adapter.Fill(result); } SetDNAME(result.Tables[0], "ErtekelesModId,ErtekelesOsztalyzatId,ErtekelesTipusId"); return result; } } } }