@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 @using TIAM.Models.Dtos.Products @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 _userProductMapping = []; //TODO: kell a UserProductMappingDetailGridComponent és utána ez is static lehet! - J. private static List _userModelDtoEmails = []; private static List _productModelDtoNames = []; protected override async Task OnInitializedAsync() { _logger = new LoggerClient(LogWriters.ToArray()); await base.OnInitializedAsync(); } protected override void OnAfterRender(bool firstRender) { if (firstRender) { AdminSignalRClient.GetAllIntoAsync(_userModelDtoEmails, SignalRTags.GetAllUserModelDtoEmails).Forget(); AdminSignalRClient.GetAllIntoAsync(_productModelDtoNames, SignalRTags.GetAllProductModelDtoNames).Forget(); } base.OnAfterRender(firstRender); } 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(); } private void EditCanceling(GridEditCancelingEventArgs e) { _isNewState = false; } }