diff --git a/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs b/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs index f2c6694..ea78ddf 100644 --- a/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs +++ b/AyCode.Blazor.Components/Services/AcSignalRClientBase.cs @@ -84,6 +84,11 @@ namespace AyCode.Blazor.Components.Services } #region CRUD + public virtual Task GetByIdAsync(int messageTag, object id) where TResponseData : class + => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(new IdMessage(id)), AcDomain.NextUniqueInt32); + public virtual Task GetByIdAsync(int messageTag, Func, Task> responseCallback, object id) + => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(new IdMessage(id)), responseCallback); + public virtual Task GetByIdAsync(int messageTag, object[] ids) where TResponseData : class => SendMessageToServerAsync(messageTag, new SignalPostJsonDataMessage(new IdMessage(ids)), AcDomain.NextUniqueInt32); public virtual Task GetByIdAsync(int messageTag, Func, Task> responseCallback, object[] ids) @@ -93,9 +98,9 @@ namespace AyCode.Blazor.Components.Services => SendMessageToServerAsync(messageTag); public virtual Task GetAllAsync(int messageTag, Func, Task> responseCallback) => SendMessageToServerAsync(messageTag, null, responseCallback); + public virtual Task GetAllAsync(int messageTag, Func, Task> responseCallback, object[]? contextIds) => SendMessageToServerAsync(messageTag, (contextIds == null || contextIds.Length == 0 ? null : new SignalPostJsonDataMessage(new IdMessage(contextIds))), responseCallback); - public virtual Task GetAllAsync(int messageTag, object[]? contextIds) where TResponseData : class => SendMessageToServerAsync(messageTag, contextIds == null || contextIds.Length == 0 ? null : new SignalPostJsonDataMessage(new IdMessage(contextIds)), AcDomain.NextUniqueInt32); diff --git a/AyCode.Blazor.Components/Services/AcSignalRDataSource.cs b/AyCode.Blazor.Components/Services/AcSignalRDataSource.cs index 8f54911..016e440 100644 --- a/AyCode.Blazor.Components/Services/AcSignalRDataSource.cs +++ b/AyCode.Blazor.Components/Services/AcSignalRDataSource.cs @@ -192,7 +192,7 @@ namespace AyCode.Blazor.Components.Services try { - resultitem = await SignalRClient.GetByIdAsync(SignalRCrudTags.GetItemMessageTag, [id]); + resultitem = await SignalRClient.GetByIdAsync(SignalRCrudTags.GetItemMessageTag, id); if (resultitem == null) return null; if (TryGetIndex(id, out var index)) InnerList[index] = resultitem;