Exemple #1
0
        public static IActionResult ToResult(this Operation operation)
        {
            switch (operation.Result)
            {
            case OperationResult.Succeeded:
                return(new OkResult());

            case OperationResult.Refused:
                return(new ForbidResult());

            case OperationResult.Error:
            case OperationResult.SucceededWithErrors:
            {
                var errors = operation.Errors.Count > 1
                                                ? new Error(ErrorEvents.AggregateErrors, ErrorStrings.AggregateErrors,
                                                            HttpStatusCode.InternalServerError, operation.Errors)
                                                : operation.Errors[0];

                var error = new ErrorObjectResult(errors);
                if (operation.Succeeded)
                {
                    error.StatusCode = 200;
                }

                return(error);
            }

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemple #2
0
        public static bool TryValidateModelOrError(this ControllerBase controller, object instance, long eventId,
                                                   string errorMessage, out ErrorObjectResult error,
                                                   HttpStatusCode statusCode = HttpStatusCode.UnprocessableEntity, params object[] args)
        {
            if (!controller.TryValidateModel(instance))
            {
                var validationError = controller.ConvertModelStateToError(eventId, errorMessage, statusCode);
                error = new ErrorObjectResult(validationError, args);
                return(false);
            }

            error = null;
            return(true);
        }