This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions
@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Kreta.Naplo.Domain.V3.Interfaces;
using Kreta.Resources;
namespace Kreta.Naplo.Domain.V3.OsztalyCsoport
{
public class TanuloErtekelesMentesRequest : IValidatableObject, IModelValidacio<TanuloErtekelesMentesRequest>
{
public DateTime ErtekelesDatum { get; set; }
public int ErtekelesModId { get; set; }
public string ErtekelesTema { get; set; }
public int? ErtekelesOsztalyzatId { get; set; }
public string ErtekelesSzoveg { get; set; }
public int? ErtekelesSzazalek { get; set; }
public Dictionary<Predicate<TanuloErtekelesMentesRequest>, string> ModelValidaciok => new Dictionary<Predicate<TanuloErtekelesMentesRequest>, string>
{
{ x => x.ErtekelesOsztalyzatId == null && string.IsNullOrWhiteSpace(x.ErtekelesSzoveg) && x.ErtekelesSzazalek == null, TanuloErtekelesResource.EgyErtekelesFajtaMegadasaKotelezo },
{ x => (x.ErtekelesOsztalyzatId != null && (!string.IsNullOrWhiteSpace(x.ErtekelesSzoveg) || x.ErtekelesSzazalek != null)) ||
(!string.IsNullOrWhiteSpace(x.ErtekelesSzoveg) && (x.ErtekelesOsztalyzatId != null || x.ErtekelesSzazalek != null)) ||
(x.ErtekelesSzazalek != null && (x.ErtekelesOsztalyzatId != null || !string.IsNullOrWhiteSpace(x.ErtekelesSzoveg))),
TanuloErtekelesResource.HibasanMegadottErtekelesEgyszerreCsakEgyFajtaErtekelesAdhatoMeg
},
{ x => x.ErtekelesSzazalek != null && (x.ErtekelesSzazalek < 0 || x.ErtekelesSzazalek > 100), TanuloErtekelesResource.SzazalekosErtekNincsAMegengedettTartomanyban }
};
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
}
}