using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using Kreta.Ellenorzo.Domain.VN.Interfaces; namespace Kreta.Ellenorzo.Domain.VN.Felhasznalo.Gondviselo { public class GondviseloEszkozIgenylesRequest : GondviseloBaseAdatlapRequest, IValidatableObject, IModelValidacio { public bool IsElfogadottAszf { get; set; } public new Dictionary, string> ModelValidaciok => new Dictionary, 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ő!" }, { x => !x.IsElfogadottAszf, $"Az {nameof(IsElfogadottAszf)} paraméter értékenek true-nak kell lennie!" } }; public new IEnumerable Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value)); } }