using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using Kreta.Naplo.Domain.V3.Interfaces; namespace Kreta.Naplo.Domain.V3.HaziFeladat { public class HaziFeladatUpdateRequest : IValidatableObject, IModelValidacio { public string Szoveg { get; set; } public DateTime HataridoDatuma { get; set; } public int? CsatolmanyId { get; set; } public Dictionary, string> ModelValidaciok => new Dictionary, string> { { x => string.IsNullOrWhiteSpace(x.Szoveg), "Házi feladata szöveg nem lehet üres!" }, { x => x.HataridoDatuma < DateTime.Today.AddDays(1), "Házi feladat nem rögzíthető korábbi határidővel, mint a holnapi!" } }; public IEnumerable Validate(ValidationContext validationContext) => ModelValidaciok.Where(x => x.Key.Invoke(this)).AsEnumerable().Select(x => new ValidationResult(x.Value)); } }