41 lines
1.5 KiB
Plaintext
41 lines
1.5 KiB
Plaintext
@page "/route-calculation"
|
|
@using DevExpress.Blazor
|
|
@using TIAMWebApp.Shared.Application.Services
|
|
@inject GooglePlacesService GooglePlacesService
|
|
|
|
<DxFormLayout>
|
|
<DxFormLayoutGroup Context="LayoutGroupContext" Caption="Route Calculation">
|
|
<DxFormLayoutItem Caption="Origin Address">
|
|
<DxTextBox @bind-Text="OriginAddress" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem Caption="Destination Address">
|
|
<DxTextBox @bind-Text="DestinationAddress" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem Caption="Travel Date">
|
|
<DxDateEdit @bind-Date="TravelDate" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem Caption="Travel Time">
|
|
<DxTimeEdit @bind-Time="TravelTime" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem>
|
|
<DxButton Context="ButtonContext" Click="CalculateRoute">Calculate Route</DxButton>
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem>
|
|
<p>@RouteMessage</p>
|
|
</DxFormLayoutItem>
|
|
</DxFormLayoutGroup>
|
|
</DxFormLayout>
|
|
|
|
@code {
|
|
private string OriginAddress { get; set; }
|
|
private string DestinationAddress { get; set; }
|
|
private DateTime TravelDate { get; set; } = DateTime.Today;
|
|
private TimeSpan TravelTime { get; set; } = DateTime.Now.TimeOfDay;
|
|
private string RouteMessage { get; set; }
|
|
|
|
private async Task CalculateRoute()
|
|
{
|
|
var travelDateTime = TravelDate.Add(TravelTime);
|
|
RouteMessage = await GooglePlacesService.CalculateRouteAsync(OriginAddress, DestinationAddress, travelDateTime);
|
|
}
|
|
} |