예제 #1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var result = new List <ValidationResult>();

            result.AddRange(FirstOnsetDate.ValidatePastDate(nameof(FirstOnsetDate), true));
            result.AddRange(LastMedicalConsultationDate.ValidatePastDate(nameof(LastMedicalConsultationDate), true));

            for (var i = 0; i <= PhysicianInfos.Count - 1; i++)
            {
                result.AddRange(PhysicianInfos[i].Validate($"{nameof(PhysicianInfos)}[{i}]"));
            }

            if (string.IsNullOrWhiteSpace(Diagnosis))
            {
                result.Add(new ValidationResult(string.Empty, new[] { nameof(Diagnosis) }));
            }

            if (string.IsNullOrWhiteSpace(OnsetDescription))
            {
                result.Add(new ValidationResult(string.Empty, new[] { nameof(OnsetDescription) }));
            }

            if (string.IsNullOrWhiteSpace(HasFamilyMemberWithSameProblem))
            {
                result.Add(new ValidationResult(string.Empty, new[] { nameof(HasFamilyMemberWithSameProblem) }));
            }

            if (HasFamilyMemberWithSameProblem == "O")
            {
                result.AddRange(FamilyMembers.Validate(nameof(FamilyMembers), true));
            }

            return(result);
        }