Implement UserProductMapping add/update/delete; improvements, fixes, etc...
This commit is contained in:
parent
ed11051820
commit
57425f91c0
|
|
@ -3,6 +3,7 @@ using AyCode.Core;
|
||||||
using AyCode.Core.Extensions;
|
using AyCode.Core.Extensions;
|
||||||
using AyCode.Core.Helpers;
|
using AyCode.Core.Helpers;
|
||||||
using AyCode.Core.Loggers;
|
using AyCode.Core.Loggers;
|
||||||
|
using AyCode.Interfaces.Entities;
|
||||||
using AyCode.Services.Loggers;
|
using AyCode.Services.Loggers;
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using MessagePack.Resolvers;
|
using MessagePack.Resolvers;
|
||||||
|
|
@ -27,6 +28,7 @@ namespace AyCode.Blazor.Components.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class AcSignalRClientBase : IAcSignalRHubClient
|
public abstract class AcSignalRClientBase : IAcSignalRHubClient
|
||||||
{
|
{
|
||||||
private readonly ConcurrentDictionary<int, SignalRRequestModel> _responseByRequestId = new();
|
private readonly ConcurrentDictionary<int, SignalRRequestModel> _responseByRequestId = new();
|
||||||
|
|
@ -117,16 +119,31 @@ namespace AyCode.Blazor.Components.Services
|
||||||
public virtual Task GetAllAsync<TResponseData>(int messageTag, Func<ISignalResponseMessage<TResponseData?>, Task> responseCallback)
|
public virtual Task GetAllAsync<TResponseData>(int messageTag, Func<ISignalResponseMessage<TResponseData?>, Task> responseCallback)
|
||||||
=> SendMessageToServerAsync(messageTag, null, responseCallback);
|
=> SendMessageToServerAsync(messageTag, null, responseCallback);
|
||||||
|
|
||||||
public virtual Task GetAllAsync<TResponseData>(int messageTag, Func<ISignalResponseMessage<TResponseData?>, Task> responseCallback, object[]? contextIds)
|
public virtual Task GetAllAsync<TResponseData>(int messageTag, Func<ISignalResponseMessage<TResponseData?>, Task> responseCallback, object[]? contextParams)
|
||||||
=> SendMessageToServerAsync(messageTag, (contextIds == null || contextIds.Length == 0 ? null : new SignalPostJsonDataMessage<IdMessage>(new IdMessage(contextIds))), responseCallback);
|
=> SendMessageToServerAsync(messageTag, (contextParams == null || contextParams.Length == 0 ? null : new SignalPostJsonDataMessage<IdMessage>(new IdMessage(contextParams))), responseCallback);
|
||||||
public virtual Task<TResponseData?> GetAllAsync<TResponseData>(int messageTag, object[]? contextIds) where TResponseData : class
|
public virtual Task<TResponseData?> GetAllAsync<TResponseData>(int messageTag, object[]? contextParams) where TResponseData : class
|
||||||
=> SendMessageToServerAsync<TResponseData>(messageTag, contextIds == null || contextIds.Length == 0 ? null : new SignalPostJsonDataMessage<IdMessage>(new IdMessage(contextIds)), AcDomain.NextUniqueInt32);
|
=> SendMessageToServerAsync<TResponseData>(messageTag, contextParams == null || contextParams.Length == 0 ? null : new SignalPostJsonDataMessage<IdMessage>(new IdMessage(contextParams)), AcDomain.NextUniqueInt32);
|
||||||
|
|
||||||
public virtual Task<TPostData?> PostDataAsync<TPostData>(int messageTag, TPostData postData) where TPostData : class
|
public virtual Task<TPostData?> PostDataAsync<TPostData>(int messageTag, TPostData postData) where TPostData : class
|
||||||
=> SendMessageToServerAsync<TPostData>(messageTag, new SignalPostJsonDataMessage<TPostData>(postData), AcDomain.NextUniqueInt32);
|
=> SendMessageToServerAsync<TPostData>(messageTag, new SignalPostJsonDataMessage<TPostData>(postData), AcDomain.NextUniqueInt32);
|
||||||
public virtual Task PostDataAsync<TPostData>(int messageTag, TPostData postData, Func<ISignalResponseMessage<TPostData?>, Task> responseCallback) where TPostData : class
|
public virtual Task PostDataAsync<TPostData>(int messageTag, TPostData postData, Func<ISignalResponseMessage<TPostData?>, Task> responseCallback) where TPostData : class
|
||||||
=> SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage<TPostData>(postData), responseCallback);
|
=> SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage<TPostData>(postData), responseCallback);
|
||||||
|
|
||||||
|
public Task GetAllIntoAsync<T>(List<T> intoList, int messageTag, object[]? contextParams = null) where T : IEntityGuid
|
||||||
|
{
|
||||||
|
return GetAllAsync<List<T>>(messageTag, response =>
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
intoList.AddRange(response.ResponseData);
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}, contextParams);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion CRUD
|
#endregion CRUD
|
||||||
|
|
||||||
public virtual Task<TResponse?> SendMessageToServerAsync<TResponse>(int messageTag) where TResponse : class
|
public virtual Task<TResponse?> SendMessageToServerAsync<TResponse>(int messageTag) where TResponse : class
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue