public async Task Start() { Status = PageStatus.Processing; this.StateHasChanged(); var checkpoints = await BorderCrossingServiceWebWrapper.ParseLocationHistoryAsync(RequestId, QueryRequest, (sender, e) => { PercentageProc = e.ProgressPercentage; InvokeAsync(StateHasChanged); }); await BorderCrossingServiceWebWrapper.UpdateResultAsync(RequestId, checkpoints); NavigationManager.NavigateTo($"result/{RequestId}"); }
public async Task OnChanged(FileChangedEventArgs e) { try { ErrorMessage = string.Empty; Status = PageStatus.Uploading; FileUploadStatus = ValidationStatus.None; StateHasChanged(); foreach (var file in e.Files) { string requestId = await BorderCrossingServiceWebWrapper.AddNewRequestAsync(ConnectionInfo?.RemoteIpAddress, ConnectionInfo?.UserAgent); if (Path.GetExtension(file.Name) != ".zip") { throw new Exception(L["ZipWarning"]); } await using (var memoryStream = new MemoryStream()) { await file.WriteToStreamAsync(memoryStream); PercentageLoad = 100; StateHasChanged(); Status = PageStatus.Deserializing; await BorderCrossingServiceWebWrapper.PrepareLocationHistoryAsync(memoryStream, file.Name, requestId, (sender, progressChangedEventArgs) => { PercentagePrep = progressChangedEventArgs.ProgressPercentage; InvokeAsync(StateHasChanged); }); NavigationManager.NavigateTo($"query/{requestId}"); } } } catch (Exception exception) { ErrorMessage = exception.Message; FileUploadStatus = ValidationStatus.Error; Status = PageStatus.ReadyToUpload; PercentageLoad = 0; PercentagePrep = 0; } finally { this.StateHasChanged(); } }
protected override async Task OnInitializedAsync() { Message = L["UploadP2"]; this.StateHasChanged(); var checkPoints = await BorderCrossingServiceWebWrapper.GetResultAsync(RequestId); if (!checkPoints.Any()) { Message = L["ResultNodFound"]; } else { Response = new BorderCrossingResponse(); var arrivalPoint = checkPoints.First(); Response.Periods.Add(new Period { ArrivalPoint = arrivalPoint, Country = arrivalPoint.CountryName }); var last = Response.Periods.Last(); foreach (var checkPoint in checkPoints.Skip(1).Take(checkPoints.Count - 2)) { last.DeparturePoint = checkPoint; Response.Periods.Add(new Period { ArrivalPoint = checkPoint, Country = checkPoint.CountryName, }); last = Response.Periods.Last(); } last.DeparturePoint = checkPoints.Last(); } this.StateHasChanged(); }
protected override async Task OnInitializedAsync() { Status = PageStatus.AskParameter; QueryRequest = await BorderCrossingServiceWebWrapper.GetQueryRequestAsync(RequestId); }