public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { // On récupère le DbContext BoVoyageContext ctx = (BoVoyageContext)validationContext.GetService(typeof(BoVoyageContext)); // On récupère le voyage à valider Voyage voyage = validationContext.ObjectInstance as Voyage; // On fait les contrôles // NB/ On utilise pas la vue locale, car le DbSet est instancié à chaque appel du contrôleur et donc pas chargé quand on arrive sur la vue de création d'un aliment if (voyage.DateDepart >= voyage.DateRetour) { yield return(new ValidationResult("La date de départ doit être inférieure à la date de retour", new string[] { "DateDepart", "DateRetour" })); } }
public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { // On récupère le DbContext BoVoyageContext ctx = (BoVoyageContext)validationContext.GetService(typeof(BoVoyageContext)); // On récupère l'aliment à valider Destination destination = validationContext.ObjectInstance as Destination; // On fait les contrôles // NB/ On utilise pas la vue locale, car le DbSet est instancié à chaque appel du contrôleur et donc pas chargé quand on arrive sur la vue de création d'un aliment var res = ctx.Destination.Find(destination.Id); if (res != null) { yield return(new ValidationResult("L'Id de Destination éxiste déjà", new string[] { "Id" })); } res = ctx.Destination.FirstOrDefault(d => d.Nom == destination.Nom); if (res != null) { yield return(new ValidationResult("Ce nom de Destination éxiste déjà", new string[] { "Nom" })); } }