From 05934c292a7f4c769e1c567552735f34cadf05fc Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Mon, 27 May 2024 20:00:41 +0200 Subject: [PATCH 1/2] improvements --- TIAM.Services/AcSignalRTags.cs | 10 ---------- TIAM.Services/SignalRTags.cs | 15 +++++++++++++++ TIAMWebApp/Server/Services/DevAdminSignalRhub.cs | 5 +++-- TIAMWebApp/Shared/Services/AcSignalRClientBase.cs | 11 ++++++----- 4 files changed, 24 insertions(+), 17 deletions(-) delete mode 100644 TIAM.Services/AcSignalRTags.cs create mode 100644 TIAM.Services/SignalRTags.cs diff --git a/TIAM.Services/AcSignalRTags.cs b/TIAM.Services/AcSignalRTags.cs deleted file mode 100644 index 6540239b..00000000 --- a/TIAM.Services/AcSignalRTags.cs +++ /dev/null @@ -1,10 +0,0 @@ -using AyCode.Services.SignalRs; - -namespace TIAM.Services; - -public class SignalRTags : AcSignalRTags -{ - public const int GetTransfersAsync = 5; - public const int GetPropertiesByOwnerIdAsync = 6; - public const int UpdateTransferAsync = 7; -} \ No newline at end of file diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs new file mode 100644 index 00000000..fb09c24a --- /dev/null +++ b/TIAM.Services/SignalRTags.cs @@ -0,0 +1,15 @@ +using AyCode.Services.SignalRs; +using TIAM.Entities.Transfers; + +namespace TIAM.Services; + +public class SignalRTags : AcSignalRTags +{ + //[SignalMessageTag(null, typeof(SignalResponseMessage), null, null)] + public static readonly int GetTransfersAsync = 5; + + public static readonly int GetPropertiesByOwnerIdAsync = 6; + + [SignalMessageTag(typeof(SignalPostJsonDataMessage), typeof(SignalResponseMessage), null, null)] + public static readonly int UpdateTransferAsync = 7; +} \ No newline at end of file diff --git a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs index c7bb7926..6a1efa3f 100644 --- a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs +++ b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs @@ -71,11 +71,12 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController } else if (messageTag == SignalRTags.UpdateTransferAsync) { - //var jsonPostData = message!.MessagePackTo().PostData; + + //var jsonPostData = message!.MessagePackTo().PostDataJson; //_logger.DetailConditional($"PostData: [{jsonPostData}]"); //var transfer = jsonPostData.JsonTo()!; - var transfer = message!.MessagePackTo().PostData.JsonTo()!; + var transfer = message!.MessagePackTo>().PostData; await transferDataAPIController.UpdateTransfer(transfer); await ResponseToCaller(messageTag, new SignalResponseMessage(SignalResponseStatus.Success, transfer.ToJson()), requestId); diff --git a/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs b/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs index cb5311d1..588ac4b9 100644 --- a/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs +++ b/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs @@ -88,8 +88,9 @@ namespace TIAMWebApp.Shared.Application.Services Logger.DebugConditional($"Client SendMessageToServerAsync; {nameof(messageTag)}: {messageTag}; {nameof(requestId)}: {requestId};"); await StartConnection(); - - HubConnection.SendAsync(nameof(IAcSignalRHubClient.OnReceiveMessage), messageTag, message?.ToMessagePack(ContractlessStandardResolver.Options), requestId).Forget(); + + var msgp = message?.ToMessagePack(ContractlessStandardResolver.Options); + HubConnection.SendAsync(nameof(IAcSignalRHubClient.OnReceiveMessage), messageTag, msgp, requestId).Forget(); } #region CRUD @@ -104,9 +105,9 @@ namespace TIAMWebApp.Shared.Application.Services => SendMessageToServerAsync(messageTag, null, responseCallback); public virtual Task UpdateAsync(int messageTag, TPostData postData) where TPostData : class - => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(postData), AcDomain.NextUniqueInt32); - public virtual Task UpdateAsync(int messageTag, TPostData postData, Action> responseCallback) - => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(postData!), responseCallback); + => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(postData), AcDomain.NextUniqueInt32); + public virtual Task UpdateAsync(int messageTag, TPostData postData, Action> responseCallback) where TPostData : class + => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(postData), responseCallback); #endregion CRUD From d2f8819a6cc629b65f1e87b5cd53227bc82eed91 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Mon, 27 May 2024 20:38:37 +0200 Subject: [PATCH 2/2] improvements, fixes, etc... --- TIAM.Database/DataLayers/Admins/AdminDal.cs | 2 +- TIAM.Services/SignalRTags.cs | 1 + TIAMWebApp/Client/Services/UserDataServiceWeb.cs | 10 +++++----- .../Server/Controllers/ServiceProviderAPIController.cs | 2 +- TIAMWebApp/Server/Services/DevAdminSignalRhub.cs | 8 ++++---- TIAMWebApp/Shared/Services/AcSignalRClientBase.cs | 7 ++++--- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index 080623c6..28eed041 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -239,7 +239,7 @@ namespace TIAM.Database.DataLayers.Admins return SessionAsync(ctx => ctx.ServiceProviders.ToList()); } - public Task GetServiceProvidersAsyncJson() + public Task GetServiceProvidersJsonAsync() { return SessionAsync(ctx => ctx.ServiceProviders.ToJson()); } diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs index fb09c24a..7b3a7993 100644 --- a/TIAM.Services/SignalRTags.cs +++ b/TIAM.Services/SignalRTags.cs @@ -12,4 +12,5 @@ public class SignalRTags : AcSignalRTags [SignalMessageTag(typeof(SignalPostJsonDataMessage), typeof(SignalResponseMessage), null, null)] public static readonly int UpdateTransferAsync = 7; + public static readonly int GetCompaniesAsync = 8; } \ No newline at end of file diff --git a/TIAMWebApp/Client/Services/UserDataServiceWeb.cs b/TIAMWebApp/Client/Services/UserDataServiceWeb.cs index 0d33593f..77b58f88 100644 --- a/TIAMWebApp/Client/Services/UserDataServiceWeb.cs +++ b/TIAMWebApp/Client/Services/UserDataServiceWeb.cs @@ -52,17 +52,17 @@ namespace TIAMWebApp.Client.Services if (userModelDto != null) { - Dictionary userProperties = new Dictionary(); + var userProperties = new Dictionary(); //get user's properties - bool hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : userModelDto.ServiceProviders.Count == 0 ? false : false; + var hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : (userModelDto.ServiceProviders.Count == 0 ? false : false); if (hasProperties) { //var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id); - var Properties = userModelDto.ServiceProviders; + var properties = userModelDto.ServiceProviders; - _logger.Info($"{Properties.Count} properties found"); - foreach ( var property in Properties ) + _logger.Info($"{properties.Count} properties found"); + foreach ( var property in properties ) { userProperties.Add(property.Id, property.Name); } diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index 743c9630..644d3d2d 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -81,7 +81,7 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.GetServiceProvidersRouteName)] public async Task GetServiceProviders() { - return await _adminDal.GetServiceProvidersAsyncJson(); + return await _adminDal.GetServiceProvidersJsonAsync(); } //18. diff --git a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs index 0d36aee9..7f07b22f 100644 --- a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs +++ b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs @@ -60,14 +60,14 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController { if (messageTag == SignalRTags.GetTransfersAsync) { - await ResponseToCaller(messageTag, new SignalResponseMessage(SignalResponseStatus.Success, await transferDataAPIController.GetTransfers()), requestId); + await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await transferDataAPIController.GetTransfers()), requestId); } else if (messageTag == SignalRTags.GetPropertiesByOwnerIdAsync) { var ownerId = message!.MessagePackTo().Id; var json = (await serviceProviderAPIController.GetServiceProvidersByOwnerId(ownerId)).ToJson(); - await ResponseToCaller(messageTag, new SignalResponseMessage(SignalResponseStatus.Success, json), requestId); + await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, json), requestId); } else if (messageTag == SignalRTags.UpdateTransferAsync) { @@ -79,11 +79,11 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController var transfer = message!.MessagePackTo>().PostData; await transferDataAPIController.UpdateTransfer(transfer); - await ResponseToCaller(messageTag, new SignalResponseMessage(SignalResponseStatus.Success, transfer.ToJson()), requestId); + await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, transfer.ToJson()), requestId); } else if (messageTag == SignalRTags.GetCompaniesAsync) { - await ResponseToCaller(messageTag, new SignalResponseMessage(SignalResponseStatus.Success, await serviceProviderAPIController.GetServiceProviders()), requestId); + await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, await serviceProviderAPIController.GetServiceProviders()), requestId); } return; } diff --git a/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs b/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs index 588ac4b9..a050d569 100644 --- a/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs +++ b/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs @@ -182,23 +182,24 @@ namespace TIAMWebApp.Shared.Application.Services if (requestId.HasValue && _responseByRequestId.ContainsKey(requestId.Value)) { var reqId = requestId.Value; + var responseMessage = message.MessagePackTo(ContractlessStandardResolver.Options); switch (_responseByRequestId[reqId]) { case null: - _responseByRequestId[reqId] = message.MessagePackTo>(); + _responseByRequestId[reqId] = responseMessage; return Task.CompletedTask; case Action> messagePackCallback: _responseByRequestId.TryRemove(reqId, out _); - messagePackCallback.Invoke(message.MessagePackTo>(ContractlessStandardResolver.Options)); + messagePackCallback.Invoke(responseMessage); return Task.CompletedTask; //case Action jsonCallback: // _responseByRequestId.TryRemove(reqId, out _); - // jsonCallback.Invoke(message.MessagePackTo()); + // jsonCallback.Invoke(responseMessage); // return Task.CompletedTask; default: