コード例 #1
0
        public virtual async Task <List <ForumModel.Datum> > GetNextForumPosts(int currentIndex, int ID)
        {
            //Endpoint = Endpoint + currentIndex.ToString();
            africoderLinksFeed = new AfricoderLinksFeed();
            obtainer           = new JsonObtainer(Endpoint, "Blog Pagination Agent");
            string jsonresult = await obtainer.GetJsonStringAsync();

            individualForum = JsonConvert.DeserializeObject <IndividualForum>(jsonresult);

            foreach (var dat in individualForum.data)
            {
                dat.LoggedInID = ID;
            }
            return(individualForum.data);
        }
コード例 #2
0
        /// <summary>
        /// Button to handle the open forum event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void OpenButton_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;
            //Get the categrory
            MultiCategory multiCategory = (MultiCategory)btn.DataContext;
            //Get the category
            string path = multiCategory.path;
            //Get the real endpoint

            //MessageBox.Show(path);

            //After clicking the button, it is important to send messgae to the africoders window.
            AfricodersPage africodersPage = Window.GetWindow(Parent) as AfricodersPage;

            //Close all exisitng controls.
            africodersPage.theProfilePage.Visibility  = Visibility.Hidden;
            africodersPage.WelcomeControl.Visibility  = Visibility.Hidden;
            africodersPage.blogControl.Visibility     = Visibility.Hidden;
            africodersPage.statusControl.Visibility   = Visibility.Hidden;
            africodersPage.toolsControl.Visibility    = Visibility.Hidden;
            africodersPage.theLinksControl.Visibility = Visibility.Hidden;
            africodersPage.theJobsControl.Visibility  = Visibility.Hidden;
            africodersPage.forumControl.Visibility    = Visibility.Hidden;
            //Only the individual forum control should be alive.
            africodersPage.currentPageTextBlock.Text = "Forum " + multiCategory.board;

            africodersPage.theIndividualForumControl.Path = multiCategory.path;
            //Set the forum ID
            africodersPage.theIndividualForumControl.FID = multiCategory.fid;

            try
            {
                africodersPage.temporaryBlogGrid.Visibility = Visibility.Visible;

                africodersPage.FetchText.Text = "Loading " + multiCategory.board + " forum";
                string endPoint = @"https://api.africoders.com/v1/" + path + "?page=1" + "&order=updated_at|DESC&include=comment";

                jsonObtainer = new JsonObtainer(endPoint, "Forum_Agent_Bolkay");

                string json = await jsonObtainer.GetJsonStringAsync();

                //Changed the explicit Individual forum to dynamic
                IndividualForum individualForum = JsonConvert.DeserializeObject <IndividualForum>(json);

                foreach (var dat in individualForum.data)
                {
                    //Reformat the time format.
                    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.LoggedInID = UserID;
                }

                africodersPage.theIndividualForumControl.TheListBox.ItemsSource = individualForum.data;

                africodersPage.temporaryBlogGrid.Visibility = Visibility.Hidden;
                //Carefully transfer the path to the individual forum

                africodersPage.theIndividualForumControl.Visibility = Visibility.Visible;
            }
            catch (Exception t)
            {
                MessageBox.Show(t.Message);
                africodersPage.forumControl.Visibility = Visibility.Visible;
                africodersPage.theIndividualForumControl.Visibility = Visibility.Hidden;
                africodersPage.temporaryBlogGrid.Visibility         = Visibility.Hidden;

                MessageBox.Show("Unable to show " + multiCategory.category + " at this time.");
            }
        }