From f4dda6e4657806d89602baf9cb23bb6d7eb3e8da Mon Sep 17 00:00:00 2001 From: Loretta Date: Fri, 30 Aug 2024 16:29:39 +0200 Subject: [PATCH] improvements, fixes, etc... --- .../Services/AcSignalRClientBase.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs b/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs index 705f646..a376492 100644 --- a/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs +++ b/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs @@ -115,20 +115,22 @@ namespace AyCode.Blazor.Components.Services public virtual Task PostDataAsync(int messageTag, TPostData postData, Func, Task> responseCallback) //where TPostData : class where TResponseData : class => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(postData), responseCallback); - - public Task GetAllIntoAsync(List intoList, int messageTag, object[]? contextParams = null) where T : IEntityGuid + public Task GetAllIntoAsync(List intoList, int messageTag, object[]? contextParams = null, Action? callback = null) where TResponseItem : IEntityGuid { - return GetAllAsync>(messageTag, response => + return GetAllAsync>(messageTag, response => { + var logText = $"GetAllIntoAsync<{typeof(TResponseItem).Name}>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}; {ConstHelper.NameByValue(TagsName, messageTag)};"; + intoList.Clear(); - if (response.Status != SignalResponseStatus.Success || response.ResponseData == null) + if (response.Status == SignalResponseStatus.Success && response.ResponseData != null) { - Logger.Error($"GetAllIntoAsync<{typeof(T).Name}>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}; {ConstHelper.NameByValue(TagsName, messageTag)};"); - return Task.CompletedTask; + Logger.Debug(logText); + intoList.AddRange(response.ResponseData); } + else Logger.Error(logText); - intoList.AddRange(response.ResponseData); + callback?.Invoke(); return Task.CompletedTask; }, contextParams); }