Compare commits

..

No commits in common. "6cc32c8f84f517ff5fe7f270641a0504af7af1b8" and "a1dc60b94a525c49c7536aa76a6d8bb13edca316" have entirely different histories.

9 changed files with 33 additions and 117 deletions

View File

@ -1,84 +0,0 @@
@using TIAM.Entities.Products
@using TIAM.Entities.ServiceProviders
@using TIAM.Entities.Transfers
@using TIAM.Entities.Drivers
@using TIAM.Entities.Users
@using TIAM.Models.Dtos.Users
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Utility
@using AyCode.Services.Loggers
@using TIAM.Core.Loggers
@using TIAM.Entities.Addresses
@using TIAMSharedUI.Shared.Components.Grids
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMWebApp.Shared.Application.Services
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@inject ITransferDataService transferDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient AdminSignalRClient;
<AddressDetailGrid @ref="_addressGrid"
Logger="_logger"
SignalRClient="AdminSignalRClient"
OnDataItemSaving="DataItemSaving"
OnDataItemDeleting="DataItemDeleting"
PageSize="5"
AutoExpandAllGroupRows="true"
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
KeyFieldName="Id"
ValidationEnabled="false"
EditMode="GridEditMode.EditForm"
ColumnResizeMode="GridColumnResizeMode.NextColumn"
ShowFilterRow="true">
<Columns>
<DxGridCommandColumn NewButtonVisible="true" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
<DxGridDataColumn FieldName="Id" GroupIndex="0" />
<DxGridDataColumn FieldName="AddressText" />
<DxGridDataColumn FieldName="IsValid" Width="40" />
<DxGridDataColumn FieldName="IsHelper" Width="40"/>
<DxGridDataColumn FieldName="Latitude" Width="40"/>
<DxGridDataColumn FieldName="Longitude" Width="40"/>
<DxGridDataColumn FieldName="Created" Width="40"/>
<DxGridDataColumn FieldName="Modified" Width="40"/>
</Columns>
<EditFormTemplate>
@{
Address bleh = (Address)context.EditModel;
}
@* <EditAddressComponent TModel="Address" Model="@bleh" OnAddressChanged="@((Address model) => SaveAddress(model))" /> *@
<EditAddressComponent Model="@((Address)context.EditModel)" OnAddressChanged="@((Address model) => SaveAddress(model))" />
</EditFormTemplate>
</AddressDetailGrid>
@code {
[Parameter] public bool KeyboardNavigationEnabled { get; set; }
private AddressDetailGrid _addressGrid;
private LoggerClient<AddressDetailGridComponent> _logger;
public void SaveAddress(object addressOwnerToSave)
{
_addressGrid.SaveChangesAsync();
}
protected override Task OnInitializedAsync()
{
_logger = new LoggerClient<AddressDetailGridComponent>(LogWriters.ToArray());
return Task.CompletedTask;
}
private void DataItemSaving(GridEditModelSavingEventArgs obj)
{
_logger.Debug($"DataItemSaving");
}
private void DataItemDeleting(GridDataItemDeletingEventArgs obj)
{
_logger.Debug($"DataItemDeleting");
}
}

View File

@ -133,7 +133,7 @@
<CompaniesNestedUserProductMapping CurrentCompany="(TIAM.Entities.ServiceProviders.Company)context.DataItem" KeyboardNavigationEnabled="true" /> <CompaniesNestedUserProductMapping CurrentCompany="(TIAM.Entities.ServiceProviders.Company)context.DataItem" KeyboardNavigationEnabled="true" />
</DetailRowTemplate> *@ </DetailRowTemplate> *@
<DetailRowTemplate> <DetailRowTemplate>
<AddressDetailGridComponent AddressContext="(Company)context.DataItem" KeyboardNavigationEnabled="true" /> <AddressGridComponent AddressContext="(TIAM.Entities.ServiceProviders.Company)context.DataItem" ContextIdType="companyprofile" KeyboardNavigationEnabled="true" />
</DetailRowTemplate> </DetailRowTemplate>
<EditFormTemplate Context="EditFormContext"> <EditFormTemplate Context="EditFormContext">
@{ @{

View File

@ -1,17 +0,0 @@
using Microsoft.AspNetCore.Components;
namespace TIAMSharedUI.Shared.Components.Grids;
public class AddressDetailGrid : AddressGrid
{
protected override Task SetParametersAsyncCore(ParameterView parameters)
{
var isFirst = IsFirstInitializeParameters;
return base.SetParametersAsyncCore(parameters);
if (isFirst)
{
}
}
}

View File

@ -8,6 +8,8 @@ public class CompanyGrid : TiamGrid<Company>
{ {
public CompanyGrid() : base() public CompanyGrid() : base()
{ {
GridName = nameof(CompanyGrid);
GetAllMessageTag = SignalRTags.GetCompanies; GetAllMessageTag = SignalRTags.GetCompanies;
AddMessageTag = SignalRTags.AddCompany; AddMessageTag = SignalRTags.AddCompany;
UpdateMessageTag = SignalRTags.UpdateCompany; UpdateMessageTag = SignalRTags.UpdateCompany;

View File

@ -100,6 +100,7 @@ namespace TIAMSharedUI.Shared.Components.Grids
var dataItem = (e.EditModel as TDataItem)!; var dataItem = (e.EditModel as TDataItem)!;
var logText = e.IsNew ? "add" : "update"; var logText = e.IsNew ? "add" : "update";
Logger.Info($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}"); Logger.Info($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
await OnDataItemSaving.InvokeAsync(e); await OnDataItemSaving.InvokeAsync(e);
@ -175,11 +176,11 @@ namespace TIAMSharedUI.Shared.Components.Grids
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer); //transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
} }
protected virtual bool RefreshDataItem(TDataItem dataItem, bool isDelete) public bool RefreshDataItem(TDataItem dataItem, bool isDelete)
{ {
if (dataItem.Id.IsNullOrEmpty()) if (dataItem.Id.IsNullOrEmpty())
{ {
Logger.Error($"{_gridLogName} dataItem.Id.IsNullOrEmpty()"); Logger.Error($"dataItem.Id.IsNullOrEmpty()");
return false; return false;
} }

View File

@ -8,6 +8,8 @@ public class TransferGrid : TiamGrid<Transfer>
{ {
public TransferGrid() : base() public TransferGrid() : base()
{ {
GridName = nameof(TransferGrid);
GetAllMessageTag = SignalRTags.GetTransfers; GetAllMessageTag = SignalRTags.GetTransfers;
AddMessageTag = SignalRTags.AddTransfer; AddMessageTag = SignalRTags.AddTransfer;
UpdateMessageTag = SignalRTags.UpdateTransfer; UpdateMessageTag = SignalRTags.UpdateTransfer;

View File

@ -73,10 +73,4 @@
<Folder Include="Pages\User\Guides\" /> <Folder Include="Pages\User\Guides\" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Update="Pages\User\SysAdmins\AddressDetailGridComponent.razor">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</Content>
</ItemGroup>
</Project> </Project>

View File

@ -25,7 +25,7 @@ public static class ExtensionMethods
{ {
public static object? InvokeMethod(this MethodInfo methodInfo, object obj, params object[]? parameters) public static object? InvokeMethod(this MethodInfo methodInfo, object obj, params object[]? parameters)
{ {
if (methodInfo.GetCustomAttribute(typeof(AsyncStateMachineAttribute)) is AsyncStateMachineAttribute isAsyncTask) if (methodInfo.GetCustomAttribute(typeof(AsyncStateMachineAttribute)) is AsyncStateMachineAttribute isTaks)
{ {
dynamic awaitable = methodInfo.Invoke(obj, parameters)!; dynamic awaitable = methodInfo.Invoke(obj, parameters)!;
return awaitable.GetAwaiter().GetResult(); return awaitable.GetAwaiter().GetResult();
@ -116,6 +116,14 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
await base.OnDisconnectedAsync(exception); await base.OnDisconnectedAsync(exception);
} }
//public async Task OnRequestMessage(int messageTag, int requestId)
//{
// _logger.Info($"Server OnRequestMessage; {nameof(messageTag)}: {messageTag}; {nameof(requestId)}: {requestId}; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier}");
// if (messageTag == SignalRTags.GetTransfersAsync)
// await ResponseToCaller(SignalRTags.PostTransfersAsync, await adminDal.GetTransfersJsonAsync(), requestId);
//}
public async Task OnReceiveMessage(int messageTag, byte[]? message, int? requestId) public async Task OnReceiveMessage(int messageTag, byte[]? message, int? requestId)
{ {
var logText = $"Server OnReceiveMessage; {nameof(messageTag)}: {messageTag}; {nameof(requestId)}: {requestId}; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier}"; var logText = $"Server OnReceiveMessage; {nameof(messageTag)}: {messageTag}; {nameof(requestId)}: {requestId}; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier}";
@ -138,9 +146,15 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
_logger.Debug($"{logText}({methodInfoModel.ParameterType.Name})"); _logger.Debug($"{logText}({methodInfoModel.ParameterType.Name})");
paramValues = new object[1]; paramValues = new object[1];
if (methodInfoModel.ParameterType == typeof(Guid) || methodInfoModel.ParameterType == typeof(Guid?))
if (methodInfoModel.ParameterType == typeof(Guid) || methodInfoModel.ParameterType == typeof(Guid?)) paramValues[0] = message!.MessagePackTo<SignalRequestByIdMessage>().Id; {
else paramValues[0] = message!.MessagePackTo<SignalPostJsonDataMessage<object>>(MessagePackSerializerOptions.Standard).PostDataJson.JsonTo(methodInfoModel.ParameterType)!; paramValues[0] = message!.MessagePackTo<SignalRequestByIdMessage>().Id;
}
else
{
var msg = message!.MessagePackTo<SignalPostJsonDataMessage<object>>(MessagePackSerializerOptions.Standard);
paramValues[0] = msg.PostDataJson.JsonTo(methodInfoModel.ParameterType)!;
}
} }
else _logger.Debug($"{logText}()"); else _logger.Debug($"{logText}()");
@ -217,6 +231,13 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
await sendTo.OnReceiveMessage(messageTag, message.ToMessagePack(ContractlessStandardResolver.Options), requestId); await sendTo.OnReceiveMessage(messageTag, message.ToMessagePack(ContractlessStandardResolver.Options), requestId);
} }
//protected void SendRequestToClient(ISignalRHubItemServer sendTo, int messageTag, int requestId)
//{
// _logger.Info($"Server SendRequestToClient; {nameof(messageTag)}: {messageTag}; {nameof(requestId)}: {requestId}; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier}");
// sendTo.OnRequestMessage(messageTag, requestId).Forget();
//}
public async Task SendMessageToGroup(string groupId, int messageTag, string message) public async Task SendMessageToGroup(string groupId, int messageTag, string message)
{ {
//await Clients.Group(groupId).Post("", messageTag, message); //await Clients.Group(groupId).Post("", messageTag, message);

View File

@ -109,9 +109,6 @@ namespace TIAMWebApp.Shared.Application.Services
public virtual Task GetAllAsync<TResponseData>(int messageTag, Action<ISignalResponseMessage<TResponseData?>> responseCallback) public virtual Task GetAllAsync<TResponseData>(int messageTag, Action<ISignalResponseMessage<TResponseData?>> responseCallback)
=> SendMessageToServerAsync(messageTag, null, responseCallback); => SendMessageToServerAsync(messageTag, null, responseCallback);
public virtual Task GetAllAsync<TResponseData>(int messageTag, Guid contextId, Action<ISignalResponseMessage<TResponseData?>> responseCallback)
=> throw new NotImplementedException();
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, Action<ISignalResponseMessage<TPostData?>> responseCallback) where TPostData : class public virtual Task PostDataAsync<TPostData>(int messageTag, TPostData postData, Action<ISignalResponseMessage<TPostData?>> responseCallback) where TPostData : class