using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers; using Kreta.Enums.ManualEnums; using Kreta.Resources; using Kreta.Web.Attributes; using Kreta.Web.Helpers; using Kreta.Web.Security; namespace Kreta.Web.Areas.Alkalmazott.Models { public class AlkalmazottSearchModel { public bool MunkaugyiAdatokKlebelsbergOrNSZFH { get; set; } [KretaDisplayName(108)] /*Név*/ public string Nev { get; set; } [Display(Name = nameof(AlkalmazottResource.SzuletesiHely), ResourceType = typeof(AlkalmazottResource))] public string SzuletesiHely { get; set; } [KretaDisplayName(134)] /*Nem*/ public int? Nem { get; set; } [KretaDisplayName(42)] /*Születési idő*/ public DateTime? SzuletesiDatumTol { get; set; } [KretaDisplayName(42)] /*Születési idő*/ public DateTime? SzuletesiDatumIg { get; set; } [Display(Name = nameof(AlkalmazottResource.TanitottOsztaly), ResourceType = typeof(AlkalmazottResource))] public int? TanitottOsztalyId { get; set; } [KretaDisplayName(32)] /*Oktatási azonosító*/ public string OktatasiAzonosito { get; set; } [KretaDisplayName(90)] /*Feladatellátási hely*/ public int? FeladatEllatasiHelyId { get; set; } [KretaDisplayName(3085)] /*Főállású*/ public string Foallas { get; set; } [KretaDisplayName(4830)] /*Nyugdíjas (továbbfoglalkoztatott)*/ public string SearchNyugdijas { get; set; } [Display(Name = nameof(AlkalmazottResource.PedagogusFokozat), ResourceType = typeof(AlkalmazottResource))] public int? SearchPedagogusFokozat { get; set; } public bool? NANem { get; set; } public bool? NincsOktAzon { get; set; } public bool? NABesorolasiFokozat { get; set; } public bool? NincsMunkakor { get; set; } public bool? NincsFoglalkoztatsModja { get; set; } public bool? NincsEmail { get; set; } public bool? NemCsillagosMunkakor { get; set; } public bool? AktivAlkalmazottak { get; set; } public bool? NincsBelepesAlkalmazott { get; set; } public bool? NemBelepettAlkalmazottKetHet { get; set; } public bool? NincsAlkalmazottSZTSZ { get; set; } public bool? IsTanarAlkalmazottMunkaKor { get; set; } public List NszfhTovabbiMunkakorTipusIdList => Kreta.Core.Constants.NszfhTovabbiMunkakorTipusIdList; public bool IsNszfhUjSzkt => ClaimData.IsSelectedTanev20_21OrLater && ClaimData.IsSzakkepzoIntezmeny; public bool IsFromSzervezet { get; set; } public int? SzervezetId { get; set; } [Display(Name = nameof(TeremResource.SzervezetNeve), ResourceType = typeof(TeremResource))] public string SzervezetNev { get; set; } [Display(Name = nameof(TeremResource.SzervezetAzonosito), ResourceType = typeof(TeremResource))] public string SzervezetAzonosito { get; set; } public string ControllerName { get; set; } = Constants.Controllers.Alkalmazott; public string ApiControllerName { get; set; } = Constants.ApiControllers.AlkalmazottApi; public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled); public bool IsActiveTanev21_22 => new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanevInfo().Sorszam == 42 && ClaimData.IsActivTanev; public static AlkalmazottSearchModel SetFilterAlkalmazottSearchModel(string filter) { var result = new AlkalmazottSearchModel(); switch (filter) { case "nemcsillagosmunkakor": result.NemCsillagosMunkakor = true; break; case "nincsnem": result.NANem = true; break; case "nincsbesorolas": result.NABesorolasiFokozat = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nincsmunkakor": result.NincsMunkakor = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nincsmunkaviszony": result.NincsFoglalkoztatsModja = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nincsEmail": result.NincsEmail = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "AktivAlkalmazottak": result.AktivAlkalmazottak = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nincsbelepesalkalmazott": result.NincsBelepesAlkalmazott = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nembelepettalkalmazottkethet": result.NemBelepettAlkalmazottKetHet = true; result.IsTanarAlkalmazottMunkaKor = true; break; case "nincsSztsz": result.NincsAlkalmazottSZTSZ = true; break; } return result; } public AlkalmazottSearchCo ConvertModelToCo() { return new AlkalmazottSearchCo { Nev = Nev, SzuletesiHely = SzuletesiHely, Nem = Nem, SzuletesiDatumTol = SzuletesiDatumTol, SzuletesiDatumIg = SzuletesiDatumIg, TanitottOsztalyId = TanitottOsztalyId, OktatasiAzonosito = OktatasiAzonosito, FeladatEllatasiHelyId = FeladatEllatasiHelyId, Foallas = Foallas, SearchNyugdijas = SearchNyugdijas, NANem = NANem, NABesorolasiFokozat = NABesorolasiFokozat, NincsMunkakor = NincsMunkakor, NincsFoglalkoztatasModja = NincsFoglalkoztatsModja, SearchPedagogusFokozat = SearchPedagogusFokozat, NemCsillagosMunkakor = NemCsillagosMunkakor, NincsEmail = NincsEmail, AktivAlkalmazottak = AktivAlkalmazottak, NincsBelepesAlkalmazott = NincsBelepesAlkalmazott, NemBelepettAlkalmazottKetHet = NemBelepettAlkalmazottKetHet, NincsOktAzon = NincsOktAzon, MunkaugyiAdatokKlebelsbergOrNSZFH = MunkaugyiAdatokKlebelsbergOrNSZFH, NincsAlkalmazottSZTSZ = NincsAlkalmazottSZTSZ, IsTanarAlkalmazottMunkaKor = IsTanarAlkalmazottMunkaKor, SzervezetNev = SzervezetNev, SzervezetAzonosito = SzervezetAzonosito, SzervezetId = SzervezetId, IsFromSzervezet = IsFromSzervezet }; } } }