Esempio n. 1
0
        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");
            }
        }