using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Http.ModelBinding; using Kreta.BusinessLogic.Classes; using Kreta.BusinessLogic.HelperClasses; using Kreta.BusinessLogic.Interfaces; using Kreta.Core; using Kreta.Core.CustomAttributes; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Resources; using Kreta.Web.Helpers.TabStrip; using Kreta.Web.Security; namespace Kreta.Web.Areas.DualisKepzes.Models { public class DualisKepzohelyModel { public DualisKepzohelyModel() { TabList = new List(); } public List TabList { get; set; } public int? ID { get; set; } [Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))] [Required(ErrorMessageResourceName = nameof(DualisResource.KepzohelyNevMegadasaKotelezo), ErrorMessageResourceType = typeof(DualisResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] public string KepzohelyNeve { get; set; } [Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))] [Required(ErrorMessageResourceName = nameof(DualisResource.KepzohelyAdoszamaMegadasaKotelezo), ErrorMessageResourceType = typeof(DualisResource))] [AdoszamExtended(ErrorMessageResourceName = nameof(ErrorResource.AdoszamFormatumaNemMegfelelo), ErrorMessageResourceType = typeof(ErrorResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] public string KepzohelyAdoszama { get; set; } [Display(Name = nameof(DualisResource.KepzohelyCime), ResourceType = typeof(DualisResource))] [Required(ErrorMessageResourceName = nameof(DualisResource.KepzohelyCimeMegadasaKotelezo), ErrorMessageResourceType = typeof(DualisResource))] [MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))] public string KepzohelyCime { get; set; } [Display(Name = nameof(DualisResource.HelyszinTipus), ResourceType = typeof(DualisResource))] [Required(ErrorMessageResourceName = nameof(DualisResource.HelyszinTipusMegadasaKotelezo), ErrorMessageResourceType = typeof(DualisResource))] public int? HelyszinTipusId { get; set; } [Display(Name = nameof(DualisResource.HelyszinTipus), ResourceType = typeof(DualisResource))] public string HelyszinTipusName => HelyszinTipusId.GetDisplayName(ClaimData.SelectedTanevID.Value); public bool IsEditable { get; set; } public int? ParentSzervezetId { get; set; } public static void ValidateModel(DualisKepzohelyModel model, ModelStateDictionary modelState) { if (string.IsNullOrWhiteSpace(model.KepzohelyAdoszama.ReplaceMultipleSpacesAndTrim())) { modelState.AddModelError("KepzohelyAdoszama", DualisResource.KepzohelyAdoszamaMegadasaKotelezo); } if (string.IsNullOrWhiteSpace(model.KepzohelyNeve.ReplaceMultipleSpacesAndTrim())) { modelState.AddModelError("KepzohelyNeve", DualisResource.KepzohelyNevMegadasaKotelezo); } if (string.IsNullOrWhiteSpace(model.KepzohelyCime.ReplaceMultipleSpacesAndTrim())) { modelState.AddModelError("KepzohelyCime", DualisResource.KepzohelyCimeMegadasaKotelezo); } if (!model.HelyszinTipusId.IsEntityId()) { modelState.AddModelError("HelyszinTipusId", DualisResource.HelyszinTipusMegadasaKotelezo); } } public static DualisKepzohelyCo ConvertModelToCO(DualisKepzohelyModel model) { var co = new DualisKepzohelyCo() { ID = model.ID, KepzohelyNeve = model.KepzohelyNeve.ReplaceMultipleSpacesAndTrim(), KepzohelyAdoszama = model.KepzohelyAdoszama.ReplaceMultipleSpacesAndTrim(), KepzohelyCime = model.KepzohelyCime.ReplaceMultipleSpacesAndTrim(), HelyszinTipusId = model.HelyszinTipusId ?? 0, ParentSzervezetId = model.ParentSzervezetId, }; return co; } } public class DualisCsoportGridModel : IKretaIdentity { public DualisCsoportGridModel() { } public DualisCsoportGridModel(DualisCsoportCo itemCo) { ID = itemCo.ID.ToString(); CsoportNeve = itemCo.CsoportNeve; TanulokSzama = itemCo.TanulokSzama; Megjegyzes = itemCo.Megjegyzes; } public string ID { get; set; }//CsoportId [Display(Name = nameof(DualisResource.CsoportNev), ResourceType = typeof(DualisResource))] public string CsoportNeve { get; set; } [Display(Name = nameof(DualisResource.TanulokSzama), ResourceType = typeof(DualisResource))] public int TanulokSzama { get; set; } [Display(Name = nameof(DualisResource.Megjegyzes), ResourceType = typeof(DualisResource))] public string Megjegyzes { get; set; } } public class DualisTanuloGridModel : IKretaIdentity { public DualisTanuloGridModel() { } public DualisTanuloGridModel(DualisTanuloCo itemCo) { ID = itemCo.ID.ToString(); Nev = itemCo.Nev; OktatasiAzonosito = itemCo.OktatasiAzonosito; Adoazonosito = itemCo.Adoazonosito; TajSzam = itemCo.TajSzam; } public string ID { get; set; }//TanuloId [Display(Name = nameof(DualisResource.Nev), ResourceType = typeof(DualisResource))] public string Nev { get; set; } [Display(Name = nameof(DualisResource.OktatasiAzonosito), ResourceType = typeof(DualisResource))] public string OktatasiAzonosito { get; set; } [Display(Name = nameof(DualisResource.Adoazonosito), ResourceType = typeof(DualisResource))] public string Adoazonosito { get; set; } [Display(Name = nameof(DualisResource.TajSzam), ResourceType = typeof(DualisResource))] public string TajSzam { get; set; } } public class DualisOktatoGridModel : IKretaIdentity { public DualisOktatoGridModel() { } public DualisOktatoGridModel(DualisOktatoCo itemCo) { ID = itemCo.ID.ToString(); Nev = itemCo.Nev; OktatasiAzonosito = itemCo.OktatasiAzonosito; } public string ID { get; set; }//OktatoId [Display(Name = nameof(DualisResource.Nev), ResourceType = typeof(DualisResource))] public string Nev { get; set; } [Display(Name = nameof(DualisResource.OktatasiAzonosito), ResourceType = typeof(DualisResource))] public string OktatasiAzonosito { get; set; } } public class DualisTantargyGridModel : IKretaIdentity { public DualisTantargyGridModel() { } public DualisTantargyGridModel(DualisTantargyCo itemCo) { ID = itemCo.ID.ToString(); Nev = itemCo.Nev; } public string ID { get; set; }//TantargyId [Display(Name = nameof(DualisResource.Nev), ResourceType = typeof(DualisResource))] public string Nev { get; set; } } public class DualisHelyszinGridModel : IKretaIdentity { public DualisHelyszinGridModel() { } public DualisHelyszinGridModel(DualisHelyszinCo itemCo) { ID = itemCo.ID.ToString(); Nev = itemCo.Nev; HelyisegJelleg = itemCo.HelyisegJelleg; HelyszinTipus = itemCo.HelyszinTipus; Aktiv = itemCo.Aktiv; } public string ID { get; set; }//TeremId [Display(Name = nameof(DualisResource.Nev), ResourceType = typeof(DualisResource))] public string Nev { get; set; } [Display(Name = nameof(DualisResource.HelyisegJelleg), ResourceType = typeof(DualisResource))] public string HelyisegJelleg { get; set; } [Display(Name = nameof(DualisResource.HelyszinTipus), ResourceType = typeof(DualisResource))] public string HelyszinTipus { get; set; } [Display(Name = nameof(DualisResource.Aktiv), ResourceType = typeof(DualisResource))] public string AktivStr { get { return Aktiv ? IgenNemEnum.Igen.GetDisplayName(ClaimData.SelectedTanevID.Value) : IgenNemEnum.Nem.GetDisplayName(ClaimData.SelectedTanevID.Value); } } public bool Aktiv { get; set; } } }