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)); } } }