using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.Core; using Kreta.Enums; using Kreta.Resources; using Kreta.Web.Attributes; using Kreta.Web.Helpers; using Kreta.Web.Security; namespace Kreta.Web.Areas.OsztalyCsoport.Models { public class CsoportSearchModel { public CsoportSearchModel() { AmiFeladatKategoriaIdItem = new List() { new SelectListItem { Text = OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.AlapfokuMuveszetoktatas).ToString() } }; KollegiumFeladatKategoriaIdItem = new List() { new SelectListItem { Text = OktNevelesiKategoriaEnum.Kollegium.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.Kollegium).ToString() } }; FelnottkepzesFeladatKategoriaIdItem = new List() { new SelectListItem { Text = OktNevelesiKategoriaEnum.Felnottkepzes.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.Felnottkepzes).ToString() } }; EGYMIFeladatKategoriaIdItem = new List() { new SelectListItem { Text = OktNevelesiKategoriaEnum.EGYMI.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)OktNevelesiKategoriaEnum.EGYMI).ToString() } }; if (ClaimData.IsVegyes) { FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria); } } [Display(Name = nameof(OsztalyCsoportResource.CsoportNeve), ResourceType = typeof(OsztalyCsoportResource))] public string CsoportNev { get; set; } [KretaDisplayName(442)] /*Évfolyam*/ public int? EvfolyamId { get; set; } [KretaDisplayName(3908)] /*Csoportvezető neve*/ public int? SearchCsoportvezetoId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.Terem), ResourceType = typeof(OsztalyCsoportResource))] public int? TeremId { get; set; } [KretaDisplayName(3905)] /*Végzős évfolyam?*/ public int? VegzosSearch { get; set; } [KretaDisplayName(444)] /*Csoporttípus*/ public int? SearchCsoportTipusId { get; set; } [KretaDisplayName(3913)] /*Osztálybontás osztálya*/ public int? KeresesOsztalyId { get; set; } [KretaDisplayName(3930)] /*Csoportnapló megnyitás/lezárás dátuma*/ public DateTime? NaploMegnyitasDatum { get; set; } [KretaDisplayName(3811)] /*Csoportnapló lezárás dátuma*/ public DateTime? NaploLezarasDatum { get; set; } [Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))] public int? SearchFeladatEllatasiHelyId { get; set; } public bool? UresCsoport { get; set; } public bool? NACsoportTipus { get; set; } public bool? NaEvfolyamTipusa { get; set; } [Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))] public int? FeladatKategoriaId { get; set; } [Display(Name = nameof(OsztalyCsoportResource.MuvesztiAg), ResourceType = typeof(OsztalyCsoportResource))] public int? SearchMuveszetiAgId { get; set; } public List AmiFeladatKategoriaIdItem { get; set; } public List KollegiumFeladatKategoriaIdItem { get; set; } public List FelnottkepzesFeladatKategoriaIdItem { get; set; } public List EGYMIFeladatKategoriaIdItem { get; set; } public bool IsFromSzervezet { get; set; } [Display(Name = nameof(OsztalyCsoportResource.TanulokSzama), ResourceType = typeof(OsztalyCsoportResource))] public int? TanulokSzamaTol { get; set; } [Display(Name = nameof(OsztalyCsoportResource.TanulokSzama), ResourceType = typeof(OsztalyCsoportResource))] public int? TanulokSzamaIg { get; set; } public int? SzervezetId { get; set; } public string ControllerName { get; set; } = Constants.Controllers.Csoport; public string ApiControllerName { get; set; } = Constants.ApiControllers.CsoportApi; [Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))] public string KepzohelyNeve { get; set; } [Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))] public string KepzohelyAdoszama { get; set; } public static CsoportSearchModel SetFilterCsoportSearchModel(string filter) { var result = new CsoportSearchModel(); switch (filter) { case "ures": result.UresCsoport = true; result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria; break; case "nincsevfolyam": result.NaEvfolyamTipusa = true; result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria; break; case "nincstipus": result.NACsoportTipus = true; result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria; break; case "minden": result.FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria; break; } return result; } public CsoportSearchCo ConvertToCo(DateTime searchDate) { return new CsoportSearchCo { SearchDate = searchDate, CsoportNev = this.CsoportNev, EvfolyamId = this.EvfolyamId, CsoportvezetoId = this.SearchCsoportvezetoId, TeremId = this.TeremId, VegzosSearch = this.VegzosSearch, CsoportTipusId = this.SearchCsoportTipusId, KeresesOsztalyId = this.KeresesOsztalyId, NaploMegnyitasDatum = this.NaploMegnyitasDatum, NaploLezarasDatum = this.NaploLezarasDatum, FeladatEllatasiHelyId = this.SearchFeladatEllatasiHelyId, UresCsoport = this.UresCsoport, NACsoportTipus = this.NACsoportTipus, NaEvfolyamTipusa = this.NaEvfolyamTipusa, FeladatKategoriaId = this.FeladatKategoriaId.IsEntityId() ? this.FeladatKategoriaId : null, SearchMuveszetiAgId = this.SearchMuveszetiAgId, IsFromSzervezet = this.IsFromSzervezet, SzervezetId = this.SzervezetId, TanulokSzamaTol = this.TanulokSzamaTol, TanulokSzamaIg = this.TanulokSzamaIg, KepzohelyNeve = KepzohelyNeve, KepzohelyAdoszama = KepzohelyAdoszama, }; } } }