TourIAm/TIAMSharedUI/Pages/Utility/GoogleRouteCalculationTest....

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);
}
}