74 lines
2.8 KiB
C#
74 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using Kreta.Ellenorzo.Domain.VN.Interfaces;
|
|
using Kreta.Ellenorzo.Domain.VN.Utility.ValidationAttributes;
|
|
|
|
namespace Kreta.Ellenorzo.Domain.VN.Felhasznalo.Gondviselo
|
|
{
|
|
public class GondviseloBaseAdatlapRequest : IValidatableObject, IModelValidacio<GondviseloBaseAdatlapRequest>
|
|
{
|
|
public string Elotag { get; set; }
|
|
|
|
public string Vezeteknev { get; set; }
|
|
|
|
public string Utonev { get; set; }
|
|
|
|
public string SzuletesiVezeteknev { get; set; }
|
|
|
|
public string SzuletesiUtonev { get; set; }
|
|
|
|
public string SzuletesiHely { get; set; }
|
|
|
|
[ShortDateTime]
|
|
public DateTime? SzuletesiDatum { get; set; }
|
|
|
|
public string AnyjaVezeteknev { get; set; }
|
|
|
|
public string AnyjaUtonev { get; set; }
|
|
|
|
public Dictionary<Predicate<GondviseloBaseAdatlapRequest>, string> ModelValidaciok => new Dictionary<Predicate<GondviseloBaseAdatlapRequest>, string>
|
|
{
|
|
{
|
|
x => !string.IsNullOrWhiteSpace(x.Elotag) && !Core.Constants.ElotagList.Contains(x.Elotag),
|
|
$"Az {nameof(Elotag)} paraméter nem szerepel a kiválasztható értékek között!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.Vezeteknev),
|
|
$"A {nameof(Vezeteknev)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.Utonev),
|
|
$"Az {nameof(Utonev)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.SzuletesiVezeteknev),
|
|
$"A {nameof(SzuletesiVezeteknev)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.SzuletesiUtonev),
|
|
$"A {nameof(SzuletesiUtonev)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.SzuletesiHely),
|
|
$"A {nameof(SzuletesiHely)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => !x.SzuletesiDatum.HasValue,
|
|
$"A {nameof(SzuletesiDatum)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.AnyjaVezeteknev),
|
|
$"Az {nameof(AnyjaVezeteknev)} paraméter megadása kötelező!"
|
|
},
|
|
{
|
|
x => string.IsNullOrWhiteSpace(x.AnyjaUtonev),
|
|
$"Az {nameof(AnyjaUtonev)} paraméter megadása kötelező!"
|
|
}
|
|
};
|
|
|
|
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value));
|
|
}
|
|
}
|