@page "/mytransfers/{transferId:guid}" @using TIAM.Entities.Transfers @using TIAMWebApp.Shared.Application.Interfaces @using AyCode.Core.Loggers @using AyCode.Services.Loggers @using TIAM.Core.Loggers @using TIAM.Core.Enums @using TIAMWebApp.Shared.Application.Utility @inject HttpClient Http @inject NavigationManager navManager @inject IEnumerable LogWriters @inject ITransferDataService transferDataService Transfer details

Transfer details

Manage your transfer here

@if (isLoading) {
} else if (!string.IsNullOrEmpty(errorMessage)) {
@errorMessage
} else {
@if (!editMode) {
Transfer identifier: @transfer.Id

@transfer.ContactPhone

Passenger: @transfer.FullName

E-mail address: @transfer.ContactEmail

From: @transfer.FromAddress
To: @transfer.ToAddress
@transfer.Appointment.ToString("MMMM dd, yyyy")
@transfer.Appointment.ToString("hh:mm tt")

Passengers: @transfer.PassengerCount

Luggage: @transfer.LuggageCount

Flight number (optional): @transfer.FlightNumber


License plate: POX-382

Car looks: Silver, Toyota, Prius


Status on: @DateTime.Now.ToString("hh:mm tt"), @DateTime.Today.ToString("MMMM dd, yyyy")

EUR @transfer.Price

} else {
Transfer identifier: @transfer.Id


License plate: POX-382

Car looks: Silver, Toyota, Prius


Status on: @DateTime.Now.TimeOfDay, @DateTime.Today.Date

EUR @transfer.Price via (COD)

}
} @code { [Parameter] public Guid transferId { get; set; } = Guid.Empty; private Transfer transfer = new Transfer(); private bool isLoading = true; private string errorMessage = string.Empty; private LoggerClient _logger; List StatusTypes = new List(); private bool editMode = false; protected override async Task OnInitializedAsync() { foreach (var t in Enum.GetValues(typeof(TransferStatusType)).OfType().ToList()) StatusTypes.Add(t.ToString()); _logger = new LoggerClient(LogWriters.ToArray()); _logger.Info($"parameter: {transferId.ToString()}"); await LoadTransfer(); } protected override async Task OnParametersSetAsync() { _logger.Info($"on parameter set: {transferId.ToString()}"); base.OnParametersSet(); } private void SetEditMode() { editMode = true; } private async Task LoadTransfer() { try { var response = await transferDataService.GetTransferByIdAsync(transferId); if (response != null) { transfer = response; } else { errorMessage = $"Error loading transfer: {transfer.Id}"; } } catch (Exception ex) { errorMessage = $"Exception: {ex.Message}"; } isLoading = false; } private async Task UpdateTransfer() { try { var result = await transferDataService.UpdateTransferAsync(transfer); if (result) { navManager.NavigateTo("/mytransfers"); // Redirect to a list or another page after successful update } else { errorMessage = $"Error updating transfer: {result.ToString()}"; } } catch (Exception ex) { errorMessage = $"Exception: {ex.Message}"; } } }