using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Foolproof; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.Enums; using Kreta.Resources; using Kreta.Web.Security; namespace Kreta.Web.Areas.Feljegyzes.Models { public class ElektronikusUzenetPopupModel { #region Constructors public ElektronikusUzenetPopupModel() { } public ElektronikusUzenetPopupModel(FeljegyzesCo co, int ocsID) { Id = co.Id; TanuloIdList = co.TanuloIdList; FeljegyzoIdPopup = co.FeljegyzoId; FeljegyzoNevPopup = co.FeljegyzoNev; EsemenyDatumaPopup = co.EsemenyDatuma; TargyPopup = co.Targy; MegjegyzesPopup = co.Megjegyzes; TartalomPopup = co.Tartalom; VegePopup = co.Vege; IsFaliujsagMegjelenesPopup = co.IsFaliujsagMegjelenes; IsMindenkinekPopup = co.IsMindenkinek; OsztalyCsoportId = ocsID; } #endregion Constructors #region Properties public List TanuloIdList { get; set; } = new List(); public int? OsztalyCsoportId { get; set; } public int? Id { get; set; } public int? FeljegyzoIdPopup { get; set; } [Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))] public string FeljegyzoNevPopup { get; set; } [KretaRequired] [Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))] public DateTime? EsemenyDatumaPopup { get; set; } [Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] public string TargyPopup { get; set; } [Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] public string MegjegyzesPopup { get; set; } [KretaRequired] [Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))] public string TartalomPopup { get; set; } public DateTime? MinimumErvenyessegKezdetePopup { get; set; } public DateTime? MaximumErvenyessegKezdetePopup { get; set; } public DateTime? MinimumErvenyessegVegePopup { get; set; } public DateTime? MaximumErvenyessegVegePopup { get; set; } [Display(Name = nameof(FeljegyzesekResource.IsFaliujsagMegjelenes), ResourceType = typeof(FeljegyzesekResource))] public bool? IsFaliujsagMegjelenesPopup { get; set; } [Display(Name = nameof(FeljegyzesekResource.IsMindenkinek), ResourceType = typeof(FeljegyzesekResource))] public bool? IsMindenkinekPopup { get; set; } [RequiredIf("IsFaliujsagMegjelenesPopup", true, ErrorMessage = "A következő mező kitöltése kötelező: \"Érvényesség vége\".")] [Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))] public DateTime? VegePopup { get; set; } public string ApiControllerName { get; set; } #endregion Properties public ElektronikusUzenetModel ToSaveModel() { var result = new ElektronikusUzenetModel { Id = Id, TanuloIdList = TanuloIdList, OsztalyCsoportId = OsztalyCsoportId, FeljegyzoId = FeljegyzoIdPopup, FeljegyzoNev = FeljegyzoNevPopup, EsemenyDatuma = EsemenyDatumaPopup, Vege = IsFaliujsagMegjelenesPopup != null && IsFaliujsagMegjelenesPopup.Value ? VegePopup : null, Targy = string.IsNullOrWhiteSpace(TargyPopup) ? EsemenyTipusEnum.ElektronikusUzenet.GetDisplayName(ClaimData.SelectedTanevID.Value) : TargyPopup, Megjegyzes = MegjegyzesPopup, Tartalom = TartalomPopup, IsFaliujsagMegjelenes = IsFaliujsagMegjelenesPopup, IsMindenkinek = IsMindenkinekPopup }; return result; } } }