/// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.
        /// This parameter is typically used to configure the page.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString());
            }

            string typeValue = string.Empty;
            string id = string.Empty;

            if (e.Parameter is Post)
            {
                this.post = e.Parameter as Post;
                this.commentsCount = post.CommentsCount;
                this.commentDS = new CommentsDS(this.post.ID, "blog");
            }
            else if (e.Parameter is News)
            {
                this.news = e.Parameter as News;
                this.commentsCount = news.CommentsCount;
                this.commentDS = new CommentsDS(this.news.ID, "news");
            }
            this.commentDS.OnLoadMoreStarted += commentDS_OnLoadMoreStarted;
            this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted;
            this.lv_Comments.ItemsSource = commentDS;

        }
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// 
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="GridCS.Common.NavigationHelper.LoadState"/>
        /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.

        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            try
            {
                navigationHelper.OnNavigatedTo(e);

                this.commentsCount = string.Empty;
                var pageFile = string.Empty;

                if (e.Parameter is Post)
                {
                    this.post = e.Parameter as Post;
                    this.Title = this.post.Title;
                    this.Author = post.Author;
                    this.commentsCount = post.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                    if (await pcDS.LoadRemoteData())
                    {
                        content = pcDS.Content;
                    }

                    pageFile = "ms-appx-web:///HTML/post_day.html";
                    currentBlogger.DataContext = this.post.Author;
                    this.commentDS = new CommentsDS(this.post.ID, "blog");

                    //set read
                    this.SetNewStatus(this.post, PostStatus.Read, true);
                }
                else if (e.Parameter is News)
                {
                    this.news = e.Parameter as News;
                    this.Title = this.news.Title;
                    this.commentsCount = news.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                    if (await ncDS.LoadRemoteData())
                    {
                        content = ncDS.News.Content;
                    }

                    pageFile = "ms-appx-web:///HTML/news_day.html";

                    this.commentDS = new CommentsDS(this.news.ID, "news");
                    //CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.SetBlogAsRead(this.news.ID);
                }
                else
                {
                    return;
                }
                this.DataContext = this;
                this.wv_Post.Navigate(new Uri(pageFile));
                this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted;

                this.lv_Comments.ItemsSource = commentDS;
                if (this.commentsCount == "0")
                {
                    this.lv_Comments.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    this.tb_Message.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }
            }
            catch (Exception ex)
            {
                this.Title = ex.Message;
            }
        }
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// 
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="GridCS.Common.NavigationHelper.LoadState"/>
        /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.

        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            try
            {
                navigationHelper.OnNavigatedTo(e);

                if (e.NavigationMode == NavigationMode.New)
                {
                    Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString());
                }
                this.commentsCount = string.Empty;
                var pageFile = string.Empty;

                if (e.Parameter is News)
                {
                    this.news = e.Parameter as News;
                    this.Title = this.news.Title;
                    this.commentsCount = news.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                    if (await ncDS.LoadRemoteData())
                    {
                        content = ncDS.News.Content;
                    }

                    pageFile = "ms-appx-web:///HTML/news_day.html";

                    this.commentDS = new CommentsDS(this.news.ID, "news");
                }
                else
                {
                    return;
                }

                this.DataContext = this;
                this.wv_Post.Navigate(new Uri(pageFile));
                this.commentDS.OnLoadMoreCompleted += commentDS_OnLoadMoreCompleted;

                this.lv_Comments.ItemsSource = commentDS;
                if (this.commentsCount.Trim('/') == "0")
                {
                    this.lv_Comments.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    this.tb_Message.Visibility = Windows.UI.Xaml.Visibility.Visible;
                }

                //Set Visual States
                this.SetPageVisualStatus(RenderSize.Width);
                this.SetTitleFont(pageTitle.Text.Length);
            }
            catch (Exception ex)
            {
                this.Title = ex.Message;
            }
        }
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.NavigationMode == NavigationMode.New)
            {
                Logger.LogAgent.GetInstance().WriteLog(this.GetType().ToString());
            }

            this.navigationHelper.OnNavigatedTo(e);
            if (e.NavigationMode != NavigationMode.Back)
            {

                var pageFile = string.Empty;
                if (!CNBlogs.DataHelper.DataModel.CNBlogSettings.Instance.NightModeTheme)
                {
                    pageFile = "ms-appx-web:///HTML/news_day.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.White;
                }
                else
                {
                    pageFile = "ms-appx-web:///HTML/news_night.html#width={0}&height={1}";
                    this.wv_WebContent.DefaultBackgroundColor = Windows.UI.Colors.Black;
                }

                if (e.Parameter is News)
                {
                    this.news = e.Parameter as News;
                    this.commentsCount = news.CommentsCount;
                    CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                    if (await ncDS.LoadRemoteData())
                    {
                        //this.wv_Post.NavigateToString(ncDS.News.Content);
                        // add title to news
                        content = "<h2 class='title'>" + this.news.Title + "</h2>" + ncDS.News.Content;
                    }
                    this.UpdateUI();
                    string width = Window.Current.Bounds.Width.ToString();
                    string height = Window.Current.Bounds.Height.ToString();

                    this.wv_WebContent.Navigate(new Uri(string.Format(pageFile, width, height)));
                }
            }
        }
Example #5
0
 public void SaveNewsStatus(News news)
 {
     SetPostReadState(SettingKeyFormat_NewsReaded, news.ID, news.Status);
 }
Example #6
0
 public void SaveNewsStatus(News news)
 {
     SetPostReadState(SettingKeyFormat_NewsReaded, news.ID, news.Status);
 }
        /// <summary>
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// <para>
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="NavigationHelper.LoadState"/>
        /// and <see cref="NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.
        /// </para>
        /// </summary>
        /// <param name="e">Provides data for navigation methods and event
        /// handlers that cannot cancel the navigation request.</param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            this.navigationHelper.OnNavigatedTo(e);
            string commentsCount = string.Empty;
            var pageFile = string.Empty;

            if (e.Parameter is Post)
            {
                this.post = e.Parameter as Post;
                this.Author = post.Author;
                commentsCount = post.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.PostContentDS pcDS = new DataHelper.CloudAPI.PostContentDS(post.ID);
                if (await pcDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(pcDS.Content);
                    content = pcDS.Content;
                }

                pageFile = "ms-appx-web:///HTML/post.html";
            }
            else if (e.Parameter is News)
            {
                this.news = e.Parameter as News;
                commentsCount = news.CommentsCount;
                CNBlogs.DataHelper.CloudAPI.NewsContentDS ncDS = new DataHelper.CloudAPI.NewsContentDS(news.ID);
                if (await ncDS.LoadRemoteData())
                {
                    //this.wv_Post.NavigateToString(ncDS.News.Content);
                    content = ncDS.News.Content;
                }

                pageFile = "ms-appx-web:///HTML/news.html";

            }

            UpdateUI(commentsCount);

            this.wv_WebContent.Navigate(new Uri(pageFile));
        }