@page "/user/transfers" @using AyCode.Models.Messages @using BlazorAnimation @using TIAM.Core.Enums @using TIAM.Entities.ServiceProviders @using TIAM.Entities.Transfers @using TIAM.Models.Dtos.Users @using TIAM.Resources @using TIAMSharedUI.Pages.Components @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models @using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.ClientSide.Messages @using TIAMWebApp.Shared.Application.Utility @layout AdminLayout @inject LogToBrowserConsole logToBrowserConsole @inject IStringLocalizer localizer @inject IWizardProcessor wizardProcessor @inject ITransferDataService transferDataService Transfers

Transfer management

Manage transfers here!

@{ TransferStatusModel keyField = Statuses.FirstOrDefault(x => x.StatusValue == Convert.ToInt16(context.Value)); string driverText = keyField.StatusName;

@driverText

}
@{ var transfer2 = (Transfer)EditFormContext.EditModel; } @EditFormContext.GetEditor("ToAddress") @EditFormContext.GetEditor("FromAddress") @EditFormContext.GetEditor("Appointment") @EditFormContext.GetEditor("PassengerCount") @EditFormContext.GetEditor("TransferStatusType")
@{ var keyField = context.Value; @context.Value } @* *@ @* @{ var keyField = context.Value; var keyItem = (TransferWizardModel)context.DataItem; string buttonText = "Contact"; } *@ @* @{ DriverModel keyField = (DriverModel)context.Value; string driverText = keyField.Name;

@driverText

}
*@
@{ var transfer = (TransferWizardModel)EditFormContext.EditModel; } @EditFormContext.GetEditor("ToAddress") @EditFormContext.GetEditor("FromAddress") @EditFormContext.GetEditor("Appointment") @EditFormContext.GetEditor("PassengerCount") @* @EditFormContext.GetEditor("FullName") @EditFormContext.GetEditor("PhoneNumber") @EditFormContext.GetEditor("EmailAddress") *@ @* *@
@code { IGrid Grid { get; set; } //object? TransferData { get; set; } public TransferWizardModel myModel = new TransferWizardModel(); public List TransferData { get; set; } bool PopupVisible { get; set; } public List ignoreList = new List { "ReceiverEmailAddress", "ReceiverId", "SenderEmailAddress", "SenderId", "ContextId" }; public List Statuses { get; set; } public MessageWizardModel messageWizardModel = new MessageWizardModel(); //IEnumerable drivers { get; set; } void SendMail(TransferWizardModel Item) { logToBrowserConsole.LogToBC($"Sending mail to {Item.EmailAddress}"); PopupVisible = true; } void CancelCreateClick() { PopupVisible = false; } void EulaPopupClosed() { //cancel clicked } void EulaPopupClosing(PopupClosingEventArgs args) { //myModel = new TransferWizardModel(); messageWizardModel = new MessageWizardModel(); } //----------------------------------------------------------------------------------- public async Task SubmitForm(object Result) { var email = await wizardProcessor.ProcessWizardAsync(Result.GetType(), Result); logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}"); } protected override async Task OnAfterRenderAsync(bool firstRender) { //if (firstRender) // await Grid.StartEditRowAsync(0); } void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (e.IsNew) { var newEmployee = (TransferWizardModel)e.EditModel; newEmployee.Id = Guid.NewGuid(); newEmployee.Destination = "ghjgkg hkgh ghjkghgkjgh"; newEmployee.PickupAddress = "ghjgkg hkgh ghjkghgkjgh"; newEmployee.TripDate = DateTime.UtcNow.AddDays(3); newEmployee.NumberOfPassengers = 1; newEmployee.FullName = "ghjgkg hkgh ghjkghgkjgh"; newEmployee.PhoneNumber = "+13021234567"; newEmployee.EmailAddress = "ghjgkg hkgh ghjkghgkjgh"; } } async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) { if (e.IsNew) //add new orderData to orderData array logToBrowserConsole.LogToBC("New orderData added"); //await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel); else logToBrowserConsole.LogToBC("orderData updated"); //modify transferData where transferData.Id == e.EditModel.Id //get transfer from TransferData by Id foreach (var transferToModify in (List)TransferData) { myModel = (TransferWizardModel)e.EditModel; if (transferToModify.Id == myModel.Id) { //transferToModify.Driver = myModel.Driver; } } //await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel); await UpdateDataAsync(); } async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e) { //await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem); //remove orderData from orderData array logToBrowserConsole.LogToBC("orderData deleted"); //await UpdateDataAsync(); } async Task UpdateDataAsync() { //DataSource = await NwindDataService.GetEmployeesEditableAsync(); //refresh grid logToBrowserConsole.LogToBC("orderData grid refreshed"); } protected override async Task OnInitializedAsync() { Statuses = new List { new TransferStatusModel(Convert.ToInt16(TransferStatusType.OrderSubmitted), "Order submitted"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.OrderConfirmed), "Order confirmed"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.AssignedToDriver), "Assigned to driver"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.DriverConfirmed), "Driver confirmed"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.DriverEnRoute), "Driver enroute"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.PassengerPickup), "Passenger in car"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.Finished), "Finished"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.UserCanceled), "User cancelled"), new TransferStatusModel(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled") }; TransferData = (await transferDataService.GetTransfersAsync()).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList(); base.OnInitialized(); } void ColumnChooserButton_Click() { Grid2.ShowColumnChooser(); } IGrid Grid2 { get; set; } object MasterGridData { get; set; } bool AutoCollapseDetailRow { get; set; } protected override void OnAfterRender(bool firstRender) { if (firstRender) { Grid2.ExpandDetailRow(0); } } void AutoCollapseDetailRow_Changed(bool newValue) { AutoCollapseDetailRow = newValue; if (newValue) { Grid2.BeginUpdate(); Grid2.CollapseAllDetailRows(); Grid2.ExpandDetailRow(0); Grid2.EndUpdate(); } } }