274 lines
11 KiB
C#
274 lines
11 KiB
C#
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<string, string> GetTanevekForDDL(string baseText = null)
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetTanevek(), "ID", "Nev", baseText);
|
|
});
|
|
public IDictionary<string, string> GetAktivAndKovTanevekForDDL(string baseText = null)
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetAktivAndKovTanevek(), "ID", "Nev", baseText);
|
|
});
|
|
|
|
public IDictionary<string, string> GetAktivTanevekForDDL(string baseText = null)
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
return LogicUtil.CreateDropdownContent(h.TanevDal(GridParameters).GetAktivTanevek(), "ID", "Nev", baseText);
|
|
});
|
|
|
|
public IDictionary<string, string> 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<DateTime> 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<FelhasznaloTanevekCo> GetFelhasznaloIdBySelectedTanevIdAndFelhasznaloId(int felhasznaloId)
|
|
{
|
|
|
|
return Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
List<FelhasznaloTanevekCo> list = new List<FelhasznaloTanevekCo>();
|
|
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<int, string> GetKovetkezoTanev()
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanevDal(GridParameters);
|
|
var ds = dal.GetKovetkezoTanev();
|
|
|
|
KeyValuePair<int, string> p;
|
|
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
p = new KeyValuePair<int, string>(SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]), ds.Tables[0].Rows[0]["Nev"].ToString());
|
|
}
|
|
else
|
|
{
|
|
p = new KeyValuePair<int, string>();
|
|
}
|
|
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<int, string> GetElozoTanev()
|
|
=> Dal.CustomConnection.Run(ConnectionType, h =>
|
|
{
|
|
var dal = h.TanevDal(GridParameters);
|
|
var ds = dal.GetElozoTanev();
|
|
|
|
KeyValuePair<int, string> p;
|
|
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
p = new KeyValuePair<int, string>(SDAConvert.ToInt32(ds.Tables[0].Rows[0]["ID"]), ds.Tables[0].Rows[0]["Nev"].ToString());
|
|
}
|
|
else
|
|
{
|
|
p = new KeyValuePair<int, string>();
|
|
}
|
|
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;
|
|
});
|
|
}
|
|
}
|