Пример #1
0
        public IResult <TData> ValidationError <TData>(ValidationResult result, string target = "")
        {
            if (result == null)
            {
                throw new VanthException("Cannot create a validation error without the validation result");
            }
            if (result.IsValid || !result.Errors.Any())
            {
                return(new Result <TData>());
            }


            IErrorBuilder error = DefaultError <TData>(CommonErrorCode.ValidationError,
                                                       CommonErrorType.ValidationError,
                                                       CommonErrorMessage.ValidationError,
                                                       target);

            foreach (ValidationFailure failure in result.Errors)
            {
                error.WithDetail(builder => builder.WithErrorCode(failure.ErrorCode)
                                 .WithMessage(failure.ErrorMessage)
                                 .WithTarget($"Property: {failure.PropertyName}")
                                 .Build());
            }

            return(DefaultResult <TData>(error, null, CommonErrorCode.ValidationError));
        }
Пример #2
0
        private IResult <TData> DefaultResult <TData>(IErrorBuilder builder, IErrorDetail detail, string errorCode)
        {
            var statusCode = Convert.ToInt32(errorCode);

            if (detail is null)
            {
                return(new Result <TData>().AddError(builder.Build()).AddStatusCode(statusCode));
            }

            builder.WithDetail(detail);
            return(new Result <TData>().AddError(builder.Build()).AddStatusCode(statusCode));
        }