@using AyCode.Core.Helpers @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.Services @using TIAMWebApp.Shared.Application.Utility @using AyCode.Services.Loggers @using TIAM.Core.Loggers @using AyCode.Core @using TIAM.Services @using TIAMSharedUI.Shared.Components.Grids @inject IServiceProviderDataService ServiceProviderDataService @inject IEnumerable LogWriters @inject AdminSignalRClient AdminSignalRClient; @{ var TransferDestinationToProductEditModel = (TransferDestinationToProduct)context.EditModel; } @{ var TransferDestinationToProductEditModel = (TransferDestinationToProduct)context.EditModel; } @* @{ var destinationNameFieldName = $"{nameof(TransferDestinationToProduct.TransferDestination.Name)}.{nameof(TransferDestination.Name)}"; } *@ @* @{ var transferDestinationToProduct = (TransferDestinationToProduct)editFormContext.EditModel; } @editFormContext.GetEditor("Price") @editFormContext.GetEditor("Price2") @editFormContext.GetEditor("Price3") @editFormContext.GetEditor("ProductCommis") *@ @code { [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; [Parameter] public Guid[]? ContextIds { get; set; } = null!; [Parameter] public int GetAllTag { get; set; } = SignalRTags.GetAllTransferDestinationToProducts; [Parameter] public bool IsProductIdReadonly { get; set; } = false; [Parameter] public bool IsDestinationIdReadonly { get; set; } = false; private bool ProductIdReadOnly = false; private bool DestinationIdReadOnly = false; //private bool? _isNewState = null; private List _transferDestinations = []; private List _products = []; private LoggerClient _logger = null!; protected override void OnInitialized() { _logger = new LoggerClient(LogWriters.ToArray()); AdminSignalRClient.GetAllIntoAsync(_transferDestinations, SignalRTags.GetAllTransferDestinations).Forget(); AdminSignalRClient.GetAllIntoAsync(_products, SignalRTags.GetAllProducts).Forget(); base.OnInitialized(); } void CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (!e.IsNew) { DestinationIdReadOnly = true; ProductIdReadOnly = true; } else { if(IsDestinationIdReadonly) { ((TransferDestinationToProduct)(e.EditModel)).TransferDestinationId = (Guid)ContextIds[0]; } DestinationIdReadOnly = IsDestinationIdReadonly; if (IsProductIdReadonly) { ((TransferDestinationToProduct)(e.EditModel)).ProductId = (Guid)ContextIds[0]; } ProductIdReadOnly = IsProductIdReadonly; } if (!e.IsNew) return; } private void OnGridEditModelSaving(GridEditModelSavingEventArgs e) { DestinationIdReadOnly = false; ProductIdReadOnly = false; } private void EditCanceling(GridEditCancelingEventArgs e) { DestinationIdReadOnly = false; ProductIdReadOnly = false; } }