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

105 lines
3.4 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BeirasModel : BaseFeljegyzesModel
{
#region Constructors
public BeirasModel()
{
}
public BeirasModel(FeljegyzesCo co, int tanuloId)
{
Id = co.Id;
TanuloId = tanuloId;
FeljegyzoId = co.FeljegyzoId;
FeljegyzoNev = co.FeljegyzoNev;
EsemenyDatuma = co.EsemenyDatuma;
Tipus = co.Tipus;
Targy = co.Targy;
Megjegyzes = co.Megjegyzes;
Tartalom = co.Tartalom;
TartalomNemet = co.TartalomNemet;
TartalomHorvat = co.TartalomHorvat;
TartalomRoman = co.TartalomRoman;
TartalomSzerb = co.TartalomSzerb;
OsztalyCsoportId = co.RogziteskoriOsztalyId;
}
#endregion Constructors
#region Properties
public int? TanuloId { get; set; }
public int? OsztalyCsoportId { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Tipus), ResourceType = typeof(FeljegyzesekResource))]
public int? Tipus { get; set; }
public List<SelectListItem> TipusList { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = BaseValidation();
if (!TanuloId.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(TanuloId), TanuloResource.TanuloKivalasztasaKotelezo);
}
if (!Tipus.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(Tipus), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Tipus}\""));
}
return modelStateDictionary;
}
public FeljegyzesCo ToCo()
{
var result = new FeljegyzesCo
{
Id = Id,
FeljegyzoId = FeljegyzoId,
FeljegyzoNev = null,
Kezdete = null,
IsFaliujsagMegjelenes = false,
IsMindenkinek = false,
Megjegyzes = Megjegyzes,
OsztalyCsoportIdList = new List<int> { },
EsemenyDatuma = EsemenyDatuma,
TanitasiOraId = null,
TantargyId = null,
//NOTE: A TanuloId nem lehet null, ha mégis, akkor ott hibás a működés!
TanuloIdList = new List<int> { TanuloId.Value },
Targy = string.IsNullOrWhiteSpace(Targy) ? Tipus.GetDisplayName<EsemenyTipusEnum>(ClaimData.SelectedTanevID.Value) : Targy,
Tartalom = Tartalom,
TartalomNemet = TartalomNemet,
TartalomHorvat = TartalomHorvat,
TartalomRoman = TartalomRoman,
TartalomSzerb = TartalomSzerb,
Tipus = Tipus,
Vege = null,
RogziteskoriOsztalyId = OsztalyCsoportId,
BeirasOsztalyCsoportId = OsztalyCsoportId
};
return result;
}
}
}