From f7a5d4fc2879a129e58f455fad52f04129ccd651 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 3 May 2024 10:30:09 +0200 Subject: [PATCH] =?UTF-8?q?Erweitere=20ThenAsync=20Methoden=20in=20DTOExte?= =?UTF-8?q?nsions=20um=20asynchrone=20Success-Funktionalit=C3=A4t.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DigitalData.Core.DTO/DTOExtensions.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/DigitalData.Core.DTO/DTOExtensions.cs b/DigitalData.Core.DTO/DTOExtensions.cs index 8559d6f..daad4ce 100644 --- a/DigitalData.Core.DTO/DTOExtensions.cs +++ b/DigitalData.Core.DTO/DTOExtensions.cs @@ -68,23 +68,45 @@ namespace DigitalData.Core.DTO return result.IsSuccess ? Success() : Fail(result.Messages, result.Notices); } + public static async Task ThenAsync(this Result result, Func> SuccessAsync, Func, List, I> Fail) + { + return result.IsSuccess ? await SuccessAsync() : Fail(result.Messages, result.Notices); + } + public static I Then(this DataResult result, Func Success, Func, List, I> Fail) { return result.IsSuccess ? Success(result.Data) : Fail(result.Messages, result.Notices); } + public static async Task ThenAsync(this DataResult result, Func> SuccessAsync, Func, List, I> Fail) + { + return result.IsSuccess ? await SuccessAsync(result.Data) : Fail(result.Messages, result.Notices); + } + public static async Task ThenAsync(this Task tResult, Func Success, Func, List, I> Fail) { Result result = await tResult; return result.IsSuccess ? Success() : Fail(result.Messages, result.Notices); } + public static async Task ThenAsync(this Task tResult, Func> SuccessAsync, Func, List, I> Fail) + { + Result result = await tResult; + return result.IsSuccess ? await SuccessAsync() : Fail(result.Messages, result.Notices); + } + public static async Task ThenAsync(this Task> tResult, Func Success, Func, List, I> Fail) { DataResult result = await tResult; return result.IsSuccess ? Success(result.Data) : Fail(result.Messages, result.Notices); } + public static async Task ThenAsync(this Task> tResult, Func> SuccessAsync, Func, List, I> Fail) + { + DataResult result = await tResult; + return result.IsSuccess ? await SuccessAsync(result.Data) : Fail(result.Messages, result.Notices); + } + public static string Join(this IEnumerable values, string start = "", string seperator = ". ", string end = ".") => new StringBuilder(start).Append(string.Join(seperator, values)).Append(end).ToString();