/// <summary> /// Связать асинхронный результирующий ответ с коллекцией с обработкой функции при положительном условии /// </summary> public static async Task <IResultCollection <TValueOut> > ResultCollectionTryOkAsync <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this, Func <IReadOnlyCollection <TValueIn>, Task <IEnumerable <TValueOut> > > func, IErrorResult error) => await @this. ResultCollectionBindOkAsync(value => ResultCollectionTryAsync(() => func.Invoke(value), error));
/// <summary> /// Добавить асинхронно ошибки результирующего ответа или вернуть результат с ошибками для ответа с коллекцией /// </summary> public static async Task <IResultCollection <TValue> > ResultCollectionBindErrorsOkAsync <TValue>(this IResultCollection <TValue> @this, Func <IReadOnlyCollection <TValue>, Task <IResultError> > okFunc) => await @this. ResultCollectionBindOkAsync(collection => okFunc.Invoke(collection). MapTaskAsync(resultError => resultError.ToResultCollection(collection)));