private async Task OnMarkRouteCompleted() { try { var confirmation = await Alert.ShowMessageConfirmation( string.Format(nameof(AppResources.DrvMarkRouteCompletedConfirmation).Translate(), _salesPool.Name) , null, nameof(AppResources.Yes).Translate(), nameof(AppResources.No).Translate()); if (!confirmation) { return; } IsBusy = true; var context = new MarkRouteCompletedContext { Key = _salesPool.Key, Name = _salesPool.Name, Site = _salesPool.Site }; var result = await Api.MarkRouteCompleted(context); if (!result.Successful.GetValueOrDefault()) { await Alert.DisplayApiCallError(result.ExceptionMessage, result.ValidationErrors); return; } var sb = new StringBuilder(); if (result.Data?.Messages != null) { foreach (var dataMessage in result.Data.Messages) { sb.AppendLine(dataMessage); } } var message = (sb.Length == 0) ? nameof(AppResources.RouteMakedAsCompleted).Translate() : sb.ToString(); await Alert.ShowMessage(message); await Nav.Nav.PopAsync(); } catch (Exception e) { await Alert.DisplayError(e); } finally { IsBusy = false; } }
public async Task <ApiResponseOfResponse> MarkRouteCompleted(MarkRouteCompletedContext context) { return(await AXClient.Instance.MarkRouteCompletedAsync(context).ConfigureAwait(false)); }