@using TIAM.Entities.Transfers @using TIAM.Entities.Drivers @using TIAM.Models.Dtos.Users @using TIAMSharedUI.Shared.Components.Grids @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Utility @using TIAM.Core.Loggers @using AyCode.Core.Loggers @using AyCode.Services.Loggers @using TIAMWebApp.Shared.Application.Services @using AyCode.Core.Enums @using AyCode.Core.Extensions @using AyCode.Core @using AyCode.Core.Helpers @using AyCode.Services.SignalRs @using AyCode.Utils.Extensions @using TIAM.Core.Consts @using TIAM.Entities.Users @using TIAM.Services @inject IUserDataService UserDataService @inject IEnumerable LogWriters @inject AdminSignalRClient AdminSignalRClient; @{ var userEmailFieldName = $"{nameof(TransferToDriver.UserProductMapping)}.{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; var userEmailFieldName2 = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; } @{ var transferToDriverDataItem = (TransferToDriver)context.DataItem; var transferToDriverEditModel = (TransferToDriver)context.EditModel; } @* *@ @{ var transferToDriver = (TransferToDriver)context.DataItem; @_cars.FirstOrDefault(x => x.Id == transferToDriver.CarId)?.LicencePlate } @{ var transferToDriverEditModel = (TransferToDriver)context.EditModel; } @* *@ @* @{ var transferToDriverId = ((TransferToDriver)context.DataItem).Id; } *@ @* *@ @* *@ @code { [Parameter] public Guid ContextId { get; set; } [Parameter] public ITransferToDriversRelation ParentData { get; set; } = null!; [Parameter] public EventCallback OnTransferToDriverChanged { get; set; } private TransferToDriversDetailGrid _transferToDriversGrid = null!; private LoggerClient _logger = null!; private List _cars = []; private List _drivers = []; protected override async Task OnInitializedAsync() { _logger = new LoggerClient(LogWriters.ToArray()); _logger.Info($"DetailGridData: {ParentData.TransferToDrivers.Count}"); //EZ NEM JÓ, FILTER-ELNI KELL A PRODUCT-RA!!! - J. _cars.AddRange((await AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllCarsByProductId, TiamConstClient.TransferProductId))!); // AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllCars, response => // { // _cars.AddRange(response.ResponseData!); // return Task.CompletedTask; // }).Forget(); //EZ NEM JÓ, FILTER-ELNI KELL A PRODUCT-RA!!! - J. _drivers.AddRange(_cars.DistinctBy(x => x.UserProductMappingId).Select(x => x.UserProductMapping)); //_drivers.AddRange((await AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllDrivers))!); // AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllDrivers, response => // { // _drivers.AddRange(response.ResponseData!); // return Task.CompletedTask; // }).Forget(); await base.OnInitializedAsync(); } protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { // _transferToDriversGrid.BeginUpdate(); // _cars.AddRange((await AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllCars))!); // _transferToDriversGrid.EndUpdate(); // AdminSignalRClient.GetAllAsync>(SignalRTags.GetAllCars, response => // { // if (response is { Status: SignalResponseStatus.Success, ResponseData: not null }) // _cars.AddRange(response.ResponseData); // return Task.CompletedTask; // }).Forget(); } await base.OnAfterRenderAsync(firstRender); } private void DataItemChanged(GridDataItemChangedEventArgs args) { OnTransferToDriverChanged.InvokeAsync(args.DataItem); } private void DataItemSaving(GridEditModelSavingEventArgs args) { _logger.Debug($"DataItemSaving"); var transferToDriverEditModel = (TransferToDriver)args.EditModel; if (transferToDriverEditModel.UserProductMappingId.IsNullOrEmpty() || transferToDriverEditModel.CarId.IsNullOrEmpty() || transferToDriverEditModel.LicencePlate.IsNullOrWhiteSpace() || transferToDriverEditModel.Price <= 0) { args.Cancel = true; _logger.Error($"transferToDriverEditModel.UserProductMappingId.IsNullOrEmpty() || transferToDriverEditModel.CarId.IsNullOrEmpty() || transferToDriverEditModel.LicencePlate.IsNullOrWhiteSpace() || transferToDriverEditModel.Price <= 0"); } if (args.IsNew) { transferToDriverEditModel.TransferId = ContextId; transferToDriverEditModel.Id = Guid.NewGuid(); transferToDriverEditModel.Car = null; } } private void DataItemDeleting(GridDataItemDeletingEventArgs args) { _logger.Debug($"DataItemDeleting"); } void CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (!e.IsNew) return; var newDriver = (TransferToDriver)e.EditModel; newDriver.Id = Guid.NewGuid(); newDriver.CarId = Guid.Empty; newDriver.LicencePlate = ""; newDriver.Car = new Car(); newDriver.Price = 0; newDriver.TransferId = ParentData.Id; } }