/// <summary>
 /// Добавить асинхронно ошибки результирующего ответа или вернуть результат с ошибками для ответа со значением
 /// </summary>
 public static async Task <IResultValue <TValue> > ResultValueBindErrorsOkAsync <TValue>(this IResultValue <TValue> @this,
                                                                                         Func <TValue, Task <IResultError> > okFunc) =>
 await @this.
 ResultValueBindOkAsync(value => okFunc.Invoke(value).
                        MapTaskAsync(resultError => resultError.ToResultValue(value)));
Beispiel #2
0
 /// <summary>
 /// Результирующий ответ со значением с обработкой функции при положительном условии для задачи-объекта
 /// </summary>
 public static async Task <IResultValue <TValueOut> > ResultValueTryOkAsync <TValueIn, TValueOut>(this IResultValue <TValueIn> @this,
                                                                                                  Func <TValueIn, Task <TValueOut> > func, IErrorResult error) =>
 await @this.
 ResultValueBindOkAsync(value => ResultValueTryAsync(() => func.Invoke(value), error));
 /// <summary>
 /// Выполнение асинхронного положительного условия или возвращение предыдущей ошибки в результирующем ответе значения с возвращением к коллекции
 /// </summary>
 public static async Task <IResultCollection <TValueOut> > ResultValueBindOkToCollectionAsync <TValueIn, TValueOut>(this IResultValue <TValueIn> @this,
                                                                                                                    Func <TValueIn, Task <IResultCollection <TValueOut> > > okFunc) =>
 await @this.
 ResultValueBindOkAsync(valueIn => okFunc(valueIn).
                        MapAsync(resultCollection => resultCollection.ToResultValue())).
 ToResultCollectionTaskAsync();