public ActionResult AboutCompanyArticles(int page = 1)
 {
     using (EFArticleContext articleContext = new EFArticleContext())
         using (EFCountViewContext countViewContext = new EFCountViewContext())
         {
             List <Article>         articles = articleContext.GetArticles(page, "aboutCompany");
             List <MainArticleView> model    = new List <MainArticleView>();
             foreach (Article a in articles)
             {
                 model.Add(new MainArticleView {
                     article = a, CountView = countViewContext.GetCountView(a.Id, Domain.Entities.ViewType.Article)
                 });
             }
             Session["ArticlesCount"]   = articleContext.GetArticlesCount("aboutCompany");
             Session["ArticleOnPage"]   = ConstantContext.GetConstant("Главная: количество публикаций") ?? "3";
             Session["ArticleMainPage"] = page;
             return(PartialView("_MainArticles", model));
         }
 }
        //[OutputCache(Duration = 600, VaryByParam = "none", Location = OutputCacheLocation.Downstream)]
        public async Task <ActionResult> Article(String link)
        {
            Article model = null;

            using (EFArticleContext articleContext = new EFArticleContext())
            {
                model = await articleContext.FindByLinkAsync(link);
            }
            if (model != null)
            {
                model.TextArticle = Server.HtmlDecode(model.TextArticle);
                model.TextMain    = Server.HtmlDecode(model.TextMain);

                //добавляем просмотр
                using (EFCountViewContext countViewContext = new EFCountViewContext())
                {
                    if (!User.IsInRole("Администратор") && !User.IsInRole("Редактор"))
                    {
                        await countViewContext.AppendViewAsync(model.Id, Domain.Entities.ViewType.Article);
                    }
                    ViewBag.CountView = await countViewContext.GetCountViewAsync(model.Id, Domain.Entities.ViewType.Article);
                }
                Session["Link"] = "/articles/article/" + model.Link;

                using (EFMenuSetContext menuSetContext = new EFMenuSetContext())
                {
                    Session["Group"] = await menuSetContext.GetGroupByLinkAsync("/articles/article/" + model.Link);
                }
            }
            else
            {
                return(HttpNotFound());
            }
            ViewBag.MyUrl = await ConstantContext.GetConstantAsync("Общие: URL сайта");

            ViewBag.MyDomain = await ConstantContext.GetConstantAsync("Общие: имя домена");

            ViewBag.RightPanel = await ConstantContext.GetConstantAsync("Публикации: показывать правую панель");

            return(View(model));
        }
 public ActionResult FixedArticle(string category)
 {
     using (EFArticleContext articleContext = new EFArticleContext())
         using (EFCountViewContext countViewContext = new EFCountViewContext())
         {
             Article a = articleContext.GetFixedArticle(category);
             if (a != null)
             {
                 MainArticleView model = new MainArticleView()
                 {
                     article   = a,
                     CountView = countViewContext.GetCountView(a.Id, Domain.Entities.ViewType.Article)
                 };
                 return(PartialView("_FixedArticle", model));
             }
             else
             {
                 return(PartialView("_FixedArticle", null));
             }
         }
 }