@using TIAM.Entities.Products @using TIAM.Entities.Transfers @using TIAM.Entities.Drivers @using TIAM.Entities.Users @using TIAM.Models.Dtos.Users @using TIAM.Services @using TIAMSharedUI.Shared.Components.Grids @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Utility @using TIAM.Core.Loggers @using AyCode.Core.Loggers @using AyCode.Services.Loggers @using AyCode.Core @using AyCode.Core.Enums @using AyCode.Core.Helpers @using AyCode.Models.Users @using AyCode.Services.SignalRs @using TIAM.Core.Consts @inject IServiceProviderDataService ServiceProviderDataService @inject IEnumerable LogWriters @inject AdminSignalRClient AdminSignalRClient @{ var productNameFieldName = $"{nameof(UserProductMapping.Product)}.{nameof(Product.Name)}"; } @{ var userProductMappingEditModel = (UserProductMapping)context.EditModel; } @{ var userEmailFieldName = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; } @{ var userProductMappingEditModel = (UserProductMapping)context.EditModel; } @{ } @code { [Parameter] public bool CommandColumnVisible { get; set; } = true; [Parameter] public bool NewButtonVisible { get; set; } = true; [Parameter] public bool EditButtonVisible { get; set; } = true; [Parameter] public bool DeleteButtonVisible { get; set; } = true; [Parameter] public IProductRelation ParentData { get; set; } = null!; [Parameter] public int GetAllTag { get; set; } = SignalRTags.GetAllUserProductMappings; [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; [Parameter] public Guid[]? ContextIds { get; set; } private bool? _isNewState = null; private LoggerClient _logger; private List _users = []; private List _products = []; protected override async Task OnInitializedAsync() { _logger = new LoggerClient(LogWriters.ToArray()); //_products = (await AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllProducts)) ?? []; AdminSignalRClient.GetAllIntoAsync(_products, SignalRTags.GetAllProducts).Forget(); AdminSignalRClient.GetAllIntoAsync(_users, SignalRTags.GetAllUsers).Forget(); // AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllProducts, response => // { // if (response.Status != SignalResponseStatus.Success || response.ResponseData == null) // { // _logger.Error($"GetAllAsync>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}"); // return Task.CompletedTask; // } // _products.AddRange(response.ResponseData); // return Task.CompletedTask; // }).Forget(); // AdminSignalRClient.GetAllAsync>(SignalRTags.getal, response => // { // if (response.Status != SignalResponseStatus.Success || response.ResponseData == null) // { // _logger.Error($"GetAllAsync>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}"); // return Task.CompletedTask; // } // _products.AddRange(response.ResponseData); // return Task.CompletedTask; // }).Forget(); await base.OnInitializedAsync(); } void CustomizeEditModel(GridCustomizeEditModelEventArgs e) { _isNewState = e.IsNew; if (!e.IsNew) return; // var newProductMapping = new UserProductMapping // { // ProductId = Guid.NewGuid(), // UserId = UserModelDtoDetail.Id, // Permissions = 1 // }; //e.EditModel = newProductMapping; } private void OnGridEditModelSaving(GridEditModelSavingEventArgs e) { _isNewState = e.IsNew; } private void OnGridItemChanged(GridDataItemChangedEventArgs args) { // if (args.TrackingState != TrackingState.Add) return; // args.CancelStateChangeInvoke = true; // StateHasChanged(); } }