예제 #1
0
        /// <summary>
        /// 将文章渲染到文章列表上
        /// </summary>
        /// <param name="list">要渲染的文章列表</param>
        private void SetArticleList(IEnumerable <Article> list)
        {
            ArticleListPanel.BeginInit();

            // 清空当前列表
            ArticleListPanel.Items.Clear();

            var init = false;

            foreach (var article in list)
            {
                // 将文章渲染到文章列表上
                var item = new ArticleListItem(article);
                _articles[article.Id] = item;
                ArticleListPanel.Items.Add(item);

                // 默认选中列表第一篇文章
                if (init)
                {
                    continue;
                }
                SelectArticle(item);
                init = true;
            }
            ArticleListPanel.LayoutContent();

            ArticleListPanel.EndInit();
        }
예제 #2
0
        public async Task DeleteArticle(ArticleListItem item)
        {
            try
            {
                await service.Delete(item.Id);

                await this.ShowList();
            }
            catch (Exception ex)
            {
                this.error = ex.Message;
            }
        }
예제 #3
0
        static async Task Main(string[] args)
        {
            Console.WriteLine("Start!");

            var serviceProvider = CreateServiceProvider();

            var context = serviceProvider.GetService <ExampleContext>();

            List <ArticleListItem> items = await context.Articles.GetAllItemsAsync();

            ArticleListItem item = context.Articles.GetItemAsync(1).Result;

            string ViewXml = "<View>" +
                             "<Query>" +
                             "<Where><Eq>" +
                             "<FieldRef Name='Title' />" +
                             "<Value Type='Text'>Happy New Year</Value>" +
                             "</Eq></Where>" +
                             "</Query>" +
                             "</View>";

            List <ArticleListItem> selectedItems = await context.Articles.Take(1).GetItemsAsync(ViewXml);

            var newItem = new ArticleListItem
            {
                Title = "Happy New 2019 Year"
            };

            ArticleListItem createdItem = await context.Articles.AddItemAsync(newItem);

            List <ArticleListItem> itemsInShortForm = await context.Articles
                                                      .ExcludeFields(x => new { x.Description })
                                                      .Take(5)
                                                      .GetAllItemsAsync();

            List <ArticleListItem> itemIds = await context.Articles
                                             .IncludeFields(x => new { x.Id })
                                             .GetAllItemsAsync();
        }
예제 #4
0
        public LoadedArticle LoadArticle(ArticleListItem listItem, DateTime day)
        {
            var url = FinamUrl + listItem.Url;

            var loadedArticle = new LoadedArticle
            {
                Author  = listItem.Author,
                Company = listItem.Company,
                Url     = url
            };

            var wc = new WebClient {
                Encoding = Encoding.GetEncoding("windows-1251")
            };
            var pageContent = wc.DownloadString(url);

            var extractedInfo = new ArticleInfoExtractor(pageContent).Extract();

            loadedArticle.Title       = extractedInfo.Title;
            loadedArticle.Content     = extractedInfo.Content;
            loadedArticle.PublishDate = extractedInfo.PublishedDate ?? day;

            return(loadedArticle);
        }
예제 #5
0
 /// <summary>
 /// 选中一篇文章
 /// </summary>
 /// <param name="item">选中的文章</param>
 private void SelectArticle(ArticleListItem item)
 {
     item.Selected  = true;
     item.BackColor = Color.FromArgb(255, 217, 237, 247);
     SetArticleInfo(item.Article);
 }
예제 #6
0
 public async Task EditArticle(ArticleListItem item)
 {
     this.currentArticle = await service.Get(item.Id);
 }