public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var result = new List <ValidationResult>(); if (string.IsNullOrWhiteSpace(PrenomDemandeur)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(PrenomDemandeur) })); } if (string.IsNullOrWhiteSpace(NomDemandeur)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(NomDemandeur) })); } result.AddRange(InfosAdresse.Validate(nameof(InfosAdresse), true)); if (string.IsNullOrWhiteSpace(CourrielDemandeur) || !Helpers.ValidationHelper.IsEmailAdressNumberValid(CourrielDemandeur)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(CourrielDemandeur) })); } if (Conseiller) { result.AddRange(Advisor.Validate(nameof(Advisor), true)); } if (Tuteur) { if (string.IsNullOrWhiteSpace(PrenomTuteur)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(PrenomTuteur) })); } if (string.IsNullOrWhiteSpace(NomTuteur)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(NomTuteur) })); } } if (!Avocat && !Beneficiaire && !Fiduciaire && !Liquidateur && !Mandataire && !MaisonFuneraire && !InstitutionFinanciere && !Tuteur & !AutreRole) { result.Add(new ValidationResult(string.Empty, new[] { nameof(Avocat) })); } if ((string.IsNullOrWhiteSpace(AutreTitre)) && (AutreRole)) { result.Add(new ValidationResult(string.Empty, new[] { nameof(AutreTitre) })); } if (Mandataire) { result.AddRange(CopieMandat.Validate(nameof(CopieMandat), !Mandataire)); } if (MaisonFuneraire) { result.AddRange(CessionFuneraire.Validate(nameof(CessionFuneraire), !MaisonFuneraire)); } if (InstitutionFinanciere) { result.AddRange(CessionFinanciere.Validate(nameof(CessionFinanciere), !InstitutionFinanciere)); } if (Avocat) { result.AddRange(Confirmation.Validate(nameof(Confirmation), !Avocat)); } if (Tuteur) { result.AddRange(CertificatNaissance.Validate(nameof(CertificatNaissance), !Tuteur)); result.AddRange(ActeTutelle.Validate(nameof(ActeTutelle), !Tuteur)); } if (Fiduciaire) { result.AddRange(ActeFiducie.Validate(nameof(ActeFiducie), !Fiduciaire)); } return(result); }