kreta/KretaWeb/Areas/Feljegyzes/Models/ElektronikusUzenetPopupModel.cs
2024-03-13 00:33:46 +01:00

110 lines
4.4 KiB
C#

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<int> TanuloIdList { get; set; } = new List<int>();
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;
}
}
}