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 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 { }, 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 { TanuloId.Value }, Targy = string.IsNullOrWhiteSpace(Targy) ? Tipus.GetDisplayName(ClaimData.SelectedTanevID.Value) : Targy, Tartalom = Tartalom, TartalomNemet = TartalomNemet, TartalomHorvat = TartalomHorvat, TartalomRoman = TartalomRoman, TartalomSzerb = TartalomSzerb, Tipus = Tipus, Vege = null, RogziteskoriOsztalyId = OsztalyCsoportId, BeirasOsztalyCsoportId = OsztalyCsoportId }; return result; } } }