/// <summary>
 /// Returns the article with the specified identifier.
 /// </summary>
 /// <param name="nodeID">The article node identifier.</param>
 /// <returns>The article with the specified node identifier, if found; otherwise, null.</returns>
 public Article GetArticle(int nodeID)
 {
     return(ArticleProvider.GetArticle(nodeID, mCultureName, mSiteName)
            .LatestVersion(mLatestVersionEnabled)
            .Published(!mLatestVersionEnabled)
            .CombineWithDefaultCulture());
 }
        public void NullUrlExc()
        {
            var provider = new ArticleProvider(MockRepository.GenerateStub <IHtmlCleaner>(),
                                               MockRepository.GenerateStub <IHtmlLoader>());

            provider.Get(null);
        }
Esempio n. 3
0
        public ActionResult UpdatePriority(int ID, int prio)
        {
            ArticleProvider articleProvider = new ArticleProvider();

            articleProvider.UpdatePriority(ID, prio);
            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
 /// <summary>
 /// Returns the article with the specified identifier.
 /// </summary>
 /// <param name="nodeGUID">The article node identifier.</param>
 /// <returns>The article with the specified node identifier, if found; otherwise, null.</returns>
 public Article GetArticle(Guid nodeGUID)
 {
     return(ArticleProvider.GetArticle(nodeGUID, mCultureName, SiteContext.CurrentSiteName)
            .LatestVersion(mLatestVersionEnabled)
            .Published(!mLatestVersionEnabled)
            .CombineWithDefaultCulture());
 }
Esempio n. 5
0
        public ActionResult Delete(int ID)
        {
            ArticleProvider articleProvider = new ArticleProvider();

            articleProvider.Delete(ID);
            return(RedirectToAction("Index"));
        }
Esempio n. 6
0
 public FVirtualFile(string virtualpath, FVirtualPathProvider virtualpathpprovider)
     : base(virtualpath)
 {
     _provider = virtualpathpprovider;
     _layoutProvider = new LayoutProvider();
     _transformationProvider = new TransformationProvider();
     _articleProvider = new ArticleProvider();
 }
Esempio n. 7
0
        private void Test()
        {
            var path    = @"C:\Home";
            var article = ArticleProvider.GetArticle("local", path) as DirectoryLocalArticle;
            var context = new ArticleContext(article);

            context.IsObservationEnabled = true;
            RootPanel.ItemsSource        = context.Children;
        }
Esempio n. 8
0
 public ActionResult Create(EntityArticle article)
 {
     if (ModelState.IsValid)
     {
         article.priority = 1;
         ArticleProvider articleProvider = new ArticleProvider();
         articleProvider.Create(article);
     }
     return(RedirectToAction("Index"));
 }
Esempio n. 9
0
 /// <summary>
 /// Returns an enumerable collection of articles ordered by the date of publication. The most recent articles come first.
 /// </summary>
 /// <param name="count">The number of articles to return.</param>
 /// <returns>An enumerable collection that contains the specified number of articles ordered by the date of publication.</returns>
 public IEnumerable <Article> GetArticles(int count = 0)
 {
     return(ArticleProvider.GetArticles()
            .LatestVersion(mLatestVersionEnabled)
            .Published(!mLatestVersionEnabled)
            .OnSite(mSiteName)
            .Culture(mCultureName)
            .TopN(count)
            .OrderByDescending("DocumentPublishFrom"));
 }
Esempio n. 10
0
        public IViewComponentResult Invoke(Guid articleId)
        {
            ArticleProvider article = _repository.GetArticleById(articleId);

            _repository.IncrementArticleViewCount(article.Id);
            _unitOfWork.Commit();
            ArticleBoxViewModel model = _mapper.Map <ArticleProvider, ArticleBoxViewModel>(article);

            return(View(model));
        }
Esempio n. 11
0
 /// <summary>
 /// Returns an enumerable collection of articles ordered by the date of publication. The most recent articles come first.
 /// </summary>
 /// <param name="count">The number of articles to return. Use 0 as value to return all records.</param>
 /// <returns>An enumerable collection that contains the specified number of articles ordered by the date of publication.</returns>
 public IEnumerable <Article> GetArticles(int count = 0)
 {
     return(ArticleProvider.GetArticles()
            .LatestVersion(mLatestVersionEnabled)
            .Published(!mLatestVersionEnabled)
            .OnSite(SiteContext.CurrentSiteName)
            .Culture(mCultureName)
            .CombineWithDefaultCulture()
            .TopN(count)
            .OrderByDescending("DocumentPublishFrom")
            .ToList());
 }
Esempio n. 12
0
        private static void Main(string[] args)
        {
            var htmlCleaner                       = new HtmlCleaner(new ISiteHtmlCleaner[] { new DailyHtmlCleaner(), new MirrorHtmlCleaner() });
            var htmlLoader                        = new HtmlLoader();
            var articleProvider                   = new ArticleProvider(htmlCleaner, htmlLoader);
            var cosineSimilarityCalculator        = new CosineSimilarityCalculator();
            IDocumentFrequencyProvider dfProvider = LoadFrequencies();
            var tfIdfCalculator                   = new TfIdfCalculator(dfProvider);
            var tokenizer        = new Tokenizer();
            var articleProcessor = new ArticleProcessor(tfIdfCalculator, tokenizer);
            var articleComparer  = new TextProcessing.ArticleComparer(articleProvider, cosineSimilarityCalculator,
                                                                      articleProcessor);

            Console.WriteLine("Similar articles:");
            double similarity =
                articleComparer.Compare(
                    @"http://www.dailymail.co.uk/news/article-2489957/Britains-spy-chiefs-grilled-MPs-television-time.html",
                    @"http://www.mirror.co.uk/news/uk-news/mi6-mi5-gchq-bosses-questioned-2685310");

            Console.WriteLine(similarity);
            similarity =
                articleComparer.Compare(
                    @"http://www.dailymail.co.uk/news/article-2489640/80-parents-caught-children-copying-p**n-style-dances-offensive-lyrics.html",
                    @"http://www.mirror.co.uk/news/uk-news/miley-cyrus-twerking-kids-copying-2685363");
            Console.WriteLine(similarity);

            Console.WriteLine("Same article:");
            similarity =
                articleComparer.Compare(
                    @"http://www.dailymail.co.uk/news/article-2490296/You-STILL-likely-lose-job-recession-25s-shop-workers-risk.html",
                    @"http://www.dailymail.co.uk/news/article-2490296/You-STILL-likely-lose-job-recession-25s-shop-workers-risk.html");
            Console.WriteLine(similarity);

            Console.WriteLine("Different articles:");
            similarity =
                articleComparer.Compare(
                    @"http://www.dailymail.co.uk/femail/article-2489984/Needy-people-likely-cheat.html",
                    @"http://www.dailymail.co.uk/news/article-2490531/Worlds-oldest-paperboy-deliver-round-71-years-route.html");
            Console.WriteLine(similarity);
            similarity =
                articleComparer.Compare(
                    @"http://www.dailymail.co.uk/news/article-2490412/Wikileaks-journalist-spent-4-months-Edward-Snowden-leaves-Russia.html",
                    @"http://www.dailymail.co.uk/news/article-2489994/Twitter-share-prices-soar-firms-day-trading.html");
            Console.WriteLine(similarity);
            Console.ReadKey();
        }
Esempio n. 13
0
        //
        // GET: /Articles/

        public ActionResult Index(string orderBy)
        {
            ArticleProvider      articleProvider = new ArticleProvider();
            List <EntityArticle> articles        = articleProvider.GetAllArticles();

            switch (orderBy)
            {
            case "nameDesc":
                articles = articles.OrderBy(x => x.CategoryID).OrderByDescending(x => x.name).ToList();
                break;

            case "nameAsc":
                articles = articles.OrderBy(x => x.CategoryID).OrderBy(x => x.name).ToList();
                break;

            case "descDesc":
                articles = articles.OrderBy(x => x.CategoryID).OrderByDescending(x => x.description).ToList();
                break;

            case "descAsc":
                articles = articles.OrderBy(x => x.CategoryID).OrderBy(x => x.description).ToList();
                break;

            case "categoryDesc":
                articles = articles.OrderBy(x => x.Category.name).ToList();
                break;

            case "categoryAsc":
                articles = articles.OrderByDescending(x => x.Category.name).ToList();
                break;

            case "priorityDesc":
                articles = articles.OrderBy(x => x.CategoryID).OrderByDescending(x => x.priority).ToList();
                break;

            case "priorityAsc":
                articles = articles.OrderBy(x => x.CategoryID).OrderBy(x => x.priority).ToList();
                break;

            default:
                articles = articles.OrderBy(x => x.CategoryID).OrderByDescending(x => x.priority).ToList();
                break;
            }

            return(View(articles));
        }
Esempio n. 14
0
        private static void Main(string[] args)
        {
            var htmlCleaner       = new HtmlCleaner(new[] { new TelegraphHtmlCleaner() });
            var htmlLoader        = new HtmlLoader();
            var articleProvider   = new ArticleProvider(htmlCleaner, htmlLoader);
            var frequencyProvider = new DocumentFrequencyProvider();
            var tokenizer         = new Tokenizer();

            string[] articleUrls = File.ReadAllLines(ArticlesUrlsFile, Encoding.Unicode);
            foreach (string articleUrl in articleUrls)
            {
                IArticle             article = articleProvider.Get(articleUrl);
                IEnumerable <IToken> tokens  = tokenizer.Tokenize(article.Text);
                frequencyProvider.ProcessText(tokens);
            }

            SaveFrequencies(frequencyProvider);
        }
Esempio n. 15
0
        public void EditArticle(string id, EditArticleViewModel model)
        {
            var validator             = ValidationFactory.CreateValidator <EditArticleViewModel>("Group1");
            ValidationResults results = validator.Validate(model);

            if (results.IsValid)
            {
                var article = new Article
                {
                    Id       = model.Id,
                    Abstract = model.Abstract,
                    AddedBy  = model.AddedBy,
                    Body     = model.Body
                };

                ArticleProvider articleProvider = _articlesRepository.GetArticleById(model.Id);
                _articlesRepository.UpdateArticle(articleProvider);
                _unitOfWork.Commit();
            }
        }
        /// <summary>
        /// Returns an enumerable collection of articles ordered by the date of publication. The most recent articles come first.
        /// </summary>
        /// <param name="count">The number of articles to return. Use 0 as value to return all records.</param>
        /// <returns>An enumerable collection that contains the specified number of articles ordered by the date of publication.</returns>
        //public IEnumerable<Article> GetArticles(int count = 0)
        //{
        //    return ArticleProvider.GetArticles()
        //        .LatestVersion(mLatestVersionEnabled)
        //        .Published(!mLatestVersionEnabled)
        //        .OnSite(SiteContext.CurrentSiteName)
        //        .Culture(mCultureName)
        //        .CombineWithDefaultCulture()
        //        .TopN(count)
        //        .OrderByDescending("DocumentPublishFrom")
        //        .ToList();
        //}

        //public IEnumerable<Article> GetArticles(int count = 0)
        //{
        //    string culture = "en-us";
        //    //string siteName = SiteContext.CurrentSiteName;

        //    Func<IEnumerable<Article>> dataLoadMethod = () => ArticleProvider.GetArticles()
        //            .OnSite("DancingGoatMvc")
        //            .Culture(culture)
        //            .TopN(count)
        //            .OrderByDescending("DocumentPublishFrom")
        //            .TypedResult; // Ensures that the result of the query is saved, not the query itself

        //    var cacheSettings = new CacheSettings(10, "myapp|data|articles", "DancingGoatMvc", culture, count)
        //    {
        //        GetCacheDependency = () =>
        //        {
        //            // Creates caches dependencies. This example makes the cache clear data when any article is modified, deleted, or created in Kentico.
        //            string dependencyCacheKey = String.Format("nodes|{0}|{1}|all", "DancingGoatMvc", Article.CLASS_NAME.ToLowerInvariant());
        //            return CacheHelper.GetCacheDependency(dependencyCacheKey);
        //        }
        //    };

        //    return CacheHelper.Cache(dataLoadMethod, cacheSettings);
        //}

        public IEnumerable <Article> GetArticles(int count = 0)
        {
            return(CacheHelper.Cache(
                       cs =>
            {
                IEnumerable <Article> articles = ArticleProvider.GetArticles()
                                                 .OnSite("DancingGoatMvc")
                                                 .Culture("en-us")
                                                 .TopN(count)
                                                 .OrderByDescending("DocumentPublishFrom")
                                                 .TypedResult; // Ensures that the result of the query is saved, not the query itself;

                // Setup the cache dependencies only when caching is active.
                if (cs.Cached)
                {
                    cs.CacheDependency = CacheHelper.GetCacheDependency(String.Format("nodes|{0}|{1}|all", "DancingGoatMvc", Article.CLASS_NAME.ToLowerInvariant()));
                }

                return articles;
            },
                       new CacheSettings(5, "myapp|data|articles", "DancingGoatMvc", "en-us", count)
                       ));
        }
        public void GetTest()
        {
            var loader = MockRepository.GenerateStub <IHtmlLoader>();

            loader.Stub(l => l.Load(Arg <String> .Is.Anything))
            .Return("Uncleaned text");
            var mockArticle = MockRepository.GenerateStub <IArticle>();
            var cleaner     = MockRepository.GenerateStub <IHtmlCleaner>();

            cleaner.Stub(c => c.Clean(Arg <string> .Is.Anything, Arg <string> .Is.Anything))
            .Do(new Func <string, string, IArticle>((url, text) =>
            {
                mockArticle.Stub(ma => ma.Text)
                .Return(url);
                return(mockArticle);
            }));
            var provider = new ArticleProvider(cleaner, loader);

            IArticle article =
                provider.Get(
                    @"http://www.dailymail.co.uk/news/article-2489974/An-urban-explorers-holiday-album-Traveller-spends-free-time-visiting-abandoned-buildings-world-despite-arrested-20-times-trespass.html");

            Assert.AreEqual(@"http://www.dailymail.co.uk/", article.Text);
        }
Esempio n. 18
0
 public ArticleController(ArticleProvider articleProvider)
 {
     this.articleProvider = articleProvider;
 }
Esempio n. 19
0
        protected override void Init()
        {
            base.Init();

            if (_articleProvider == null)
                _articleProvider = new ArticleProvider();
            if (_localizationProvider == null)
                _localizationProvider = new LocalizationProvider();
            if (_layoutProvider == null)
                _layoutProvider = new LayoutProvider();
            if (_pageProvider == null)
                _pageProvider = new PageProvider();
            if (_blockProvider == null)
                _blockProvider = new BlockProvider();

            if (IsEdit)
            {
                Title = "Edit Article | " + CoreSettings.CurrentSite.Name;
                ltlTitle.Text = "Edit Article";
            }
            else
            {
                Title = "New Article | " + CoreSettings.CurrentSite.Name;
                ltlTitle.Text = "New Article";
            }
            FillLanguages();
            FillPages();
            FillLayouts();
        }
Esempio n. 20
0
 public ShowcaseController(ShowcaseProvider showcaseProvider, ArticleProvider articleProvider)
 {
     this.showcaseProvider = showcaseProvider;
     this.articleProvider  = articleProvider;
 }
Esempio n. 21
0
 protected override void Init()
 {
     base.Init();
     if (_articleProvider == null)
         _articleProvider = new ArticleProvider();
 }