diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs index 070752f1..d379626b 100644 --- a/TIAM.Database/DataLayers/Admins/AdminDal.cs +++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs @@ -233,7 +233,10 @@ namespace TIAM.Database.DataLayers.Admins public Task> GetServiceProvidersAsync() => SessionAsync(ctx => ctx.GetServiceProviders().ToList()); - public Task GetServiceProvidersAsyncJson() => SessionAsync(ctx => ctx.GetServiceProviders().ToJson()); + public Task GetServiceProvidersJsonAsync() + { + return SessionAsync(ctx => ctx.ServiceProviders.ToJson()); + } public virtual Task GetServiceProviderByIdAsync(Guid id) => SessionAsync(ctx => ctx.GetServiceProviderById(id)); diff --git a/TIAM.Services/AcSignalRTags.cs b/TIAM.Services/AcSignalRTags.cs deleted file mode 100644 index 7f6ef93c..00000000 --- a/TIAM.Services/AcSignalRTags.cs +++ /dev/null @@ -1,12 +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; - public const int GetCompaniesAsync = 8; - public const int UpdateCompanyAsync = 9; -} \ No newline at end of file diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs new file mode 100644 index 00000000..7b3a7993 --- /dev/null +++ b/TIAM.Services/SignalRTags.cs @@ -0,0 +1,16 @@ +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; + 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 6e503d15..2193f501 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -82,7 +82,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 b9a27a16..55687320 100644 --- a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs +++ b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs @@ -61,29 +61,30 @@ 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) { - //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); + 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); } else if (messageTag == SignalRTags.UpdateCompanyAsync) { diff --git a/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs b/TIAMWebApp/Shared/Services/AcSignalRClientBase.cs index cb5311d1..a050d569 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 @@ -181,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: