public virtual async Task <AfricoderJobsFeed.Datum[]> GetNextJobsPosts(int currentIndex, int ID) { string jsonResult = string.Empty; //Paginate the status as necessary. Endpoint = Endpoint + currentIndex.ToString(); //Create new obtainer obtainer = new JsonObtainer(Endpoint, "Status Pagination Agent"); jsonResult = await obtainer.GetJsonStringAsync(); africoderJobsFeed = JsonConvert.DeserializeObject <AfricoderJobsFeed>(jsonResult); foreach (var dat in africoderJobsFeed.data) { dat.LoggedID = ID; } return(africoderJobsFeed.data); }
/// <summary> /// Displays the Jobs page and hides other sections. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void JobsButton_Click(object sender, RoutedEventArgs e) { SetThickness(JobsButton); //Make the jobs control visible. theJobsControl.Visibility = Visibility.Hidden; theProfilePage.Visibility = Visibility.Hidden; WelcomeControl.Visibility = Visibility.Hidden; blogControl.Visibility = Visibility.Hidden; statusControl.Visibility = Visibility.Hidden; toolsControl.Visibility = Visibility.Hidden; theLinksControl.Visibility = Visibility.Hidden; forumControl.Visibility = Visibility.Hidden; helpControl.Visibility = Visibility.Hidden; theIndividualForumControl.Visibility = Visibility.Hidden; currentPageTextBlock.Text = "JOBS"; if (!JobsLoaded) { //Set the temporary blog gid visible temporaryBlogGrid.Visibility = Visibility.Visible; FetchText.Text = "Fetching available jobs for you..."; try { if (InternetChecker.InternetAvailable()) { jsonObtainer = new JsonObtainer(JobEndpoint, "The-Jobs-Finder-From-Bolkay"); string jsonResult = await jsonObtainer.GetJsonStringAsync(); AfricoderJobsFeed africoderJobsFeed = JsonConvert.DeserializeObject <AfricoderJobsFeed>(jsonResult); //Set the ID of the logged user. foreach (var dat in africoderJobsFeed.data) { string date = dat.created.date; string convertedTime = Convert.ToDateTime(DateTime.Parse(date)).ToString(("ddd, dd MMM yyyy hh:mm:tt")); dat.created.date = convertedTime; dat.LoggedID = ID; } //Set the data source accordingly. theJobsControl.TheListBox.ItemsSource = africoderJobsFeed.data; theJobsControl.Visibility = Visibility.Visible; temporaryBlogGrid.Visibility = Visibility.Hidden; JobsLoaded = true; } else { FetchText.Text = NetworkFailedMessage; } } catch { string result = await jsonObtainer.GetJsonStringAsync(); MessageBox.Show(result); } } else { theJobsControl.Visibility = Visibility.Visible; // MessageBox.Show("Already loaded jobs"); } }