private async Task OnEmailCustomer()
        {
            try
            {
                if (IsBusy)
                {
                    return;
                }
                IsBusy = true;
                if (!_email.IsValidEmail())
                {
                    await Alert.ShowMessage(nameof(AppResources.PleaseEnterValidEmail).Translate());

                    return;
                }

                if (!_deliveryList.Any(p => p.IsSelected))
                {
                    await Alert.ShowMessage(nameof(AppResources.PleaseSelectAnItem).Translate());

                    return;
                }

                var context = new UpcomingDeliveriesQueryContext
                {
                    EmailAddress   = _email,
                    SelectedOrders = _deliveryList
                                     .Where(p => p.IsSelected)
                                     .Select(p => p.Key)
                                     .ToList(),
                };

                var result = await Api.NotifyUpcomingDeliveries(context);

                if (!result.Successful.GetValueOrDefault())
                {
                    await Alert.DisplayApiCallError(result.ExceptionMessage, result.ValidationErrors,
                                                    $"{Translate.Get(nameof(AppResources.CouldNotMarkAsNotReady))}" +
                                                    $"-{Translate.Get(nameof(AppResources.ServerError))}");

                    return;
                }

                await Back();
            }
            catch (Exception e)
            {
                await Alert.DisplayError(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemple #2
0
 public Task <ApiResponseOfResponse> NotifyUpcomingDeliveries(UpcomingDeliveriesQueryContext context)
 {
     return(AXClient.Instance.NotifyUpcomingDeliveriesAsync(context));
 }