Example #1
0
        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;
            }
        }
Example #2
0
 public async Task <ApiResponseOfResponse> MarkRouteCompleted(MarkRouteCompletedContext context)
 {
     return(await AXClient.Instance.MarkRouteCompletedAsync(context).ConfigureAwait(false));
 }