using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; using Kreta.BusinessLogic.HelperClasses; using Kreta.Core.EntityInfos; using Kreta.Enums.ManualEnums; using Kreta.Resources; namespace Kreta.Web.Areas.OsztalyCsoport.Models { public class OraSorszamozasHalmazModel { public OraSorszamozasHalmazModel() { KozosOraSorszamozasElteroTanarnal = false; Tipus = (int)SorszamozasKezdoErtekenekBeallitasa.NincsKivalasztva; Osszerendelesek = new List(); } public int ID { get; set; } [Required(ErrorMessageResourceName = nameof(ErrorResource.Required), ErrorMessageResourceType = typeof(ErrorResource))] [StringLength(EntityLengths.OraSorszamozasHalmaz.NevLength, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] [Display(Name = nameof(OraSorszamozasHalmazResource.HalmazNeve), ResourceType = typeof(OraSorszamozasHalmazResource))] public string Nev { get; set; } [Display(Name = nameof(OraSorszamozasHalmazResource.KozosOraSorszamozasElteroPedagogusokEseten), ResourceType = typeof(OraSorszamozasHalmazResource))] public bool KozosOraSorszamozasElteroTanarnal { get; set; } public int Tipus { get; set; } public int? Kezdoertek { get; set; } public int? OraSorszamozasHalmazOsszerendelesId { get; set; } public List Osszerendelesek { get; set; } public List TipusList { get; set; } public static OraSorszamozasHalmazModel ConvertCoToModel(OraSorszamozasHalmazCO co) { var model = new OraSorszamozasHalmazModel { ID = co.ID, Nev = co.Nev, KozosOraSorszamozasElteroTanarnal = co.KozosOraSorszamozasElteroTanarnal, Tipus = co.Tipus, Kezdoertek = co.Kezdoertek, OraSorszamozasHalmazOsszerendelesId = co.OraSorszamozasHalmazOsszerendelesId < 1 ? (int?)null : co.OraSorszamozasHalmazOsszerendelesId, }; foreach (var osszerendelesCo in co.Osszerendelesek) { model.Osszerendelesek.Add(OraSorszamozasHalmazOsszerendelesModel.ConvertCoToModel(osszerendelesCo)); } return model; } public OraSorszamozasHalmazCO ConvertModelToCo() { var co = new OraSorszamozasHalmazCO { ID = ID, Nev = Nev, KozosOraSorszamozasElteroTanarnal = KozosOraSorszamozasElteroTanarnal, Tipus = Tipus, Kezdoertek = Kezdoertek, OraSorszamozasHalmazOsszerendelesId = OraSorszamozasHalmazOsszerendelesId ?? -1, }; foreach (var osszerendeles in Osszerendelesek) { co.Osszerendelesek.Add(osszerendeles.ConvertModelToCo()); } return co; } } }