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

215 lines
8.6 KiB
C#

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<TabStripItemModel>();
}
public List<TabStripItemModel> 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<DualisHelyszinTipusEnum>(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; }
}
}