示例#1
0
 public static void UpdateTicket(PNR pnr, NavigationService navigation)
 {
     Logger.MethodCalled("Functions.UpdateTicket(PNR, NavigationService)", new object[] { pnr });
     if (!App.IsInternetAvailable)
     {
         var savedTicket = Database.SavedData.Tickets.SingleOrDefault(x => x.PNR.Code == pnr.Code);
         if (savedTicket == null)
         {
             App.ShowProgress("internet bağlantınızı kontrol ediniz", ProgressType.Warning, ProgressTime.Normal);
         }
         else
         {
             App.ShowProgress("güncel bilgiler yüklenemedi", ProgressType.Error, ProgressTime.Normal);
             App.ShowProgress("kayıtlı bilgiler yükleniyor", ProgressType.Warning, ProgressTime.Normal);
             Database.TempData.Ticket = savedTicket;
             var timer = new DispatcherTimer();
             timer.Interval = TimeSpan.FromMilliseconds(2000);
             timer.Tick    += (c, r) =>
             {
                 timer.Stop();
                 App.HideProgress();
                 navigation.Navigate(new Uri("/Pages/TicketAction/DetailsPage.xaml", UriKind.RelativeOrAbsolute));
             };
             timer.Start();
         }
     }
     else
     {
         App.ShowProgress("bilet güncelleniyor...");
         App.AddBackPressedEvent(_ticketUpdateBackPressed);
         TicketRequests.TicketRequest.OnCompleted = (response) =>
         {
             var ticket = response.Result;
             Database.TempData.Ticket = ticket;
             App.RemoveBackPressedEvent(_ticketUpdateBackPressed);
             App.HideProgress();
             if (ticket == null)
             {
                 App.ShowProgress("bilet bulunamadı", ProgressType.Error, ProgressTime.Normal);
             }
             else
             {
                 Database.UpdateTicket(ticket);
                 navigation.Navigate(new Uri("/Pages/TicketAction/DetailsPage.xaml", UriKind.RelativeOrAbsolute));
             }
         };
         TicketRequests.GetTicket(pnr);
     }
 }
示例#2
0
        private void btnSearch_Clicked(object sender, EventArgs e)
        {
            if (SearchPanel.Visibility == Visibility.Collapsed)
            {
                OpenSearchPanel();
            }
            else
            {
                if (string.IsNullOrEmpty(txtPNR.Value) || string.IsNullOrEmpty(txtParameter.Value))
                {
                    App.ShowProgress("boş bıraktığınız alan(lar) var", ProgressType.Warning, ProgressTime.Normal);
                }
                else if (!App.IsInternetAvailable)
                {
                    App.ShowProgress("internet bağlantınızı kontrol ediniz", ProgressType.Warning, ProgressTime.Normal);
                }
                else
                {
                    btnSearch.IsActivated = false;
                    btnCancel.IsActivated = false;
                    App.AddBackPressedEvent(BackPressedForSearch);
                    App.ShowProgress("bilet aranıyor...");

                    TicketRequests.TicketRequest.OnCompleted = (response) =>
                    {
                        var ticket = response.Result;
                        Database.TempData.Ticket = ticket;
                        App.HideProgress();
                        btnSearch.IsActivated = true;
                        btnCancel.IsActivated = true;
                        App.RemoveBackPressedEvent(BackPressedForSearchPanel);

                        if (response.Status != ResponseStatus.Successful)
                        {
                            App.ShowProgress("bu bilgilere ait bilet bulunamadı", ProgressType.Error, ProgressTime.Normal);
                        }
                        else
                        {
                            CloseSearchPanel();
                            Database.AddTicket(ticket);
                            NavigationService.Navigate(new Uri("/Pages/TicketAction/DetailsPage.xaml", UriKind.RelativeOrAbsolute));
                        }
                    };
                    TicketRequests.GetTicket(Database.TempData.PNR);
                }
            }
        }