using System; using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Utils; using Kreta.Core.ConnectionType; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Util; using Kreta.Enums.ManualEnums; namespace Kreta.BusinessLogic.Helpers { public class TanevHelper : LogicBase { public TanevHelper(IConnectionType connectionType) : base(connectionType) { } public DateTime GetTanevKezdete() { var co = GetTanevInfo(); return co.KezdoNap; } public IDictionary GetTanevekForDDL(string baseText = null) => Dal.CustomConnection.Run(ConnectionType, h => { return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetTanevek(), "ID", "Nev", baseText); }); public IDictionary GetAktivAndKovTanevekForDDL(string baseText = null) => Dal.CustomConnection.Run(ConnectionType, h => { return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetAktivAndKovTanevek(), "ID", "Nev", baseText); }); public IDictionary GetAktivTanevekForDDL(string baseText = null) => Dal.CustomConnection.Run(ConnectionType, h => { return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetAktivTanevek(), "ID", "Nev", baseText); }); public IDictionary GetCsengetesiRendForDDL(string baseText) { var ds = Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.CsengetesiRend(GridParameters); return dal.GetCsengetesiRendek(TanevId); }); return LogicUtil.CreateDropdownContent(ds, "ID", "C_NEV", baseText); } public int GetAktivTanevId() => Dal.CustomConnection.Run(ConnectionType, h => { return h.TanevDal().GetAktivTanevId(); }); public List GetTanevRendkivuliNapok() => Dal.CustomConnection.Run(ConnectionType, dalHandler => { var tanevRendjeNaptipusTulajdonsagokkalCOs = new TanevrendHelper(new DalHandlerConnectionType(ConnectionType, dalHandler)).GetTanevRendjeNaptipusTulajdonsagokkal(); return tanevRendjeNaptipusTulajdonsagokkalCOs.Where(x => x.Naptipus == (int)Enums.NapTipusEnum.RendkivuliTanitasiNap).Select(x => (DateTime)x.Datum).ToList(); }); public TanevCO GetTanevInfo(int? tanevId = null) => Dal.CustomConnection.Run(ConnectionType, h => { DataSet dataSet = h.TanevDal().GetTanevData(tanevId.HasValue ? tanevId.Value : TanevId); var co = new TanevCO(); var id = dataSet.Tables[0].Rows[0]["Id"]; if (id != DBNull.Value && string.IsNullOrWhiteSpace(id.ToString()) == false) { co.Id = (int)id; } var nev = dataSet.Tables[0].Rows[0]["Nev"]; if (nev != DBNull.Value && string.IsNullOrWhiteSpace(nev.ToString()) == false) { co.Nev = (string)nev; } var kezdoNap = dataSet.Tables[0].Rows[0]["KezdoNap"]; if (kezdoNap != DBNull.Value && string.IsNullOrWhiteSpace(kezdoNap.ToString()) == false) { co.KezdoNap = (DateTime)kezdoNap; } var utolsoNap = dataSet.Tables[0].Rows[0]["UtolsoNap"]; if (utolsoNap != DBNull.Value && string.IsNullOrWhiteSpace(utolsoNap.ToString()) == false) { co.UtolsoNap = (DateTime)utolsoNap; } var elsoTanitasiNap = dataSet.Tables[0].Rows[0]["ElsoTanitasiNap"]; if (elsoTanitasiNap != DBNull.Value && string.IsNullOrWhiteSpace(elsoTanitasiNap.ToString()) == false) { co.ElsoTanitasiNap = (DateTime)elsoTanitasiNap; } var utolsoTanitasiNap = dataSet.Tables[0].Rows[0]["UtolsoTanitasiNap"]; if (utolsoTanitasiNap != DBNull.Value && string.IsNullOrWhiteSpace(utolsoTanitasiNap.ToString()) == false) { co.UtolsoTanitasiNap = (DateTime)utolsoTanitasiNap; } var utolsoTanitasiNapVegzos = dataSet.Tables[0].Rows[0]["UtolsoTanitasiNapVegzos"]; if (utolsoTanitasiNapVegzos != DBNull.Value && string.IsNullOrWhiteSpace(utolsoTanitasiNapVegzos.ToString()) == false) { co.UtolsoTanitasiNapVegzos = (DateTime)utolsoTanitasiNapVegzos; } var sorszam = dataSet.Tables[0].Rows[0]["Sorszam"]; if (sorszam != DBNull.Value && string.IsNullOrWhiteSpace(sorszam.ToString()) == false) { co.Sorszam = (int)sorszam; } var isAktiv = dataSet.Tables[0].Rows[0]["IsAktiv_BOOL"]; if (isAktiv != DBNull.Value && string.IsNullOrWhiteSpace(isAktiv.ToString()) == false) { co.IsAktiv = Convert.ToBoolean(isAktiv); } var isKovetkezo = dataSet.Tables[0].Rows[0]["IsKovetkezo_BOOL"]; if (isKovetkezo != DBNull.Value && string.IsNullOrWhiteSpace(isKovetkezo.ToString()) == false) { co.IsKovetkezo = Convert.ToBoolean(isKovetkezo); } var isKivalaszthato = dataSet.Tables[0].Rows[0]["IsKivalaszthato_BOOL"]; if (isKivalaszthato != DBNull.Value && string.IsNullOrWhiteSpace(isKivalaszthato.ToString()) == false) { co.IsKivalaszthato = Convert.ToBoolean(isKivalaszthato); } var foglalkozasokRogziteseHetvegereEnum = dataSet.Tables[0].Rows[0]["FoglalkozasokRogziteseHetvegereEnumValue"]; if (foglalkozasokRogziteseHetvegereEnum != DBNull.Value && string.IsNullOrWhiteSpace(foglalkozasokRogziteseHetvegereEnum.ToString()) == false) { co.FoglalkozasokRogziteseHetvegereEnum = (FoglalkozasokRogziteseHetvegere)Convert.ToInt32(foglalkozasokRogziteseHetvegereEnum); } return co; }); public DateTime GetDatumInTanev(DateTime? datum = null) { if (!datum.HasValue) { datum = DateTime.Now.Date; } var tanevData = GetTanevInfo(); if (datum < tanevData.KezdoNap) { datum = tanevData.KezdoNap; } else if (datum > tanevData.UtolsoTanitasiNap) { datum = tanevData.UtolsoTanitasiNap; } return datum.Value; } public List GetFelhasznaloIdBySelectedTanevIdAndFelhasznaloId(int felhasznaloId) { return Dal.CustomConnection.Run(ConnectionType, h => { List list = new List(); var dal = h.TanevDal(); DataSet ds = dal.GetFelhasznalokTanevekByFelhasznaloId(felhasznaloId); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { list.Add(new FelhasznaloTanevekCo { FelhasznaloId = SDAConvert.ToInt32(row["FelhasznaloId"]), FelhasznaloNev = SDAConvert.ToString(row["FelhasznaloNev"]), FelhasznaloEgyediAzonosito = SDAConvert.ToString(row["FelhasznaloEgyediAzonosito"]), TanevId = SDAConvert.ToInt32(row["TanevId"]), TanevIsActiv = SDAConvert.ToBooleanFromTF(row["TanevIsActiv"]), TanevIsKovetkezo = SDAConvert.ToBooleanFromTF(row["TanevIsKovetkezo"]), TanevNev = SDAConvert.ToString(row["TanevNev"]) }); } } return list; }); } public KeyValuePair GetKovetkezoTanev() => Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanevDal(GridParameters); var ds = dal.GetKovetkezoTanev(); KeyValuePair p; if (ds != null && ds.Tables[0].Rows.Count > 0) { p = new KeyValuePair(SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]), ds.Tables[0].Rows[0]["Nev"].ToString()); } else { p = new KeyValuePair(); } return p; }); public int GetKovTanevId() => Dal.CustomConnection.Run(ConnectionType, h => { return h.TanevDal().GetKovTanevId(); }); public int GetPrevTanevId() => Dal.CustomConnection.Run(ConnectionType, h => { return h.TanevDal().GetPrevTanevId(); }); public KeyValuePair GetElozoTanev() => Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.TanevDal(GridParameters); var ds = dal.GetElozoTanev(); KeyValuePair p; if (ds != null && ds.Tables[0].Rows.Count > 0) { p = new KeyValuePair(SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]), ds.Tables[0].Rows[0]["Nev"].ToString()); } else { p = new KeyValuePair(); } return p; }); public string GetAktivTanevNev() => Dal.CustomConnection.Run(ConnectionType, h => { return h.TanevDal().GetAktivTanevNev(); }); public bool GetAktivTanevValtasMenupontMegjelenik() => Dal.CustomConnection.Run(ConnectionType, h => { var kovTanevDataSet = h.TanevDal().GetKovetkezoTanevAktivalhatosagAdatok(IntezmenyId); var isLathato = false; if (kovTanevDataSet?.Tables.Count > 0 && kovTanevDataSet?.Tables[0].Rows.Count > 0) { var kovTanevRow = kovTanevDataSet.Tables[0].Rows[0]; var aktivalhatosagKezdete = SDAConvert.ToDateTime(kovTanevRow["C_AKTIVALHATOSAGKEZDETE"]); var kezdonap = SDAConvert.ToDateTime(kovTanevRow["C_KEZDONAP"]); if (aktivalhatosagKezdete.HasValue) { isLathato = aktivalhatosagKezdete <= DateTime.Now; } else { isLathato = kezdonap.HasValue && kezdonap.Value.AddDays(-9) <= DateTime.Now; } } return isLathato; }); } }