using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.Exceptions; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Logic; using Kreta.BusinessLogic.Utils; using Kreta.Core; using Kreta.Core.ConnectionType; using Kreta.Core.Exceptions; using Kreta.Core.FileService; using Kreta.DataAccess.Interfaces; using Kreta.DataAccessManual; using Kreta.DataAccessManual.Interfaces; using Kreta.Enums.ManualEnums; using Kreta.Framework.Entities; using Kreta.Framework.Util; using Kreta.Resources; using OfficeOpenXml; namespace Kreta.BusinessLogic.Helpers { public class TeremHelper : LogicBase { public TeremHelper(IConnectionType connectionType) : base(connectionType) { } public string GetTeremNev(int id) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); var entity = dal.Get(id); return entity.Nev; }); } public int? GetTeremKapacitasById(int id) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); var entity = dal.Get(id); return entity.Kapacitas; }); } public IDictionary GetTermekForDropDown(bool IsFromSzervezet = false) { var result = Dal.CustomConnection.Run(ConnectionType, h => LogicUtil.CreateDropdownContent(h.Terem().GetTeremIdWithName(IsFromSzervezet, TanevId), "ID", "Nev")); return result; } public DataSet GetOsztalytermek(bool IsFromSzervezet = false) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); return dal.GetTeremIdWithName(IsFromSzervezet, TanevId); }); } public DataSet GetOsztalytermek(int? SzervezetId, bool IsFromSzervezet = false) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); return dal.GetTeremDataSet(IntezmenyId, TanevId, IsFromSzervezet, SzervezetId); }); } public TeremCO GetTeremCo(int id) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); var teremEntity = dal.Get(id); return TeremCO.EntityToCo(teremEntity); }); } public int InsertTerem(TeremCO teremCo) { return Dal.CustomConnection.Run(ConnectionType, h => { var teremDal = h.Terem(); var teremEntity = TeremCO.CoToTeremEntity(teremDal.Get(), teremCo); teremEntity.TanevId = TanevId; teremEntity.EgyediAzonosito = Guid.NewGuid(); teremDal.Insert(teremEntity); if (teremCo.Berbeadhato) { var kepId = InsertFeltoltottFajl(h, teremCo.KepNev, teremCo.KepUtvonal, teremCo.KepKiterjesztes); InsertTeremFeltoltottFajl(h, teremEntity.ID, kepId, false); var dokumentumId = InsertFeltoltottFajl(h, teremCo.DokumentumNev, teremCo.DokumentumUtvonal, teremCo.DokumentumKiterjesztes); InsertTeremFeltoltottFajl(h, teremEntity.ID, dokumentumId, true); } return teremEntity.ID; }); } private int InsertFeltoltottFajl(IDalHandler dalHandler, string fajlNev, string fajlUtvonal, string fajlKiterjesztes) { var feltoltottFajlDAL = dalHandler.FeltoltottFajlDAL(); var feltoltottFajlEntity = feltoltottFajlDAL.Get(); feltoltottFajlEntity.Nev = fajlNev; feltoltottFajlEntity.Kiterjesztes = fajlKiterjesztes; feltoltottFajlEntity.Utvonal = fajlUtvonal; feltoltottFajlEntity.FeltoltesDatuma = DateTime.Now; feltoltottFajlDAL.Insert(feltoltottFajlEntity); return feltoltottFajlEntity.ID; } private void InsertTeremFeltoltottFajl(IDalHandler dalHandler, int teremId, int fajlId, bool isDokumentum) { var teremFeltoltottFajlDal = dalHandler.TeremFeltoltottFajlDal(); var teremFeltoltottFajlEntity = teremFeltoltottFajlDal.Get(); teremFeltoltottFajlEntity.TeremId = teremId; teremFeltoltottFajlEntity.IsDokumentum = isDokumentum; teremFeltoltottFajlEntity.FeltoltottFajlId = fajlId; teremFeltoltottFajlDal.Insert(teremFeltoltottFajlEntity); } public void InsertTeremElerhetoseg(TeremBerbeadasIdopontokCO teremBerbeadasIdopontokCoList, int teremId) { Dal.CustomConnection.Run(ConnectionType, h => { var teremElerhetosegDal = h.TeremElerhetoseg(); var teremelerhetosegEntity = TeremCO.CoToTeremElerhetosegEntity(teremElerhetosegDal.Get(), teremBerbeadasIdopontokCoList, teremId); teremelerhetosegEntity.TanevId = TanevId; teremElerhetosegDal.Insert(teremelerhetosegEntity); }); } public List SaveTeremFiles(IFileService fileService, IEnumerable contentArray) { var filePaths = new List(); for (var i = 0; i < contentArray.Count(); i++) { filePaths.Add(fileService.WriteToFile(contentArray.ElementAt(i), Constants.FileServiceStorageName.Default)); } return filePaths; } public void UpdateTerem(TeremCO teremCo) { Dal.CustomConnection.Run(ConnectionType, h => { var teremDal = h.Terem(); var teremEntity = teremDal.Get(teremCo.TeremId.Value); teremEntity = TeremCO.CoToTeremEntity(teremEntity, teremCo); teremEntity.TanevId = TanevId; if (teremCo.Berbeadhato) { if (!string.IsNullOrWhiteSpace(teremCo.KepUtvonal)) { var kepId = teremEntity.FeltoltottFajl.Where(item => item.TeremId == teremCo.TeremId.Value && !item.IsDokumentum).Select(item => item.FeltoltottFajlId).FirstOrDefault(); if (kepId > 0) { UpdateFeltoltottFajl(h, kepId, teremCo.KepNev, teremCo.KepUtvonal, teremCo.KepKiterjesztes); } else { kepId = InsertFeltoltottFajl(h, teremCo.KepNev, teremCo.KepUtvonal, teremCo.KepKiterjesztes); InsertTeremFeltoltottFajl(h, teremEntity.ID, kepId, false); } } if (!string.IsNullOrWhiteSpace(teremCo.DokumentumUtvonal)) { var dokumentumId = teremEntity.FeltoltottFajl.Where(item => item.TeremId == teremCo.TeremId.Value && item.IsDokumentum).Select(item => item.FeltoltottFajlId).FirstOrDefault(); if (dokumentumId > 0) { UpdateFeltoltottFajl(h, dokumentumId, teremCo.DokumentumNev, teremCo.DokumentumUtvonal, teremCo.DokumentumKiterjesztes); } else { dokumentumId = InsertFeltoltottFajl(h, teremCo.DokumentumNev, teremCo.DokumentumUtvonal, teremCo.DokumentumKiterjesztes); InsertTeremFeltoltottFajl(h, teremEntity.ID, dokumentumId, true); } } } teremDal.FullUpdate(teremEntity); }); } private int UpdateFeltoltottFajl(IDalHandler dalHandler, int fajlId, string fajlNev, string fajlUtvonal, string fajlKiterjesztes) { var feltoltottFajlDAL = dalHandler.FeltoltottFajlDAL(); var feltoltottFajlEntity = feltoltottFajlDAL.Get(fajlId); feltoltottFajlEntity.Nev = fajlNev; feltoltottFajlEntity.Kiterjesztes = fajlKiterjesztes; feltoltottFajlEntity.Utvonal = fajlUtvonal; feltoltottFajlEntity.FeltoltesDatuma = DateTime.Now; feltoltottFajlDAL.Update(feltoltottFajlEntity); return feltoltottFajlEntity.ID; } public void UpdateTeremElerhetoseg(TeremBerbeadasIdopontokCO teremBerbeadasIdopontokCo) { Dal.CustomConnection.Run(ConnectionType, h => { var teremElerhetosegDal = h.TeremElerhetoseg(); var teremElerhetosegEntity = TeremCO.CoToTeremElerhetosegEntity(teremElerhetosegDal.Get(teremBerbeadasIdopontokCo.TeremElerhetosegId.Value), teremBerbeadasIdopontokCo); teremElerhetosegEntity.TanevId = TanevId; teremElerhetosegDal.FullUpdate(teremElerhetosegEntity); }); } public void DeleteTerem(int id) { Dal.CustomConnection.Run(ConnectionType, h => { var teremDal = h.Terem(); var teremEntity = teremDal.Get(id); var nemToroltEszkozok = teremEntity.Eszkoz.Where(x => x.Torolt == false).ToDictionary(x => x.ID, x => x.Nev); if (nemToroltEszkozok.Any()) { throw new CannotBeDeletedException(string.Format(ErrorResource.NemTorolhetoMertAzAlabbiEszkozokHozzaVannakRendelve, teremEntity.Nev, string.Join(", ", nemToroltEszkozok.Values))); } DeleteTeremElerhetosegek(h, teremEntity.TeremElerhetoseg); DeleteFajlok(h, teremEntity.FeltoltottFajl); teremDal.Delete(teremEntity); }); } private void DeleteTeremElerhetosegek(IDalHandler dalHandler, IReadOnlyList teremElerhetosegEntities) { var teremElerhetosegDal = dalHandler.TeremElerhetoseg(); for (var i = 0; i < teremElerhetosegEntities.Count(x => !x.Torolt); i++) { teremElerhetosegDal.Delete(teremElerhetosegEntities[i].ID); } } private void DeleteFajlok(IDalHandler dalHandler, IReadOnlyList teremFeltoltottFajlEntities) { var teremElerhetosegDal = dalHandler.TeremFeltoltottFajlDal(); var feltoltottFajlDAL = dalHandler.FeltoltottFajlDAL(); for (var i = 0; i < teremFeltoltottFajlEntities.Count(x => !x.Torolt); i++) { teremElerhetosegDal.Delete(teremFeltoltottFajlEntities[i].ID); feltoltottFajlDAL.Delete(teremFeltoltottFajlEntities[i].FeltoltottFajlId); } } public DataSet TeremKapacitasTullepesVizsgalat(string teremIdArrayString, int? tervezettKapacitas) { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); return dal.TeremKapacitasTullepesVizsgalat(teremIdArrayString, tervezettKapacitas); }); } public void TeremTobbesModify(TeremTobbesModCO teremTobbesModCo) { Dal.CustomConnection.Run(ConnectionType, h => { if (!teremTobbesModCo.ID.HasValue) { throw new BlException(IntezmenyResource.NemLetezoTerem); } var teremDal = h.Terem(); var terem = teremDal.Get(teremTobbesModCo.ID.Value); if (teremTobbesModCo.Jelleg.HasValue) { terem.Jelleg = teremTobbesModCo.Jelleg.Value; } if (teremTobbesModCo.Terulet.HasValue) { terem.Terulet = teremTobbesModCo.Terulet.Value; } if (teremTobbesModCo.Kapacitas.HasValue) { terem.Kapacitas = teremTobbesModCo.Kapacitas.Value; } if (teremTobbesModCo.Vizsgakapacitas.HasValue) { terem.VizsgaKapacitas = teremTobbesModCo.Vizsgakapacitas.Value; } if (teremTobbesModCo.MukodesiHelyID.HasValue) { terem.MukodesiHelyId = teremTobbesModCo.MukodesiHelyID.Value; } if (teremTobbesModCo.Aktiv.HasValue) { terem.Aktiv = teremTobbesModCo.Aktiv.ToBool(); } if (teremTobbesModCo.TeremFelelosID.HasValue) { terem.TeremFelelosId = teremTobbesModCo.TeremFelelosID.Value; } if (teremTobbesModCo.TobbOratLehetTartani.HasValue) { terem.TobbOratLehetTartani = teremTobbesModCo.TobbOratLehetTartani.ToBool(); } if (teremTobbesModCo.WifiLefedett.HasValue) { terem.WiFiLefedett = teremTobbesModCo.WifiLefedett.ToBool(); } if (teremTobbesModCo.IsInternetkapcsolatElerheto.HasValue) { terem.IsInternetKapcsolatElerheto = teremTobbesModCo.IsInternetkapcsolatElerheto.ToBool(); } if (teremTobbesModCo.TanulokSzamaraHozzaferhInternetesgep.HasValue) { terem.TanulokSzamaraHozzaferhInternetesGep = teremTobbesModCo.TanulokSzamaraHozzaferhInternetesgep; } if (teremTobbesModCo.PedagogusHozzaferhInternetesgep.HasValue) { terem.PedagogusHozzaferhInternetesGep = teremTobbesModCo.PedagogusHozzaferhInternetesgep; } if (teremTobbesModCo.OktCelraHasznaltSzamitogepekSzama.HasValue) { terem.OktCelraHasznaltSzamitogepekSzama = teremTobbesModCo.OktCelraHasznaltSzamitogepekSzama; } if (teremTobbesModCo.IsInterakttablavalMunkaallomassalFelszerelt.HasValue) { terem.IsInteraktTablavalMunkaAllomassalFelszerelt = teremTobbesModCo.IsInterakttablavalMunkaallomassalFelszerelt.ToBool(); } if (teremTobbesModCo.SzervezetId.HasValue) { terem.SzervezetId = teremTobbesModCo.SzervezetId.Value; } teremDal.FullUpdate(terem); }); } public string ValidateTeremBefogadokepesseg(int? tervezettKapacitas, string teremIdArrayString) { var kapacitastTullepettTermekFigyelmeztetoUzenet = new StringBuilder(); const int hibaUzenetMaximalisSorokSzama = 5; var kapacitastTullepettTermekLista = TeremKapacitasTullepesVizsgalat(teremIdArrayString, tervezettKapacitas).Tables[0]; for (var i = 0; i < hibaUzenetMaximalisSorokSzama && i < kapacitastTullepettTermekLista.Rows.Count; i++) { if (i == 0) { kapacitastTullepettTermekFigyelmeztetoUzenet.Append(IntezmenyResource.AModositandoTeremBefogadokepessegeGondotOkozhatAzOttTartandoOrakOsztalyCsoportLetszamaMiattSzeretneFolytatni); } kapacitastTullepettTermekFigyelmeztetoUzenet.AppendFormat(IntezmenyResource.Tanar0OsztalyCsoport1Targy2, kapacitastTullepettTermekLista.Rows[i].Field("tanarNev"), kapacitastTullepettTermekLista.Rows[i].Field("ocsopNev"), kapacitastTullepettTermekLista.Rows[i].Field("TargyNev"), kapacitastTullepettTermekLista.Rows[i].Field("teremNev")); } var tovabbiKapacitastTullepettTermekSzama = kapacitastTullepettTermekLista.Rows.Count - hibaUzenetMaximalisSorokSzama; if (tovabbiKapacitastTullepettTermekSzama > 0) { kapacitastTullepettTermekFigyelmeztetoUzenet.AppendFormat(IntezmenyResource.EsTovabbi0ErintettEsetben, tovabbiKapacitastTullepettTermekSzama); } return kapacitastTullepettTermekFigyelmeztetoUzenet.ToString(); } #region Export helpers public MemoryStream GetTermekAdataiExcelExport(TeremSearchCO co, bool isSelectedTanev21_22OrLater) { return Dal.CustomConnection.Run(ConnectionType, (h) => { var dal = h.Terem(); var dataSet = dal.GetTermekAdataiExcelExport(TanevId, TeremSearchCO.ConvertCOToPCO(co, isSelectedTanev21_22OrLater)); var dataTable = dataSet.Tables[0]; ExportLogic.TryCreateHeaderIfNotExist(dataTable); var stream = new MemoryStream(); using (var excel = new ExcelPackage(stream)) { var workSheet = excel.Workbook.Worksheets.Add(IntezmenyResource.TermekAdatai); workSheet.Cells[1, 1].LoadFromDataTable(dataTable, true); ExportLogic.SetHeaderStyles(workSheet.Cells[1, 1, 1, dataTable.Columns.Count]); workSheet.Cells.AutoFitColumns(); excel.Save(); } stream.Position = 0; return stream; }); } #endregion public DataSet GetTeremBerbeadasIdopontjai(int teremId) { return Dal.CustomConnection.Run(ConnectionType, h => h.TeremElerhetoseg().GetTeremBerbeadasIdopontjai(IntezmenyId, TanevId, teremId)); } public DataSet GetBerbeadhatoTermekMukodesiHelyeinekVarosai() { return Dal.CustomConnection.Run(ConnectionType, h => { var dal = h.Terem(); return dal.GetBerbeadhatoTermekMukodesiHelyeinekVarosai(TanevId); }); } public List GetTeremCoList(TeremSearchCO co = null, bool isAdmin = false, int? felhasznaloSzervezetId = null, bool isImportValidation = false) { var isFromSzervezet = co?.IsFromSzervezet ?? false; var result = Dal.CustomConnection.Run(ConnectionType, h => { var dataSet = h.Terem(GridParameters).GetTeremDataSet(IntezmenyId, TanevId, isFromSzervezet, co?.SzervezetId); List coList; if (isFromSzervezet) { var szervezetIds = !felhasznaloSzervezetId.IsEntityId() ? new List() : h.SzervezetDal().GetLathatoSzervezetek(IntezmenyId, TanevId, felhasznaloSzervezetId, (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek); var intezmenyiAdminIds = felhasznaloSzervezetId.IsEntityId() ? new List() : h.Felhasznalo().GetAllIntezmenyiAdmin(TanevId); coList = dataSet.Tables[0].AsEnumerable().Select(dataRow => { var szervezetId = dataRow.Field("SzervezetId"); var isSzerkesztheto = (felhasznaloSzervezetId.IsEntityId() && szervezetId.IsEntityId() && szervezetIds.Contains(szervezetId.Value)) || (!felhasznaloSzervezetId.IsEntityId() && intezmenyiAdminIds.Contains(FelhasznaloId) && intezmenyiAdminIds.Contains(dataRow.Field("RogzitoId") ?? FelhasznaloId)); return new TeremItemCo(dataRow, isSzerkesztheto); }).ToList(); } else { if (isImportValidation) { coList = dataSet.Tables[0].AsEnumerable().Select(x => new TeremItemCo(x, true)).ToList(); } else { coList = dataSet.Tables[0].AsEnumerable().Where(x => !x.Field("SzervezetId").HasValue).Select(x => new TeremItemCo(x, true)).ToList(); } } if (co != null) { coList = FilterTeremItemCoList(coList, co, isAdmin); } return coList; }); return result; } public List GetTeremCoListBySzervezet(int? szervezetTipus = null, int? szervezetId = null) { var isFromSzervezet = szervezetId.IsEntityId() ? true : false; var result = Dal.CustomConnection.Run(ConnectionType, h => { var dataSet = h.Terem(GridParameters).GetTeremDataSet(IntezmenyId, TanevId, isFromSzervezet, szervezetId); List coList; if (isFromSzervezet) { var szervezetIds = !szervezetId.IsEntityId() ? new List() : h.SzervezetDal().GetLathatoSzervezetek(IntezmenyId, TanevId, szervezetId, (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek); var intezmenyiAdminIds = szervezetId.IsEntityId() ? new List() : h.Felhasznalo().GetAllIntezmenyiAdmin(TanevId); coList = dataSet.Tables[0].AsEnumerable().Select(dataRow => { var actSzervezetId = dataRow.Field("SzervezetId"); var isSzerkesztheto = (szervezetId.IsEntityId() && actSzervezetId.IsEntityId() && szervezetIds.Contains(actSzervezetId.Value)) || (!szervezetId.IsEntityId() && intezmenyiAdminIds.Contains(FelhasznaloId) && intezmenyiAdminIds.Contains(dataRow.Field("RogzitoId") ?? FelhasznaloId)); return new TeremItemCo(dataRow, isSzerkesztheto); }).ToList(); } else { coList = dataSet.Tables[0].AsEnumerable().Select(x => new TeremItemCo(x, true)).ToList(); coList = coList.Where(x => x.SzervezetId.Equals(null)).ToList(); } return coList; }); return result; } public List GetTeremKapcsolodoOraTipusok(int? teremId) { return Dal.CustomConnection.Run(ConnectionType, h => { var kapcsolodoOrak = new List(); if (teremId.HasValue) { var terem = h.Terem().Get(teremId.Value); if (terem.Fogadoora.Any(x => !x.Torolt)) { kapcsolodoOrak.Add(CalendarOraTypeEnum.Fogadoora.GetDisplayName(TanevId).ToLower()); } if (terem.OrarendiOra.Any(x => !x.Torolt)) { kapcsolodoOrak.Add(CalendarOraTypeEnum.OrarendiOra.GetDisplayName(TanevId).ToLower()); } if (terem.TanitasiOra.Any(x => !x.Torolt)) { kapcsolodoOrak.Add(CalendarOraTypeEnum.TanitasiOra.GetDisplayName(TanevId).ToLower()); } } return kapcsolodoOrak; }); } private List FilterTeremItemCoList(List coList, TeremSearchCO searchCo, bool isAdmin) { if (searchCo == null) { return coList; } IEnumerable result = coList; if (!string.IsNullOrWhiteSpace(searchCo.TeremNev)) { result = result.Where(x => x.Nev.ToUpper().Contains(searchCo.TeremNev.ToUpper())); } if (searchCo.TeremJellegId.HasValue) { result = result.Where(x => x.JellegId == searchCo.TeremJellegId.Value); } if (searchCo.KeresesMukodesiHelyID.HasValue) { result = result.Where(x => x.MukodesiHelyId == searchCo.KeresesMukodesiHelyID.Value); } if (searchCo.MinAlapterulet.HasValue && !searchCo.MaxAlapterulet.HasValue) { result = result.Where(x => x.Terulet >= searchCo.MinAlapterulet.Value); } if (searchCo.MaxAlapterulet.HasValue && !searchCo.MinAlapterulet.HasValue) { result = result.Where(x => x.Terulet <= searchCo.MaxAlapterulet.Value); } if (searchCo.MinAlapterulet.HasValue && searchCo.MaxAlapterulet.HasValue) { result = result.Where(x => x.Terulet >= searchCo.MinAlapterulet.Value && x.Terulet <= searchCo.MaxAlapterulet.Value); } if (searchCo.MinKapacitas.HasValue && !searchCo.MaxKapacitas.HasValue) { result = result.Where(x => x.Kapacitas >= searchCo.MinKapacitas.Value); } if (searchCo.MaxKapacitas.HasValue && !searchCo.MinKapacitas.HasValue) { result = result.Where(x => x.Kapacitas <= searchCo.MaxKapacitas.Value); } if (searchCo.MinKapacitas.HasValue && searchCo.MaxKapacitas.HasValue) { result = result.Where(x => x.Kapacitas >= searchCo.MinKapacitas.Value && x.Kapacitas <= searchCo.MaxKapacitas.Value); } if (searchCo.IsAktiv.HasValue) { result = result.Where(x => x.IsAktiv == searchCo.IsAktiv.ToBool()); } if (searchCo.TeremFelelosId.HasValue) { result = result.Where(x => x.TeremfelelosId == searchCo.TeremFelelosId.Value); } if (searchCo.MinVizsgaKapacitas.HasValue && !searchCo.MaxVizsgaKapacitas.HasValue) { result = result.Where(x => x.VizsgaKapacitas >= searchCo.MinVizsgaKapacitas.Value); } if (searchCo.MaxVizsgaKapacitas.HasValue && !searchCo.MinVizsgaKapacitas.HasValue) { result = result.Where(x => x.VizsgaKapacitas <= searchCo.MaxVizsgaKapacitas.Value); } if (searchCo.MinVizsgaKapacitas.HasValue && searchCo.MaxVizsgaKapacitas.HasValue) { result = result.Where(x => x.VizsgaKapacitas >= searchCo.MinVizsgaKapacitas.Value && x.VizsgaKapacitas <= searchCo.MaxVizsgaKapacitas.Value); } if (searchCo.IsTobbOraTarthato.HasValue) { result = result.Where(x => x.IsTobbOratLehetTartani == searchCo.IsTobbOraTarthato.ToBool()); } if (searchCo.IsWifiLefedett.HasValue) { result = result.Where(x => x.IsWifiLefedett == searchCo.IsWifiLefedett.ToBool()); } if (searchCo.IsInternetkapcsolatElerheto.HasValue) { result = result.Where(x => x.IsInternetkapcsolatElerheto == searchCo.IsInternetkapcsolatElerheto.ToBool()); } if (searchCo.MinOktCelraHasznaltSzamitogepekSzama.HasValue && !searchCo.MaxOktCelraHasznaltSzamitogepekSzama.HasValue) { result = result.Where(x => x.OktCelraHasznaltSzamitogepekSzama >= searchCo.MinOktCelraHasznaltSzamitogepekSzama.Value); } if (searchCo.MaxOktCelraHasznaltSzamitogepekSzama.HasValue && !searchCo.MinOktCelraHasznaltSzamitogepekSzama.HasValue) { result = result.Where(x => x.OktCelraHasznaltSzamitogepekSzama <= searchCo.MaxOktCelraHasznaltSzamitogepekSzama.Value); } if (searchCo.MinOktCelraHasznaltSzamitogepekSzama.HasValue && searchCo.MaxOktCelraHasznaltSzamitogepekSzama.HasValue) { result = result.Where(x => x.OktCelraHasznaltSzamitogepekSzama >= searchCo.MinOktCelraHasznaltSzamitogepekSzama.Value && x.OktCelraHasznaltSzamitogepekSzama <= searchCo.MaxOktCelraHasznaltSzamitogepekSzama.Value); } if (searchCo.IsInterakttablavalMunkaallomassalFelszerelt.HasValue) { result = result.Where(x => x.IsInterakttablavalMunkaallomassalFelszerelt == searchCo.IsInterakttablavalMunkaallomassalFelszerelt.ToBool()); } if (searchCo.IsFromSzervezet) { if (!string.IsNullOrWhiteSpace(searchCo.SzervezetNev)) { result = result.Where(x => x.SzervezetNeve.IndexOf(searchCo.SzervezetNev, StringComparison.OrdinalIgnoreCase) > -1); } if (!string.IsNullOrWhiteSpace(searchCo.SzervezetAzonosito)) { result = result.Where(x => x.SzervezetAzonositoja.IndexOf(searchCo.SzervezetAzonosito, StringComparison.OrdinalIgnoreCase) > -1); } } return result.ToList(); } } }