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"); } } }
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(".."); } } }