private static ObjectResult MapFailureResultToObjectResult <TMessage>(this IFailureResult <TMessage> failureResult, HttpStatusCode statusCode) => new ObjectResult(new ErrorModel <TMessage>(failureResult.ErrorMessages)) { StatusCode = (int)statusCode, DeclaredType = typeof(IFailureResult <TMessage>), };
/// <summary> /// Creates new successful result from failure result. /// </summary> /// <param name="failureResult">Failure result model.</param> /// <typeparam name="TMessage">Type of error message.</typeparam> /// <returns>New successful result from failure result.</returns> public static ISuccessfulResult ToSuccessfulResult <TMessage>(this IFailureResult <TMessage> failureResult) => ResultFactoryBase.CreateSuccess <TMessage>();
/// <summary> /// Creates new successful result from failure result. /// </summary> /// <param name="failureResult">Failure result model.</param> /// <param name="data">Value of data.</param> /// <typeparam name="TData">Type of data.</typeparam> /// <typeparam name="TMessage">Type of error message.</typeparam> /// <returns>New successful result from failure result.</returns> public static ISuccessfulResult <TData> ToSuccessfulResult <TData, TMessage>( this IFailureResult <TMessage> failureResult, TData data) => ResultFactoryBase.CreateSuccess <TData, TMessage>(data);
/// <summary> /// Creates new failure result from existed <see cref="failureResult"/> with additional errors. /// </summary> /// <param name="failureResult">Failure result.</param> /// <param name="errors">Messages that represent errors.</param> /// <typeparam name="TMessage">Type of error message.</typeparam> /// <returns>New failure result from existed <see cref="failureResult"/>.</returns> public static IFailureResult <TMessage> WithErrors <TMessage>( this IFailureResult <TMessage> failureResult, params TMessage[] errors) => WithErrors(failureResult, new List <TMessage>(errors));
/// <summary> /// Creates new failure result from existed <see cref="failureResult"/> with additional errors. /// </summary> /// <param name="failureResult">Failure result.</param> /// <param name="errors">Messages that represent errors.</param> /// <typeparam name="TMessage">Type of error message.</typeparam> /// <returns>New failure result from existed <see cref="failureResult"/>.</returns> public static IFailureResult <TMessage> WithErrors <TMessage>( this IFailureResult <TMessage> failureResult, IEnumerable <TMessage> errors) => ResultFactoryBase.CreateFailure( failureResult.ErrorMessages.Concat(errors), failureResult.Exception);
/// <summary> /// Creates new failure result from existed <see cref="failureResult"/> with additional error. /// </summary> /// <param name="failureResult">Failure result.</param> /// <param name="error">Message that represents error.</param> /// <typeparam name="TMessage">Type of error message.</typeparam> /// <returns>New failure result from existed <see cref="failureResult"/>.</returns> public static IFailureResult <TMessage> WithError <TMessage>( this IFailureResult <TMessage> failureResult, TMessage error) => WithErrors(failureResult, new[] { error });
/// <summary> /// Wraps the specified <see cref="IFailureResult" /> with a typed <see cref="IFailureResult{T}" />. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="failure">The failure.</param> /// <returns></returns> internal static IFailureResult <T> Return <T>(IFailureResult failure) => new FailureResult <T>(failure);
public FailureResult(IFailureResult failure) : base(failure) { }