106 lines
5 KiB
C#
106 lines
5 KiB
C#
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.Resources;
|
|
using Microsoft.Ajax.Utilities;
|
|
using Newtonsoft.Json;
|
|
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
|
|
|
|
namespace Kreta.Web.Areas.Adminisztracio.Models
|
|
{
|
|
public class TanuloErtekelesMondatbankTobbesItemModel : BaseTanuloErtekelesMondatbankItemModel
|
|
{
|
|
public override string Szoveg { get; set; }
|
|
|
|
public override int? TanuloErtekelesTipusId { get; set; }
|
|
|
|
public override int? EvfolyamTipusId { get; set; }
|
|
|
|
public override int? TantargyId { get; set; }
|
|
|
|
public List<int> SelectedIdList { get; set; }
|
|
|
|
[Display(Name = nameof(TanuloErtekelesResource.RovidNevModositasa), ResourceType = typeof(TanuloErtekelesResource))]
|
|
public bool RovidNevEnabled { get; set; }
|
|
|
|
public string SelectedIdListJson
|
|
{
|
|
get => SelectedIdList == null ? string.Empty : JsonConvert.SerializeObject(SelectedIdList);
|
|
set => SelectedIdList = JsonConvert.DeserializeObject<List<int>>(value);
|
|
}
|
|
|
|
[JsonConstructor]
|
|
public TanuloErtekelesMondatbankTobbesItemModel(bool mustSetSelectListItemLists = true)
|
|
: base(mustSetSelectListItemLists)
|
|
{
|
|
RovidNevEnabled = false;
|
|
SelectedIdList = new List<int>();
|
|
}
|
|
|
|
public TanuloErtekelesMondatbankTobbesItemCo ToCo()
|
|
{
|
|
var result = new TanuloErtekelesMondatbankTobbesItemCo
|
|
{
|
|
SelectedIdList = SelectedIdList,
|
|
RovidNev = RovidNevEnabled ? string.IsNullOrWhiteSpace(RovidNev) ? "sz" : RovidNev : null,
|
|
Szoveg = !string.IsNullOrWhiteSpace(Szoveg) ? Szoveg : null,
|
|
TanuloErtekelesTipusId = TanuloErtekelesTipusId,
|
|
EvfolyamTipusId = EvfolyamTipusId,
|
|
TantargyId = TantargyId,
|
|
TipusId = TanuloErtekelesMondatbankHelper.GetTanuloErtekelesMondatbankTipusIdByTantargyId(TantargyId),
|
|
SzovegNemet = !string.IsNullOrWhiteSpace(SzovegNemet) ? SzovegNemet : null,
|
|
SzovegHorvat = !string.IsNullOrWhiteSpace(SzovegHorvat) ? SzovegHorvat : null,
|
|
SzovegRoman = !string.IsNullOrWhiteSpace(SzovegRoman) ? SzovegRoman : null,
|
|
SzovegSzerb = !string.IsNullOrWhiteSpace(SzovegSzerb) ? SzovegSzerb : null,
|
|
};
|
|
return result;
|
|
}
|
|
|
|
public override ModelStateDictionary Validate()
|
|
{
|
|
var modelStateDictionary = new ModelStateDictionary();
|
|
|
|
if (TanuloErtekelesTipusId == null
|
|
&& EvfolyamTipusId == null
|
|
&& TantargyId == null
|
|
&& string.IsNullOrWhiteSpace(Szoveg)
|
|
&& (!RovidNevEnabled || string.IsNullOrWhiteSpace(RovidNev)))
|
|
{
|
|
modelStateDictionary.AddModelError(string.Empty, ErrorResource.NincsMegadvaModositandoAdat);
|
|
}
|
|
|
|
if (!RovidNev.IsNullOrWhiteSpace() && RovidNev.Length > 3)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(RovidNev), ErrorResource.ARovidNevNemLehetHosszabbMint3Karakter);
|
|
}
|
|
|
|
if (!Szoveg.IsNullOrWhiteSpace() && Szoveg.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(Szoveg), string.Format(ErrorResource.ASzovegNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
|
}
|
|
|
|
if (!SzovegNemet.IsNullOrWhiteSpace() && SzovegNemet.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(SzovegNemet), string.Format(ErrorResource.ASzovegNemetNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
|
}
|
|
|
|
if (!SzovegHorvat.IsNullOrWhiteSpace() && SzovegHorvat.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(SzovegHorvat), string.Format(ErrorResource.ASzovegHorvatNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
|
}
|
|
|
|
if (!SzovegRoman.IsNullOrWhiteSpace() && SzovegRoman.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(SzovegRoman), string.Format(ErrorResource.ASzovegRomanNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
|
}
|
|
|
|
if (!SzovegSzerb.IsNullOrWhiteSpace() && SzovegSzerb.Length > Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz)
|
|
{
|
|
modelStateDictionary.AddModelError(nameof(SzovegSzerb), string.Format(ErrorResource.ASzovegSzerbNemLehetHosszabbMint0Karakter, Core.Constants.MinMaxValues.MaxSzovegesErtekelesHossz));
|
|
}
|
|
|
|
return modelStateDictionary;
|
|
}
|
|
}
|
|
}
|