private HttpStatusCode GetHttpStatusCode(OperationExecutionStatus status)
        {
            switch (status)
            {
            case OperationExecutionStatus.ExecutionWithoutErrors:
            {
                return(HttpStatusCode.OK);
            }

            case OperationExecutionStatus.DataValidationErrors:
            {
                return(HttpStatusCode.BadRequest);
            }

            case OperationExecutionStatus.PermissionsValidationErrors:
            {
                return(HttpStatusCode.Forbidden);
            }

            case OperationExecutionStatus.AuthorizationErrors:
            {
                return(HttpStatusCode.Unauthorized);
            }

            default:
            {
                return(HttpStatusCode.InternalServerError);
            }
            }
        }
 public OperationExecutionException(Error error, OperationExecutionStatus status)
     : base(error.Message)
 {
     Errors = new List <Error> {
         error
     };
     Status = status;
 }
 public OperationExecutionException(List <Error> errors, OperationExecutionStatus status)
     : base(string.Join("\n", errors.Select(e => $"[ {e.Message} ]")))
 {
     Errors = errors;
     Status = status;
 }