using System; using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Util; using Kreta.Enums; namespace Kreta.BusinessLogic.Helpers { public class SzamonkeresElorejelzesHelper : LogicBase { public SzamonkeresElorejelzesHelper(IConnectionType connectionType) : base(connectionType) { } public List GetModListAndComboItemColorNapiLimithez(int? OraGroupId, DateTime? Datum, int? OsztalyCsoportId, out string pBackgroudColor) { var helper = new SystemSettingsHelper(ConnectionType); var szamonkeresModIdList = helper.GetSystemSettingValue>(RendszerBeallitasTipusEnum.Ertekeles_Modok_Beallitasa_Napi_Limithez); var napiSzamonkeresiLimit = helper.GetSystemSettingValue(RendszerBeallitasTipusEnum.Napi_Szamonkeresi_Limit); var szamonkeresLimitFigyelmeztetes = helper.GetSystemSettingValue(RendszerBeallitasTipusEnum.Limit_Figyelmeztetesi_Tiltasi_Beallitas); DataSet ds = new DataSet(); if (szamonkeresLimitFigyelmeztetes < 3) { ds = GetTanulokSzamonkeresElorejelzesei(new SzamonkeresElorejelzesSearchCO { OraGroupId = OraGroupId, Datum = Datum, NapiSzamonkeresLimit = napiSzamonkeresiLimit, OsztalyCsoportId = OsztalyCsoportId, ErtekelesModokLimithez = szamonkeresModIdList }); } bool hasOverLimit = napiSzamonkeresiLimit > 0 && szamonkeresLimitFigyelmeztetes != 3 && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0; string backgroudColor = !hasOverLimit ? "green" : szamonkeresLimitFigyelmeztetes == 2 ? "orange" : "red"; pBackgroudColor = backgroudColor; return szamonkeresModIdList; } public DataSet GetSzamonkeresElorejelzesDetailDataSet(SzamonkeresElorejelzesSearchCO co, bool isKellKapcsolodoOsztalyok) { DataSet ds = Dal.CustomConnection.Run(ConnectionType, h => h.SzamonkeresElorejelzes(GridParameters).GetSzamonkeresElorejelzesDetailDataSet(IntezmenyId, TanevId, co.ConvertToPCo(), isKellKapcsolodoOsztalyok: isKellKapcsolodoOsztalyok)); return ds; } public DataSet GetTanulokSzamonkeresElorejelzesei(SzamonkeresElorejelzesSearchCO co) { DataSet ds = Dal.CustomConnection.Run(ConnectionType, h => h.SzamonkeresElorejelzes(GridParameters).GetTanulokSzamonkeresElorejelzesei(IntezmenyId, TanevId, co.ConvertToPCo())); return ds; } public DataSet GetBejelentettSzamonkeresekGrid(SzamonkeresElorejelzesSearchCO co) { return Dal.CustomConnection.Run(ConnectionType, h => { OktNevelesiKategoriaEnum? kategoria = null; if (co.OsztalyCsoportId.HasValue) { Enum.TryParse(new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)).GetOsztalyCsoportFeladatKategoria(co.OsztalyCsoportId.Value).ToString(), out OktNevelesiKategoriaEnum osztalycsoportKategoria); kategoria = osztalycsoportKategoria; if (co.KapcsolodoCsoportok) { var osztalyCsoportHelper = new OsztalyCsoportHelper(new DalHandlerConnectionType(ConnectionType, h)); co.OsztalyCsoportIdsKapcsolodoCsoportokkal = osztalyCsoportHelper.ListOsztalyCsoportokKapcsolodoOsztalyCsoportjai(new List { co.OsztalyCsoportId.Value }).ToList(); } } return h.SzamonkeresElorejelzes(GridParameters).GetBejelentettSzamonkeresekGrid(IntezmenyId, TanevId, co.ConvertToPCo(), kategoria); }); } public List GetBejelentettSzamonkeresekCoList(SzamonkeresElorejelzesSearchCO co) { DataSet dataSet = GetBejelentettSzamonkeresekGrid(co); var result = new List(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { var item = new BejelentettSzamonkeresekItemCo(dataRow); result.Add(item); } return result; } public QuadrupleList GetLegutobbiBejelentettSzamonkeresek(int? pTanuloId) { var LegutobbiBejelentettSzamonkeresek = new QuadrupleList(); var co = new SzamonkeresElorejelzesSearchCO { TanuloId = pTanuloId, CsakLegutobbi6 = true }; DataSet ds = Dal.CustomConnection.Run(ConnectionType, h => h.SzamonkeresElorejelzes(GridParameters).GetBejelentettSzamonkeresekGrid(IntezmenyId, TanevId, co.ConvertToPCo(), null)); foreach (var row in ds.Tables[0].AsEnumerable()) { LegutobbiBejelentettSzamonkeresek.Add(SDAConvert.ToDateTime(row["SzamonkeresDatuma"])?.ToShortDateString(), SDAConvert.ToString(row["HetNapja_DNAME"]), SDAConvert.ToString(row["TargyNev"]), SDAConvert.ToString(row["ErtekelesModNev"]).ToString()); } return LegutobbiBejelentettSzamonkeresek; } /// INFO: Mobil használja public void SaveSzamonkeresElorejelzes(SzamonkeresElorejelzesCO co, int rogzitoId, int? intezmenyId = null) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.SzamonkeresElorejelzes(); var entity = dal.Get(); entity.SzamonkeresMegnevezes = co.Megnevezes?.Replace("'", "\""); entity.OrarendiOraGroupId = co.OrarendiOraGroupId; entity.SzamonkeresDatuma = co.Datum; entity.SzamonkeresModId = co.SzamonkeresModId.Value; entity.RogzitoId = rogzitoId; entity.RogzitesDatuma = DateTime.Now.Date; entity.IntezmenyId = intezmenyId ?? entity.IntezmenyId; dal.Insert(entity); }); } public void DeleteSzamonkeresElorejelzes(int szamonkeresElorejelzesId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.SzamonkeresElorejelzes(); dal.Delete(szamonkeresElorejelzesId); }); } /// INFO @DevKornel: Mobil használja public List GetBejelentettSzamonkeresekByDateRange(DateTime start, DateTime end) { List bejelentettSzamonkeresek = new List(); return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.SzamonkeresElorejelzes(GridParameters); var ds = dal.GetBejelentettSzamonkeresekByDateRange(IntezmenyId, TanevId, start, end); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { var szamonkeresElorejelzes = dal.Get(); szamonkeresElorejelzes.ID = row["ID"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["ID"]); szamonkeresElorejelzes.OrarendiOraGroupId = row["GroupId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["GroupId"]); szamonkeresElorejelzes.SzamonkeresDatuma = row["SzamonkeresDatum"] == DBNull.Value ? DateTime.MinValue : SDAConvert.ToDateTime(row["SzamonkeresDatum"]).Value; szamonkeresElorejelzes.RogzitesDatuma = row["RogzitesDatum"] == DBNull.Value ? DateTime.MinValue : SDAConvert.ToDateTime(row["RogzitesDatum"]).Value; szamonkeresElorejelzes.RogzitoId = row["RogzitoId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["RogzitoId"]); szamonkeresElorejelzes.SzamonkeresModId = row["SzamonkeresModId"] == DBNull.Value ? 0 : SDAConvert.ToInt32(row["SzamonkeresModId"]); szamonkeresElorejelzes.SzamonkeresMegnevezes = row["SzamonkeresMegnevezes"].ToString(); bejelentettSzamonkeresek.Add(szamonkeresElorejelzes); } } return bejelentettSzamonkeresek; }); } } }