コード例 #1
0
        async void WebOnEndNavigating(object sender, WebNavigatedEventArgs e)
        {
            if (e.Url.ToLower().Contains("cancel"))
            {
                await Shell.Current.GoToAsync("..");

                await Shell.Current.DisplayAlert("La paiement a été annulé !", "Vous pouvez essayer à nouveau", "ok");
            }
            else if (e.Url.ToLower().Contains("return"))
            {
                if (numberConfirmation == 1)
                {
                    return;
                }
                numberConfirmation++;
                LoadingIndicator.IsVisible = true;
                LoadingIndicator.IsRunning = true;
                OrangeBrowser.IsVisible    = false;
                ItemPurchaseModelViewModel item = JsonConvert.DeserializeObject <ItemPurchaseModelViewModel>(Settings.ItemPurchase);
                // Check payement
                bool status = await _apiServices.PostTransactionstatusAsync(postResponseOrange.token, postResponseOrange.order_id, postResponseOrange.pay_token, item.TotalPrice_int.ToString());

                if (status)
                {
                    DeliverAdressModelViewModel Json = JsonConvert.DeserializeObject <DeliverAdressModelViewModel>(Settings.AddressDelivered);

                    int result = 0;
                    if (this.isBook)
                    {
                        BookingModelViewModel booking = JsonConvert.DeserializeObject <BookingModelViewModel>(Settings.Booking);

                        var res = await _apiServices.CommandPostAsync(item.Id, item.PayementMethod, item.DeliveredPrice_int, item.TotalPrice_int,
                                                                      Json.FirstName, Json.LastName, Json.Town, Json.Street, Json.Number, Json.Telephone, Json.Distance, item.Quantity, booking.StartDate, booking.EndDate);

                        if (res != null)
                        {
                            result = Convert.ToInt32(res);
                        }
                    }
                    else
                    {
                        result = await _apiServices.CommandPostAsync(item.Id, item.PayementMethod, item.DeliveredPrice_int, item.TotalPrice_int,
                                                                     Json.FirstName, Json.LastName, Json.Town, Json.Street, Json.Number, Json.Telephone, Json.Distance, item.Quantity);
                    }

                    IsBusy = false;
                    string text = "Votre numéro de commande est " + result + "." + Environment.NewLine +
                                  "Votre facture et suivie de votre commande se trouvent dans :" + Environment.NewLine +
                                  "- Compte, " + Environment.NewLine +
                                  "- Transactions " + Environment.NewLine +
                                  "Lookaukwat vous remercie de votre confiance !";

                    await Shell.Current.DisplayAlert("Commande validée avec succès !", text, "OK");

                    await Shell.Current.GoToAsync("//MainPage/UserProfilePage/UserTransactionsPage");

                    //ask for reviews
                    if (string.IsNullOrWhiteSpace(Settings.Reviews_GooglePlay))
                    {
                        var respon = await Shell.Current.DisplayAlert("Votre avis nous intéresse !", "Donnez votre avis en 1 minute", "Maintenant", "Plus tard");

                        if (respon)
                        {
                            Settings.Reviews_GooglePlay = "Ok";
                            string uri = "https://play.google.com/store/apps/details?id=com.lookaukwat.lookaukwatapp";
                            await Browser.OpenAsync(uri);
                        }
                    }
                }
                else
                {
                    await Shell.Current.GoToAsync("..");

                    await Shell.Current.DisplayAlert("La paiement a échoué !", "Vous pouvez essayer à nouveau", "ok");
                }
            }
        }