private async void Button_Clicked(object sender, EventArgs e)
        {
            try
            {
                ctrlActivator.IsRunning = true;
                PNRRootobject pnrRootobject = null;
                if (CheckForInternetConnection())
                {
                    pnrRootobject = await App.serviceManager.RefreshDataAsync(ctrlTxtPNR.Text);

                    if (pnrRootobject != null)
                    {
                        ctrlFramePNRResult.IsVisible     = true;
                        ctrlFrameBookingStatus.IsVisible = true;
                        ctrlBottomFrame.IsVisible        = true;
                        ctrlBookingStatus.IsVisible      = true;
                        Observablepassengers             = new ObservableCollection <Passenger>(pnrRootobject.passengers);
                        ctrlGridSource.ItemsSource       = Observablepassengers;
                        this.BindingContext = pnrRootobject;
                    }
                    else
                    {
                        await DisplayAlert("Information !", "Please Enter valid PNR..", "OK");
                    }
                }
                else
                {
                    await DisplayAlert("Warning !", "Internet Connection Lost..", "OK");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                ctrlActivator.IsRunning = false;
                // pnrRootobject = null;
            }
        }
Exemple #2
0
        public async Task <PNRRootobject> RefreshDataAsync(string pnrNumber)
        {
            PNRRootobject pNRRootobject = null;

            try
            {
                string url      = $"https://api.railwayapi.com/v2/pnr-status/pnr/{pnrNumber}/apikey/{ApiKey}/";
                var    response = await client.GetAsync(new Uri(url));

                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsStringAsync();

                    pNRRootobject = JsonConvert.DeserializeObject <PNRRootobject>(content);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(pNRRootobject);
        }