using System; using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses.SZIRAdatszolgaltatasCOs; using Kreta.Client.SzirApi; using Kreta.Client.SzirApi.Request; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.DataAccessManual; using Kreta.Enums.ManualEnums; namespace Kreta.BusinessLogic.Helpers { public class SZIRAdatszolgHelper : LogicBase { public SZIRAdatszolgHelper(IConnectionType connectionType) : base(connectionType) { } public DataSet GetIntezmenyiData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetIntezmenyiData(IntezmenyId, TanevId); return ds; }); } public DataSet GetAMIData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetAMIData(IntezmenyId, TanevId); return ds; }); } public DataSet GetKollegiumData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetKollegiumData(IntezmenyId, TanevId); return ds; }); } public DataSet GetOktatoData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetOktatoData(IntezmenyId, TanevId); return ds; }); } public DataSet GetNemOktatoData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetNemOktatoData(IntezmenyId, TanevId); return ds; }); } public DataSet GetInfraData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetInfraData(IntezmenyId, TanevId); return ds; }); } public DataSet GetNemAllamiData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetNemAllamiData(TanevId); return ds; }); } public DataSet GetSZIRAdatszolgGrid() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetSZIRAdatszolgGrid(TanevId); return ds; }); } public DataSet GetNemAllamiGrid() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetNemAllamiGrid(TanevId); return ds; }); } public bool IsAdatokRendbenABekuldeshez() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetIsAdatokRendbenABekuldeshez(IntezmenyId, TanevId); // Ha a lekérdezett adatok közül bármelyik tábla is üres az már hiba foreach (DataTable item in ds.Tables) { if (item.Rows.Count == 0) { return false; } } return true; }); } public void SetSZIRAdatszolgGrid(int? szirId, int feladatellatasiHelyId, int okostelefon, int tablet, int notebook, int asztaliGep) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var entity = szirId.HasValue ? dal.Get(szirId.Value) : dal.Get(); entity.FeladatEllatasiHelyId = feladatellatasiHelyId; entity.OkostelefonokSzama = okostelefon; entity.TabletekSzama = tablet; entity.NotebookokSzama = notebook; entity.AsztaliGepekSzama = asztaliGep; if (szirId.HasValue) { dal.Update(entity); } else { dal.Insert(entity); } }); } public DataSet GetOsztalyData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetOsztalyData(IntezmenyId, TanevId); return ds; }); } public DataSet GetTanuloEvElejeData() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetTanuloEvElejeData(IntezmenyId, TanevId); return ds; }); } public DataSet GetTanuloEvVegeData(int elozoTanevId) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetTanuloEvVegeData(IntezmenyId, elozoTanevId); return ds; }); } public List GetKonyvtarItemCoList() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetKonyvtarData(IntezmenyId, TanevId); var result = new List(); result.AddRange(ds.Tables[0].AsEnumerable().Select(x => new KonyvtarAdatszolgaltatasItemCo(x))); return result; }); } public void SaveKonyvtarAdatszolgaltatasRow(int? szirId, int? nyitoadat, int? nyitoadatNemzetisegi, int? gyarapodas, int? forgalom, int kategoriaId) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var entity = szirId.HasValue ? dal.GetKonyvtar(szirId.Value) : dal.GetKonyvtar(); entity.Nyitoadat = nyitoadat; entity.NyitoadatNemzetisegi = nyitoadatNemzetisegi; entity.Gyarapodas = gyarapodas; entity.Forgalom = forgalom; if (szirId.HasValue) { dal.Update(entity); } else { entity.SzirStatKonyvtarKategoriaId = kategoriaId; dal.Insert(entity); } }); } public bool IsPanelsEditable() { var now = DateTime.Today; var idonBelul = now >= Constants.SZIRAdatszolgaltatasDatum && now <= Constants.SZIRAdatszolgaltatasVegeDatum; var isBekuldott = GetBekuldesDatuma().HasValue; return idonBelul && !isBekuldott; } public DateTime? GetBekuldesDatuma() { return Dal.CustomConnection.Run(ConnectionType, (h) => { return h.IntezmenyAdatszolgaltatasDal().GetSZIRStatVeglegesitesDatuma(TanevId); }); } public bool SetSZIRBekuldes() { return Dal.CustomConnection.Run(ConnectionType, (h) => { var intezmeny = h.IntezmenyDal().Get(IntezmenyId); var intezmenyAdatszolgaltatas = intezmeny.IntezmenyAdatszolgaltatas.Where(x => !x.Torolt && x.TanevId == TanevId).FirstOrDefault(); if (intezmenyAdatszolgaltatas != default) { intezmenyAdatszolgaltatas.VeglegesSzirStatDatuma = DateTime.Now; intezmenyAdatszolgaltatas.SzirStatVeglegesitoId = FelhasznaloId; h.IntezmenyAdatszolgaltatasDal().FullUpdate(intezmenyAdatszolgaltatas); return true; } return false; }); } public List GetTanuloEvVegeCoList(int elozoTanevId, TanuloEvVegeSearchCo co) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetTanuloEvVegeList(elozoTanevId, co.ConvertToPco()); return ds.Tables[0].AsEnumerable().Select(x => new TanuloEvVegeItemCo(x)).ToList(); }); } public void SaveTanuloEvVege(int elozoTanevId, TanuloEvVegeSaveCo co) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var id = dal.GetSzirStatTanuloId(elozoTanevId, co.TanuloId, co.FelhelyId); var entity = id.HasValue ? dal.GetTanulo(id.Value) : dal.GetTanulo(); entity.TanuloId = co.TanuloId; entity.FeladatEllatasiHelyId = co.FelhelyId; entity.TanevId = elozoTanevId; entity.IsSikeresTanulmanyok = co.IsSikeresTanulmanyok; entity.IsSikeresErettsegi = false; entity.IsSikeresSzakmaiVizsga = false; entity.IsSikeresSzakmaiViszgaSzak1 = co.IsSikeresSzakmaiVizsgaSzak1; entity.IsSikeresSzakmaiViszgaSzak2 = co.IsSikeresSzakmaiVizsgaSzak2; entity.IsSikeresSzakmaiViszgaSzak3 = co.IsSikeresSzakmaiVizsgaSzak3; entity.IsSikeresAgazatiAlapvizsga = co.IsSikeresAgazatiAlapVizsga; if (id.HasValue) { dal.Update(entity); } else { dal.Insert(entity); } }); } public void SaveNemAllami(NemAllamiCo co) { Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var szirStatNemAllamiOktKoltsId = dal.GetSzirStatNemAllamiOktKoltsIdFromFeladatEllatasihelyId(co.Id); var entity = szirStatNemAllamiOktKoltsId.HasValue ? dal.GetSzirStatNemAllamiOktKolts(szirStatNemAllamiOktKoltsId.Value) : dal.GetSzirStatNemAllamiOktKolts(); entity.AAOszlop = co.AAOszlop; entity.ABOszlop = co.ABOszlop; entity.ACOszlop = co.ACOszlop; entity.ADOszlop = co.ADOszlop; entity.AEOszlop = co.AEOszlop; entity.AFOszlop = co.AFOszlop; entity.AGOszlop = co.AGOszlop; entity.AHOszlop = co.AHOszlop; entity.GOszlop = co.GOszlop; entity.HOszlop = co.HOszlop; entity.IOszlop = co.IOszlop; entity.JOszlop = co.JOszlop; entity.KOszlop = co.KOszlop; entity.LOszlop = co.LOszlop; entity.MOszlop = co.MOszlop; entity.NOszlop = co.NOszlop; entity.OOszlop = co.OOszlop; entity.POszlop = co.POszlop; entity.QOszlop = co.QOszlop; entity.ROszlop = co.ROszlop; entity.SOszlop = co.SOszlop; entity.TOszlop = co.TOszlop; entity.UOszlop = co.UOszlop; entity.VOszlop = co.VOszlop; entity.WOszlop = co.WOszlop; entity.FeladatEllatasiHelyId = co.Id; if (szirStatNemAllamiOktKoltsId.HasValue) { dal.Update(entity); } else { dal.Insert(entity); } }); } public NemAllamiCo GetNemAllamiCo(int feladatEllatasiHelyId) { var result = new NemAllamiCo(); return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var szirStatNemAllamiOktKoltsId = dal.GetSzirStatNemAllamiOktKoltsIdFromFeladatEllatasihelyId(feladatEllatasiHelyId); if (!szirStatNemAllamiOktKoltsId.HasValue) { return new NemAllamiCo() { Id = feladatEllatasiHelyId }; } var entity = dal.GetSzirStatNemAllamiOktKolts(szirStatNemAllamiOktKoltsId.Value); result.AAOszlop = entity.AAOszlop; result.ABOszlop = entity.ABOszlop; result.ACOszlop = entity.ACOszlop; result.ADOszlop = entity.ADOszlop; result.AEOszlop = entity.AEOszlop; result.AFOszlop = entity.AFOszlop; result.AGOszlop = entity.AGOszlop; result.AHOszlop = entity.AHOszlop; result.GOszlop = entity.GOszlop; result.HOszlop = entity.HOszlop; result.IOszlop = entity.IOszlop; result.JOszlop = entity.JOszlop; result.KOszlop = entity.KOszlop; result.LOszlop = entity.LOszlop; result.MOszlop = entity.MOszlop; result.NOszlop = entity.NOszlop; result.OOszlop = entity.OOszlop; result.POszlop = entity.POszlop; result.QOszlop = entity.QOszlop; result.ROszlop = entity.ROszlop; result.SOszlop = entity.SOszlop; result.TOszlop = entity.TOszlop; result.UOszlop = entity.UOszlop; result.VOszlop = entity.VOszlop; result.WOszlop = entity.WOszlop; result.Id = entity.FeladatEllatasiHelyId; return result; }); } public int Get(int feladatEllatasiHelyId) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var entity = dal.GetSzirStatNemAllamiOktKoltsIdFromFeladatEllatasihelyId(feladatEllatasiHelyId); return -1; }); } public bool SendNemAllamiVeglegesites(ISzirApiClient client, string intezmenyAzonosito, int tanevSorszam) { var data = Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.SZIRAdatszolgDAL(); var ds = dal.GetNemAllamiData(TanevId); return ds; }); var felhelyData = new List(); foreach(DataRow row in data.Tables[0].Rows) { var felhelyDetails = new FeladatEllatasiHelyRequest() { FeladatellatasiHelyId = SDAConvert.ToInt32(row["Id"]), AllamiTamogatasOsszesen = (float)SDAConvert.ToDouble(row["AAOszlop"]), AllamiTamogatasEtkezesiDij = (float)SDAConvert.ToDouble(row["ABOszlop"]), BefizetettOsszesen = (float)SDAConvert.ToDouble(row["ACOszlop"]), BefizetettTeritesiDij = (float)SDAConvert.ToDouble(row["ADOszlop"]), BefizetettTeritesiErtkezesiDij = (float)SDAConvert.ToDouble(row["AEOszlop"]), BefizetettTandij = (float)SDAConvert.ToDouble(row["AFOszlop"]), BefizetettEgyeb = (float)SDAConvert.ToDouble(row["AGOszlop"]), FenntartoiHozzajarulas = (float)SDAConvert.ToDouble(row["AHOszlop"]), SajatBevetelek = (float)SDAConvert.ToDouble(row["GOszlop"]), SzemelyiJelleguBerkoltseg = (float)SDAConvert.ToDouble(row["HOszlop"]), SzemelyiJelleguBerkoltsegPedOktato = (float)SDAConvert.ToDouble(row["IOszlop"]), SzemelyiJelleguBerkoltsegNoks = (float)SDAConvert.ToDouble(row["JOszlop"]), SzemelyiJelleguBerkoltsegEgyeb = (float)SDAConvert.ToDouble(row["KOszlop"]), SzemelyiJelleguJarulek = (float)SDAConvert.ToDouble(row["LOszlop"]), SzemelyiJelleguJarulekPedOktato = (float)SDAConvert.ToDouble(row["MOszlop"]), SzemelyiJelleguJarulekNoks = (float)SDAConvert.ToDouble(row["NOszlop"]), SzemelyiJelleguJarulekEgyeb = (float)SDAConvert.ToDouble(row["OOszlop"]), SzemelyiJelleguSzemelyiEgyebKifizetes = (float)SDAConvert.ToDouble(row["POszlop"]), SzemelyiJelleguSzemelyiEgyebKifizetesPedOktato = (float)SDAConvert.ToDouble(row["QOszlop"]), SzemelyiJelleguEgyebKifizetes = (float)SDAConvert.ToDouble(row["ROszlop"]), OraadoKifizetesek = (float)SDAConvert.ToDouble(row["SOszlop"]), DologiKifizetesek = (float)SDAConvert.ToDouble(row["TOszlop"]), FejlesztesiKifizetesek = (float)SDAConvert.ToDouble(row["UOszlop"]), FelujitasiKiadasok = (float)SDAConvert.ToDouble(row["VOszlop"]), BeruhazasiKiadasok = (float)SDAConvert.ToDouble(row["WOszlop"]) }; felhelyData.Add(felhelyDetails); } var model = new AdatszolgRequest() { IntezmenyAzonosito = intezmenyAzonosito, TanevId = tanevSorszam, StatuszAllapot = (int)NemAllamiStatuszEnum.AdatszolgaltatasVeglegesitve, FeladatEllatasiHelyek = felhelyData }; var _ = client.SendAdatszolg(model); return true; } public bool SendNemAllamiBekuldes(ISzirApiClient client, string intezmenyAzonosito, int tanevSorszam, NemAllamiCo co) { var felhelyData = new List(); var felhelyDetails = new FeladatEllatasiHelyRequest() { FeladatellatasiHelyId = co.Id, AllamiTamogatasOsszesen = (float)co.AAOszlop, AllamiTamogatasEtkezesiDij = (float)co.ABOszlop, BefizetettOsszesen = (float)co.ACOszlop, BefizetettTeritesiDij = (float)co.ADOszlop, BefizetettTeritesiErtkezesiDij = (float)co.AEOszlop, BefizetettTandij = (float)co.AFOszlop, BefizetettEgyeb = (float)co.AGOszlop, FenntartoiHozzajarulas = (float)co.AHOszlop, SajatBevetelek = (float)co.GOszlop, SzemelyiJelleguBerkoltseg = (float)co.HOszlop, SzemelyiJelleguBerkoltsegPedOktato = (float)co.IOszlop, SzemelyiJelleguBerkoltsegNoks = (float)co.JOszlop, SzemelyiJelleguBerkoltsegEgyeb = (float)co.KOszlop, SzemelyiJelleguJarulek = (float)co.LOszlop, SzemelyiJelleguJarulekPedOktato = (float)co.MOszlop, SzemelyiJelleguJarulekNoks = (float)co.NOszlop, SzemelyiJelleguJarulekEgyeb = (float)co.OOszlop, SzemelyiJelleguSzemelyiEgyebKifizetes = (float)co.POszlop, SzemelyiJelleguSzemelyiEgyebKifizetesPedOktato = (float)co.QOszlop, SzemelyiJelleguEgyebKifizetes = (float)co.ROszlop, OraadoKifizetesek = (float)co.SOszlop, DologiKifizetesek = (float)co.TOszlop, FejlesztesiKifizetesek = (float)co.UOszlop, FelujitasiKiadasok = (float)co.VOszlop, BeruhazasiKiadasok = (float)co.WOszlop }; felhelyData.Add(felhelyDetails); var model = new AdatszolgRequest() { IntezmenyAzonosito = intezmenyAzonosito, TanevId = tanevSorszam, StatuszAllapot = (int)NemAllamiStatuszEnum.AdatszolgaltatasBekuldve, FeladatEllatasiHelyek = felhelyData }; var _ = client.SendAdatszolg(model); return true; } public bool IsNemAllamiJogosult(ISzirApiClient client, int tanevSorszam, string intezmenyAzonosito) { var statuszRequest = new StatuszRequest() { TanevId = tanevSorszam, IntezmenyAzonosito = intezmenyAzonosito }; var statuszAdat = client.GetStatusz(statuszRequest).Adat; var isJogosult = true; foreach (var statusz in statuszAdat) { isJogosult = !statusz.Zarolt; } return isJogosult; } public bool IsSzirStatAdatszolgBekuldeseDisabled(ISzirApiClient client, int tanevSorszam, string intezmenyAzonosito) { var statuszRequest = new StatuszRequest() { TanevId = tanevSorszam, IntezmenyAzonosito = intezmenyAzonosito }; var statuszAdat = client.GetStatusz(statuszRequest).Adat; var result = true; foreach (var statusz in statuszAdat) { result = statusz.Zarolt; } return result; } public bool IsVezetoAlkalmazott(int felhasznaloId) { var ds = new AlkalmazottHelper(ConnectionType).GetAlkalmazottNeveEsEmailCime(null, Constants.SzirStatVezetoiOraszamokTipusIdList, felhasznaloId); return ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0; } } }