public ValidationResult(Message message, IEnumerable<ValidationNode> nodes) { var children = nodes.ToList(); Message = message ?? new Message(); Children = children; Status = children.Select(c => c.Status).DefaultIfEmpty(Status.Pass).Max(); }
public ValidationResult Validate(Message message) { var validators = _source.For(message.Type).ToList(); if (validators.Any() == false) { return new ValidationResult(message, new[] { new ValidationNode(Status.Warning, string.Format("No validators for {0} have been registered.", message.Type)) }); } var results = validators .Select(v => v.Validate(message)) .ToList(); return new ValidationResult(message, results); }