using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Foolproof; using Kreta.BusinessLogic.Classes; using Kreta.Resources; namespace Kreta.Web.Areas.Orarend.Models { public class FogadooraModel { public FogadooraModel() { SelectedOsztalyCsoportIdList = new List(); ModifiedOsztalyCsoportList = new Dictionary(); FogadooraDatumList = new List(); } public int? Id { get; set; } public List SelectedOsztalyCsoportIdList { get; set; } public Dictionary ModifiedOsztalyCsoportList { get; set; } public List FogadooraDatumList { get; set; } public DateTime FogadoOraDatuma { get; set; } //Fogadó óra napját ebből szedjük ki (hidden field lesz) public int? NemKotottMunkaidoId { get; set; } [Display(Name = nameof(FogadooraResource.FogadooraKezdete), ResourceType = typeof(FogadooraResource))] [Required(ErrorMessageResourceName = nameof(FogadooraResource.FogadooraKezdeteMegadasaKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))] public DateTime FogadoOraKezdete { get; set; } //Óra-percet ebből szedjük ki [Display(Name = nameof(FogadooraResource.FogadooraVege), ResourceType = typeof(FogadooraResource))] [Required(ErrorMessageResourceName = nameof(FogadooraResource.FogadooraVegeMegadasaKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))] public DateTime FogadoOraVege { get; set; } //Óra-percet ebből szedjük ki [Required(ErrorMessageResourceName = nameof(FogadooraResource.NincsBeallitvaTeremAFogadoorahoz), ErrorMessageResourceType = typeof(FogadooraResource))] [Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))] public int? TeremId { get; set; } [Display(Name = nameof(FogadooraResource.Terem), ResourceType = typeof(FogadooraResource))] public string TeremNev { get; set; } [Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))] public int Rendszeresseg { get; set; } //Enum [Display(Name = nameof(FogadooraResource.Rendszeresseg), ResourceType = typeof(FogadooraResource))] public string RendszeressegText { get; set; } //Enum [Display(Name = nameof(FogadooraResource.NemKotottMunkaido), ResourceType = typeof(FogadooraResource))] public bool IsNemKotottMunkaido { get; set; } [Display(Name = nameof(FogadooraResource.JelentkezesekKezelese), ResourceType = typeof(FogadooraResource))] public bool JelentkezesekKezelese { get; set; } [Display(Name = nameof(FogadooraResource.EgysegnyiIdopontokPerc), ResourceType = typeof(FogadooraResource))] public int EgysegnyiIdopontok { get; set; } [Display(Name = nameof(FogadooraResource.FogadooraIdosavokraOsztasa), ResourceType = typeof(FogadooraResource))] public bool? IsIdosavraOsztas { get; set; } [Display(Name = nameof(FogadooraResource.ElsoAlkalomDatuma), ResourceType = typeof(FogadooraResource))] public DateTime? RendszeresFogadooraElsoDatuma { get; set; } [Display(Name = nameof(FogadooraResource.UtolsoAlkalomDatuma), ResourceType = typeof(FogadooraResource))] public DateTime? RendszeresFogadooraUtolsoDatuma { get; set; } public bool IsEgyAlkalomModosul { get; set; } [Display(Name = nameof(FogadooraResource.JelenjenMegFaliujsagon), ResourceType = typeof(FogadooraResource))] public bool IsFaliujsagonMegjelenjen { get; set; } [RequiredIf(nameof(IsFaliujsagonMegjelenjen), true, ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegKezdeteKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))] [DateRange(ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegKezdeteNemErvenyes), ErrorMessageResourceType = typeof(FogadooraResource))] [Display(Name = nameof(FogadooraResource.FaliujsagErvenyessegKezdete), ResourceType = typeof(FogadooraResource))] public DateTime? FaliujsagErvenyessegKezdete { get; set; } [RequiredIf(nameof(IsFaliujsagonMegjelenjen), true, ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegVegeKotelezo), ErrorMessageResourceType = typeof(FogadooraResource))] [DateRange(ErrorMessageResourceName = nameof(FogadooraResource.FaliujsagErvenyessegVegeNemErvenyes), ErrorMessageResourceType = typeof(FogadooraResource))] [Display(Name = nameof(FogadooraResource.FaliujsagErvenyessegVege), ResourceType = typeof(FogadooraResource))] public DateTime? FaliujsagErvenyessegVege { get; set; } public int ModositasiIdoszakTipus { get; set; } public string JSHelperNev { get; set; } public bool IsCalendar { get; set; } public bool IsRendszeressegModosithato { get; set; } public bool VanGvJelentkezes { get; set; } [Display(Name = nameof(FogadooraResource.KerjukValasszaKiAFogadooraIdopontjait), ResourceType = typeof(FogadooraResource))] public DateTime? FogadooraEgyebGyakorisagDefaultDate { get; set; } public DateTime TanevUtolsoNapja { get; set; } [Display(Name = nameof(FogadooraResource.JelentkezesHatarideje), ResourceType = typeof(FogadooraResource))] public int? JelentkezesHatarideje { get; set; } = 0; public bool IsNemKellNemKotott { get; set; } } }