Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }