Esempio n. 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");
                }
            }
        }
Esempio n. 2
0
        private async void Check_Booking_Date(DateTime?value)
        {
            if (value < DateTime.UtcNow)
            {
                await Shell.Current.DisplayAlert("Date invalide !", "La date ne peut pas être inférieure à la date actuelle", "ok");

                return;
            }

            if (MultiplesDates.Count == 0)
            {
                Choose_Date = value;
                MultiplesDates.Add((DateTime)value);
                string texte = "Date de début : " + ((DateTime)value).ToString("dddd, dd MMMM yyyy") +
                               Environment.NewLine + " Choisir une date de fin";
                await Shell.Current.DisplayAlert("Reservation", texte, "ok");
            }
            else
            if (MultiplesDates.Count == 1)
            {
                int result = DateTime.Compare(MultiplesDates[0], (DateTime)value);
                if (result > 0)
                {
                    await Shell.Current.DisplayAlert("Reservation invalide !", "La date de début ne peut pas être inférieure à la date fin. Veuillez choisir une autre date de fin !", "ok");

                    return;
                }
                else if (result == 0)
                {
                    await Shell.Current.DisplayAlert("Reservation invalide !", "La date de début ne peut pas être égale à la date fin. Veuillez choisir une autre date de fin !", "ok");

                    return;
                }
                foreach (var date in Booked_Date)
                {
                    if (date >= MultiplesDates[0] & date <= (DateTime)value)
                    {
                        await Shell.Current.DisplayAlert("Reservation invalide !", "Une date déja reservée existe entre votre date de début et fin", "ok");

                        await Shell.Current.GoToAsync("..");
                    }
                }

                MultiplesDates.Add(((DateTime)value).AddDays(-1));
                string texte = "Date de début : " + MultiplesDates[0].ToString("dddd, dd MMMM yyyy") +
                               Environment.NewLine + "Date de fin : " + ((DateTime)value).ToString("dddd, dd MMMM yyyy") +
                               Environment.NewLine + "Nombre de jour(s): " + (int)((DateTime)value - MultiplesDates[0]).TotalDays;
                var res = await Shell.Current.DisplayAlert("Reservation", texte, "Continuer", "Annuler");

                if (res)
                {
                    BookingModelViewModel model = new BookingModelViewModel
                    {
                        StartDate    = MultiplesDates[0],
                        EndDate      = (DateTime)value,
                        NumberOfDays = (int)((DateTime)value - MultiplesDates[0]).TotalDays
                    };
                    // serialized in json
                    string JsonAddress = JsonConvert.SerializeObject(model);

                    Settings.Booking = JsonAddress;

                    if (!string.IsNullOrWhiteSpace(Settings.AddressDelivered))
                    {
                        await Shell.Current.GoToAsync($"{nameof(BookingDeliveredTypePage)}");
                    }
                    else
                    {
                        await Shell.Current.GoToAsync($"{nameof(BookingDeliveredAdressPage)}");
                    }
                }
                else
                {
                    await Shell.Current.GoToAsync("..");
                }
            }
        }