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

94 lines
4.8 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers.DokumentumHelpers;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Helpers;
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
namespace Kreta.Web.Areas.Adminisztracio.Models
{
public abstract class BaseTanuloErtekelesMondatbankItemModel
{
[Display(Name = nameof(TanuloErtekelesResource.ErtekelesTipus), ResourceType = typeof(TanuloErtekelesResource))]
public abstract int? TanuloErtekelesTipusId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.EvfolyamTipus), ResourceType = typeof(TanuloErtekelesResource))]
public abstract int? EvfolyamTipusId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Tantargy), ResourceType = typeof(TanuloErtekelesResource))]
public abstract int? TantargyId { get; set; }
[Display(Name = nameof(TanuloErtekelesResource.Szoveg), ResourceType = typeof(TanuloErtekelesResource))]
public abstract string Szoveg { get; set; }
[MaxLength(3, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(TanuloErtekelesResource.RovidNev), ResourceType = typeof(TanuloErtekelesResource))]
public string RovidNev { get; set; }
public List<SelectListItem> TipusList { get; set; }
public List<SelectListItem> EvfolyamTipusList { get; set; }
public List<SelectListItem> TantargyList { get; set; }
protected BaseTanuloErtekelesMondatbankItemModel(bool mustSetSelectListItemLists = true)
{
if (mustSetSelectListItemLists)
{
SetSelectListItemLists(this);
}
TanuloErtekelesTipusId = null;
EvfolyamTipusId = null;
TantargyId = null;
}
protected void SetSelectListItemLists(BaseTanuloErtekelesMondatbankItemModel model)
{
var defaultList = new List<SelectListItem>
{
new SelectListItem
{
Value = "0",
Text = CommonResource.Mind
}
};
model.TipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTipusList()).ToList();
model.EvfolyamTipusList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetEvfolyamTipusList()).ToList();
model.TantargyList = defaultList.Union(TanuloErtekelesMondatbankWebHelper.GetTantargyList()).ToList();
}
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
public bool IsNyelviesitesActive => NemzetiDokumentumNyelvek.Any();
public bool IsNemetNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.nemet);
public bool IsHorvatNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.horvat);
public bool IsRomanNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.roman);
public bool IsSzerbNemzetiDokumentumNyelvActive => DokumentumNyelvesitesHelper.IsNemzetiDokumentumNyelvActive(NemzetiDokumentumNyelvek, AnyanyelvEnum.szerb);
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzovegNemet), ResourceType = typeof(TanuloErtekelesResource))]
public string SzovegNemet { get; set; }
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzovegHorvat), ResourceType = typeof(TanuloErtekelesResource))]
public string SzovegHorvat { get; set; }
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzovegRoman), ResourceType = typeof(TanuloErtekelesResource))]
public string SzovegRoman { get; set; }
[MaxLength(4000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
[Display(Name = nameof(TanuloErtekelesResource.SzovegSzerb), ResourceType = typeof(TanuloErtekelesResource))]
public string SzovegSzerb { get; set; }
public abstract ModelStateDictionary Validate();
}
}