using System; using System.ComponentModel.DataAnnotations; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Helpers.SystemSettings; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Resources; using Kreta.Web.Helpers; using Kreta.Web.Security; namespace Kreta.Web.Areas.TanuloErtekeles.Models { public class FeljegyzesKeresoModel { public FeljegyzesKeresoModel(string controllerName, string apiControllerName) { ControllerName = controllerName; ApiControllerName = apiControllerName; if (ClaimData.IsVegyes) { FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue(RendszerBeallitasTipusEnum.Default_Feladat_Kategoria); } } [Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))] public int? FeladatKategoriaId { get; set; } [Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))] public int? TanuloID { get; set; } [Display(Name = nameof(FeljegyzesekResource.TanuloOsztalya), ResourceType = typeof(FeljegyzesekResource))] public int? OsztalyId { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzesOsztalyCsoportja), ResourceType = typeof(FeljegyzesekResource))] public int? OsztalyCsoportID { get; set; } [Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))] public bool IsKellKapcsolodoCsoportok { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzoPedagogus), ResourceType = typeof(FeljegyzesekResource))] public int? FeljegyzoID { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzesTipusa), ResourceType = typeof(FeljegyzesekResource))] public int? TipusID { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzesDatuma), ResourceType = typeof(FeljegyzesekResource))] public DateTime? DatumTOL { get; set; } public DateTime? DatumIG { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzesRogzitesenekDatuma), ResourceType = typeof(FeljegyzesekResource))] public DateTime? RogzitesDatumTol { get; set; } public DateTime? RogzitesDatumIg { get; set; } [Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))] public int? FeladatEllatasiHelyId { get; set; } [Display(Name = nameof(FeljegyzesekResource.FeljegyzesSzovege), ResourceType = typeof(FeljegyzesekResource))] public string FeljegyzesSzovege { get; set; } [Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))] public string SzervezetNevSzoveg { get; set; } [Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))] public string SzervezetAzonositoSzoveg { get; set; } public int? SzervezetTipusId { get; set; } public int? SzervezetId { get; set; } public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null; public bool IsFromSzervezet => SzervezetTipusEnum.HasValue; public string ControllerName { get; } public string ApiControllerName { get; } public FeljegyzesekKereseseCO ToCo() { var feljegyzesekKereseseCo = new FeljegyzesekKereseseCO { FeladatKategoriaId = FeladatKategoriaId, TanuloId = TanuloID, OsztalyId = OsztalyId, OsztalyCsoportId = OsztalyCsoportID, IsKellKapcsolodoCsoportok = IsKellKapcsolodoCsoportok, FeljegyzoId = FeljegyzoID, TipusId = TipusID, DatumTol = DatumTOL, DatumIg = DatumIG?.AddDays(1), RogzitesDatumTol = RogzitesDatumTol, RogzitesDatumIg = RogzitesDatumIg?.AddDays(1), FeladatEllatasiHelyId = FeladatEllatasiHelyId, FeljegyzesSzovege = FeljegyzesSzovege, SzervezetNev = SzervezetNevSzoveg, SzervezetAzonosito = SzervezetAzonositoSzoveg, SzervezetTipusId = SzervezetTipusId, SzervezetId = SzervezetId }; return feljegyzesekKereseseCo; } } }