private void btnBuy_Clicked(object sender, EventArgs e) { Logger.Clicked("btnBuy"); if (!App.IsInternetAvailable) { App.ShowProgress("internet bağlantınızı kontrol ediniz", ProgressType.Warning, ProgressTime.Normal); } else if (string.IsNullOrEmpty(txtOwnerName.Value) || string.IsNullOrEmpty(txtCardNumber.Value) || string.IsNullOrEmpty(txtExpirationMonth.Value) || string.IsNullOrEmpty(txtExpirationYear.Value) || string.IsNullOrEmpty(txtCVC.Value) || (cbPersonBill.IsChecked == true && (txtBillTCKN.Value == "0" || string.IsNullOrEmpty(txtBillFirstName.Value) || string.IsNullOrEmpty(txtBillLastName.Value))) || (cbFactoryBill.IsChecked == true && (string.IsNullOrEmpty(txtBillFactoryName.Value) || string.IsNullOrEmpty(txtBillTaxId.Value) || string.IsNullOrEmpty(txtBillTaxOfficeName.Value)))) { App.ShowProgress("boş bıraktığınız alan(lar) var", ProgressType.Warning, ProgressTime.Normal); } else if (txtCardNumber.Length != 16) { App.ShowProgress("kart numarası 16 haneden oluşmalıdır", ProgressType.Warning, ProgressTime.Normal); } else if (cbAcceptRules.IsChecked != true) { App.ShowProgress("kuralları okuyup, kabul ettiğinizi belirtmelisiniz", ProgressType.Warning, ProgressTime.Normal); } else { var ticket = Database.TempData.Ticket; if (cbUse3DSecure.IsChecked == true) { NavigationService.Navigate(new Uri("/Pages/Buying3DSecurePage.xaml", UriKind.RelativeOrAbsolute)); } else { btnBuy.IsActivated = false; App.AddBackPressedEvent(BackPressed); BuyingRequests.BuyingRequest.OnCompleted = (response) => { var actionResult = response.Result; btnBuy.IsActivated = true; App.RemoveBackPressedEvent(BackPressed); if (Database.TempData.Ticket.Bill.Type == BillType.Person) { Database.AddPassenger(new Passenger() { TCKN = Database.TempData.Ticket.Bill.PersonTCKN, FirstName = Database.TempData.Ticket.Bill.PersonFirstName, LastName = Database.TempData.Ticket.Bill.PersonLastName, Address = Database.TempData.Ticket.Bill.Address }); } if (response.Status == ResponseStatus.Successful) { Database.FillSavedPNR(); Database.AddPassenger(Database.TempData.Ticket.Passengers.ToList()); Database.TempData.Ticket.PNR.Code = actionResult.PNR; Database.TempData.Ticket.PNR.ExpirationDate = actionResult.ExpirationDate; Database.SavedData.Tickets.Add(Database.TempData.Ticket); Functions.UpdateTicket(Database.TempData.Ticket.PNR, NavigationService); App.ClearBackHistory(); } else if (response.Status == ResponseStatus.InvalidTCKN) { App.ShowProgress("belirttiğiniz yolcuların bilgilerini kontrol ediniz", ProgressType.Warning, ProgressTime.Normal); } else { App.ShowProgress(response.Message, ProgressType.Error, ProgressTime.Normal); } }; BuyingRequests.GetBuying(ticket); } } }
public Buying3DSecurePage() { InitializeComponent(); if (!App.IsInternetAvailable) { App.ShowProgress("internet bağlantınızı kontrol ediniz", ProgressType.Warning, ProgressTime.Normal); } else { App.AddBackPressedEvent(BackPressed); App.ShowProgress("onay sayfası yükleniyor..."); BuyingRequests.OnPageLoaded = () => { App.HideProgress(); }; BuyingRequests.On3DSecureBuyingCompleted = (response) => { var actionResult = response.Result; App.RemoveBackPressedEvent(BackPressed); if (response.Status == ResponseStatus.Successful) { Database.AddPassenger(Database.TempData.Ticket.Passengers.ToList()); App.ShowProgress("biletiniz başarıyla alınmıştır, yönlendiriliyorsunuz...", ProgressType.Success, ProgressTime.Normal); Database.TempData.Ticket.PNR.Code = actionResult.PNR; Database.TempData.Ticket.PNR.Parameter = Database.TempData.Ticket.Passengers[0].LastName; Database.TempData.Ticket.PNR.ExpirationDate = actionResult.ExpirationDate; Database.SavedData.Tickets.Add(Database.TempData.Ticket); Database.FillSavedPNR(); var timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(2000); timer.Tick += (x, r) => { timer.Stop(); NavigationService.Navigate(new Uri("/Pages/TicketAction/DetailsPage.xaml", UriKind.RelativeOrAbsolute)); App.ClearBackHistory(); }; timer.Start(); } else if (response.Status == ResponseStatus.InvalidTCKN) { App.ShowProgress("belirttiğiniz yolcuların bilgilerini kontrol ediniz", ProgressType.Warning, ProgressTime.Normal); if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } else { App.ShowProgress(response.Message, ProgressType.Plain, ProgressTime.Infinite, new List <string>() { "Yeniden düzenle", "Vazgeç" }); Header.HeaderConfirmed = (buttonId) => { if (buttonId == 0) { if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } else { NavigationService.Navigate(new Uri("/Pages/MainPage.xaml", UriKind.RelativeOrAbsolute)); App.ClearBackHistory(); } }; } }; BuyingRequests.Get3DSecureBuying(Database.TempData.Ticket, this.webBrowserGrid); } }