public void Load(IArticlesService articleService, IEnumerable <FacetType> faceTypes)
        {
            IsLoading = true;

            var incrementalSource = new ArticleSource(articleService, faceTypes);

            _articles = new IncrementalLoadingCollection <ArticleSource, Article>(incrementalSource, 10,
                                                                                  LoadingStarted, LoadingComplete, LoadingError);

            RaisePropertyChanged(nameof(Articles));
        }
示例#2
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ArticleSource = await _context.ArticleSources.FirstOrDefaultAsync(m => m.Id == id);

            if (ArticleSource == null)
            {
                return(NotFound());
            }
            return(Page());
        }
示例#3
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ArticleSource = await _context.ArticleSources.FindAsync(id);

            if (ArticleSource != null)
            {
                _context.ArticleSources.Remove(ArticleSource);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public IHttpActionResult Articles(ArticleSource source)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest("Passed information isn't valid."));
                }

                var src = Mapper.MapSource(source);
                if (src != null)
                {
                    var da   = new DataAccess();
                    var arts = da.GetArticles(src);
                    if (arts == null)
                    {
                        return(NotFound());
                    }

                    // Let's convert the article objects
                    var articles = Mapper.MapArticle(arts);

                    if (articles == null)
                    {
                        throw new NotImplementedException();
                    }

                    return(Ok(articles));
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Attempt to get articles from source " + source.Name + " failed: " + ex.Message);
                return(BadRequest("Something went wrong while saving comment."));
            }
        }
        // Map ArticleSource object to DAL.Source object
        public static Source MapSource(ArticleSource source)
        {
            try
            {
                if (source == null)
                {
                    throw new NotImplementedException();
                }

                var src = new Source()
                {
                    Name = source.Name
                };

                return(src);
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Attempt to map ArticleSource " + source.Name + " to Source failed: " + ex.Message);
                return(null);
            }
        }
 /// <summary>
 /// 构造函数,传入新文章数据
 /// </summary>
 /// <param name="title">标题</param>
 /// <param name="contentmd">内容Markdown格式</param>
 /// <param name="contenthtml">内容Html格式</param>
 /// <param name="addtime">添加时间</param>
 /// <param name="author">作者</param>
 /// <param name="articleCategoryId">类别</param>
 /// <param name="groupId">分组</param>
 /// <param name="source">来源:原创,转载,翻译</param>
 /// <param name="status">状态:草稿,审核中,已发布,回收箱</param>
 /// <param name="externalUrl">转载url</param>
 public AddNewArticleCommand(
     string title,
     string contentmd,
     string contenthtml,
     DateTime addtime,
     string author,
     int?articleCategoryId,
     int?groupId,
     ArticleSource source,
     ArticleStatus status,
     string externalUrl)
 {
     Title             = title;
     Author            = author;
     ContentMd         = contentmd;
     ContentHtml       = contenthtml;
     AddTime           = addtime;
     Source            = source;
     Status            = status;
     ArticleCategoryId = articleCategoryId;
     ExternalUrl       = externalUrl;
     GroupId           = groupId;
 }
        private HttpRequestMessage CreateSearchRequestToService(Search search)
        {
            try
            {
                HttpRequestMessage requestMessage = CreateRequestToService(HttpMethod.Post, "api/Data/" + search.Criteria);
                if (search.Criteria == "Title")
                {
                    var at = new ArticleTitle()
                    {
                        Title = search.SearchString
                    };
                    requestMessage.Content = new ObjectContent <ArticleTitle>(at, new JsonMediaTypeFormatter());
                }
                else if (search.Criteria == "Topic")
                {
                    var at = new ArticleTopic()
                    {
                        Topic = search.SearchString
                    };
                    requestMessage.Content = new ObjectContent <ArticleTopic>(at, new JsonMediaTypeFormatter());
                }
                else if (search.Criteria == "Source")
                {
                    var at = new ArticleSource()
                    {
                        Name = search.SearchString
                    };
                    requestMessage.Content = new ObjectContent <ArticleSource>(at, new JsonMediaTypeFormatter());
                }
                else if (search.Criteria == "Country")
                {
                    var at = new ArticleCountry()
                    {
                        Country = search.SearchString
                    };
                    requestMessage.Content = new ObjectContent <ArticleCountry>(at, new JsonMediaTypeFormatter());
                }
                else if (search.Criteria == "Language")
                {
                    var at = new ArticleLanguage()
                    {
                        Language = search.SearchString
                    };
                    requestMessage.Content = new ObjectContent <ArticleLanguage>(at, new JsonMediaTypeFormatter());
                }
                else if (search.Criteria == "Date")
                {
                    var at = new ArticlePulished()
                    {
                        PublishedDate = Convert.ToDateTime(search.SearchString)
                    };
                    requestMessage.Content = new ObjectContent <ArticlePulished>(at, new JsonMediaTypeFormatter());
                }

                return(requestMessage);
            }
            catch (Exception ex)
            {
                // log the error here
                logger.Error(ex.Message);
                return(null);
            }
        }
示例#8
0
 public void CustomChangeArticleSource(ArticleSource articleSource)
 {
     CurrentArticleTemplate.Hide();
     CurrentArticleSource = articleSource;
 }
示例#9
0
 public ArticleView(ArticleSource articleSource)
 {
     Heading = articleSource.Title;
     Updated = articleSource.UpdatedDate;
     Link    = articleSource.ShortUrl;
 }