using System; using System.Collections.Generic; using System.Data; using System.Linq; using Kreta.BusinessLogic.HelperClasses; using Kreta.Core.ConnectionType; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Interfaces; using Kreta.DataAccessManual.Util; using Kreta.Enums; using Kreta.Resources; namespace Kreta.BusinessLogic.Helpers { public class BeszerzesiModulHelper : LogicBase { public BeszerzesiModulHelper(IConnectionType connectionType) : base(connectionType) { } public DataSet BeszerzesiIgenyKereses(BeszerzesiIgenySearchCo co) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); return dal.BeszerzesiIgenyKereses(co.ConvertCoToPco()); }); } public DataSet BeszerzesiIgenyDokList(int igenylesId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); return dal.BeszerzesiIgenyDokList(igenylesId, TanevId); }); } public DataSet BeszerzesiIgenyMegjegyzesList(int igenylesId) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); return dal.BeszerzesiIgenyMegjegyzesList(igenylesId, TanevId); }); } public BeszerzesiIgenyCo BeszerzesiIgenyAdatok(int igenylesId) { return Dal.CustomConnection.Run(ConnectionType, h => { var grDal = h.BeszerzesiModul(); var dto = grDal.GetBeszerzesiIgeny(igenylesId); return ConvertDtoToCo(dto); }); } public Dictionary GetAnyagokTorzs(string filterString) { return Dal.CustomConnection.Run(ConnectionType, h => { var result = new Dictionary() { {string.Empty, CommonResource.KeremValasszon } }; var grDal = h.BeszerzesiModul(); DataSet ds = grDal.GetAnyagTorzsList(filterString); if (ds == null) { result[string.Empty] = CommonResource.TulSokRekord; } else { foreach (DataRow row in ds.Tables[0].Rows) { result.Add( row.Field("ID").ToString(), row.Field("Nev") ); } } return result; }); } public BeszerzesiIgenyCo GetAnyagTorzsAdat(int torzsId) { return Dal.CustomConnection.Run(ConnectionType, h => { var grDal = h.BeszerzesiModul(); return ConvertAnyagTorzsToCo(grDal.GetAnyagtorzsAdat(torzsId)); }); } public Dictionary GetSzallitokTorzs(string filterString) { return Dal.CustomConnection.Run(ConnectionType, h => { var result = new Dictionary() { {string.Empty, CommonResource.KeremValasszon } }; var grDal = h.BeszerzesiModul(); DataSet ds = grDal.GetSzallitoTorzsList(filterString); if (ds == null) { result[string.Empty] = CommonResource.TulSokRekord; } else { foreach (DataRow row in ds.Tables[0].Rows) { result.Add( row.Field("ID").ToString(), row.Field("Nev") ); } } return result; }); } public BeszerzesiIgenyCo GetSzallitoTorzsAdat(int torzsId) { return Dal.CustomConnection.Run(ConnectionType, h => { var grDal = h.BeszerzesiModul(); return ConvertSzallitoTorzsToCo(grDal.GetSzallitoTorzsAdat(torzsId)); }); } //TODO: private BeszerzesiIgenyCo ConvertDtoToCo(IBeszerzesiIgeny dto) { var anyag = dto.BeszerzesiAnyag.FirstOrDefault(); var szallito = dto.BeszerzesiSzallito.FirstOrDefault(); var megjegyzes = dto.BeszerzesiIgenyMegjegyzes.FirstOrDefault(); var result = new BeszerzesiIgenyCo() { BeszerzesiIgenyId = dto.ID, RogzitoId = dto.RogzitoId, AnyagId = anyag.ID, AnyagMegnevezes = anyag.Nev, AnyagSAPKod = anyag.SAPKod, //ERAAzonosito = anyag., AnyagMennyisegiEgysegId = anyag.MennyisegiEgysegId, AnyagRovidLeiras = anyag.Leiras, AnyagTetelMegnevezes = anyag.TetelNev, //AnyagTetelEgysegar = int.Parse(anyag.Egysegar), //AnyagTetelMennyiseg = anyag., //AnyagTetelMennyisegiEgysegId = anyag, IsPalyazat = dto.IsPalyazat, PalyazatAzonosito = dto.PalyazatAzonosito, IsBVOP = dto.BVOP, IsKEF = dto.KEF, //IsNKOH = dto., }; if (szallito != null) { result.SzallitoId = szallito.ID; //result.FizetesiMod = szallito., result.SzallitoSAPKod = szallito.SAPKod; result.SzallitoNev = szallito.Nev; result.Iranyitoszam = szallito.IrSzam; result.HelysegNev = szallito.HelysegNev; result.KozteruletNev = szallito.KozteruletNev; result.KozteruletJellegeId = szallito.KozteruletJellegId; result.Hazszam = szallito.Hazszam; result.Emelet = szallito.Emelet; result.Ajto = szallito.Ajto; result.Adoszam = szallito.Adoszam; result.KepviseloNev = szallito.KepviseloNev; result.EmailCim = szallito.EmailCim; result.Telefonszam = szallito.Telefonszam; } if (megjegyzes != null) { result.Megjegyzes = megjegyzes.Megjegyzes; } return result; } private BeszerzesiIgenyCo ConvertAnyagTorzsToCo(IBeszerzesiAnyagtorzs data) { return new BeszerzesiIgenyCo() { //TODO: AnyagId = data.ID, AnyagMegnevezes = data.Nev, AnyagSAPKod = data.SAPKod, //ERAAzonosito = data.ERAAzonosito, AnyagMennyisegiEgysegId = data.MennyisegiEgysegId, AnyagRovidLeiras = data.Leiras, AnyagTetelMegnevezes = data.TetelNev, //AnyagTetelEgysegar = data.Egysegar, //AnyagTetelMennyiseg = //AnyagTetelMennyisegiEgysegId = }; } private BeszerzesiIgenyCo ConvertSzallitoTorzsToCo(IBeszerzesiSzallito/*torzs*/ data) { return new BeszerzesiIgenyCo() { SzallitoId = data.ID, SzallitoNev = data.Nev, SzallitoSAPKod = data.SAPKod, Iranyitoszam = data.IrSzam, HelysegNev = data.HelysegNev, KozteruletNev = data.KozteruletNev, KozteruletJellegeId = data.KozteruletJellegId, Hazszam = data.Hazszam, Emelet = data.Emelet, Ajto = data.Ajto, Adoszam = data.Adoszam, KepviseloNev = data.KepviseloNev, EmailCim = data.EmailCim, Telefonszam = data.Telefonszam, FizetesiMod = 1 //TODO }; } public bool IsLeader(int alkalmazottId) { return Dal.CustomConnection.Run(ConnectionType, h => { var leaderTypes = new List() { ((int)VezetoiOraszamokTipusEnum.Intezmenyvezeto).ToString(), ((int)VezetoiOraszamokTipusEnum.IntezmenyvezetoHelyettes).ToString() }; var dal = h.BeszerzesiModul(); var result = dal.IsLeader(alkalmazottId, TanevId); return leaderTypes.Any(x => x == result); }); } public void SaveBeszerzesiIgeny(BeszerzesiIgenyCo co) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(co.BeszerzesiIgenyId); beszerzesiIgenyEntity.BVOP = co.IsBVOP; beszerzesiIgenyEntity.IsPalyazat = co.IsPalyazat; beszerzesiIgenyEntity.KEF = co.IsKEF; beszerzesiIgenyEntity.PalyazatAzonosito = co.PalyazatAzonosito; beszerzesiIgenyEntity.StatuszId = IsLeader(FelhasznaloId) ? (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyJovahagyva : (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyFuggo; beszerzesiIgenyEntity.RogzitoId = FelhasznaloId; var igenyId = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity); var beszerzesiAnyagEntity = dal.GetBeszerzesiAnyag(beszerzesiIgenyEntity.BeszerzesiAnyag.FirstOrDefault()?.ID); //beszerzesiAnyagEntity.Egysegar = co.AnyagTetelEgysegar.ToString(); //!!! beszerzesiAnyagEntity.Leiras = co.AnyagRovidLeiras; beszerzesiAnyagEntity.MennyisegiEgysegId = co.AnyagMennyisegiEgysegId; beszerzesiAnyagEntity.SAPKod = co.AnyagSAPKod; beszerzesiAnyagEntity.TetelNev = co.AnyagTetelMegnevezes; beszerzesiAnyagEntity.BeszerzesiIgenyId = igenyId; var anyagId = dal.InsertOrUpdateBeszerzesiAnyag(beszerzesiAnyagEntity); var beszerzesiSzallitoEntity = dal.GetBeszerzesiSzallito(beszerzesiIgenyEntity.BeszerzesiSzallito.FirstOrDefault()?.ID); beszerzesiSzallitoEntity.Adoszam = co.Adoszam; beszerzesiSzallitoEntity.Ajto = co.Ajto; beszerzesiSzallitoEntity.Emelet = co.Emelet; beszerzesiSzallitoEntity.EmailCim = co.EmailCim; beszerzesiSzallitoEntity.Hazszam = co.Hazszam; beszerzesiSzallitoEntity.HelysegNev = co.HelysegNev; beszerzesiSzallitoEntity.IrSzam = co.Iranyitoszam; beszerzesiSzallitoEntity.KepviseloNev = co.KepviseloNev; beszerzesiSzallitoEntity.KozteruletJellegId = co.KozteruletJellegeId; beszerzesiSzallitoEntity.Nev = co.SzallitoNev; beszerzesiSzallitoEntity.SAPKod = co.SzallitoSAPKod; beszerzesiSzallitoEntity.Telefonszam = co.Telefonszam; beszerzesiSzallitoEntity.BeszerzesiIgenyId = igenyId; var szallitoId = dal.InsertOrUpdateBeszerzesiSzallito(beszerzesiSzallitoEntity); if (!string.IsNullOrWhiteSpace(co.Megjegyzes)) { var beszerzesiMegjegyzesEntity = dal.GetBeszerzesiIgenyMegjegyzes(); beszerzesiMegjegyzesEntity.Megjegyzes = co.Megjegyzes; beszerzesiMegjegyzesEntity.RogzitesDatum = DateTime.Today; beszerzesiMegjegyzesEntity.RogzitoId = FelhasznaloId; beszerzesiMegjegyzesEntity.BeszerzesiIgenyId = igenyId; var megjegyzesId = dal.InsertOrUpdateBeszerzesiIgenyMegjegyzes(beszerzesiMegjegyzesEntity); } }); } private void EmailKuldes(string messege, string subject, string emailCim, Guid? emailGuid, IDalHandler h) => new UzenetekHelper(new DalHandlerConnectionType(ConnectionType, h)).EmailKuldes(messege, subject, emailCim, emailGuid); public void BeszerzesiIgenyElfogadas(int igenyId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId); beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyJovahagyva; var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity); var messege = string.Empty; //!!! var subject = string.Empty; //!!! EmailKuldes(messege, subject, string.Empty, null, h); }); } public void BeszerzesiIgenyHianyPotlas(int igenyId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId); beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyVisszaHp; var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity); var messege = string.Empty; //!!! var subject = string.Empty; //!!! EmailKuldes(messege, subject, string.Empty, null, h); }); } public void BeszerzesiIgenyElutasitas(int igenyId) { Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.BeszerzesiModul(); var beszerzesiIgenyEntity = dal.GetBeszerzesiIgeny(igenyId); beszerzesiIgenyEntity.StatuszId = (int)BeszerzesiIgenySatuszEnum.BeszerzesiIgenyElutasitva; var save = dal.InsertOrUpdateBeszerzesiIgeny(beszerzesiIgenyEntity); var messege = string.Empty; //!!! var subject = string.Empty; //!!! EmailKuldes(messege, subject, string.Empty, null, h); }); } } }