Пример #1
0
        public ActionResult PostDetail(string seoUrl)
        {
            var post = _postService.GetBySeoUrl(seoUrl);

            if (post == null)
            {
                return(HttpNotFound());
            }

            var postLocalized = post.ToModel();

            var viewCount = post;

            viewCount.ViewCount = viewCount.ViewCount + 1;
            _postService.Update(post);

            var categories = post.VirtualCategoryId.Split('/');

            var menuLinks =
                categories.Select(currentVirtualId => _menuLinkService.GetByCurrentVirtualId(currentVirtualId));

            ViewBag.BannerId = menuLinks.FirstOrDefault().Id;

            var breadCrumbs = new List <BreadCrumb>();

            breadCrumbs.AddRange(menuLinks
                                 .Select(menuLink => new BreadCrumb
            {
                Title   = menuLink.GetLocalized(x => x.MenuName, menuLink.Id),
                Current = false,
                Url     = Url.Action("GetContent", "Menu", new { area = "", menu = menuLink.SeoUrl })
            }));
            breadCrumbs.Add(new BreadCrumb
            {
                Current = true,
                Title   = postLocalized.Title
            });

            ViewBag.BreadCrumb  = breadCrumbs;
            ViewBag.Title       = postLocalized.Title;
            ViewBag.KeyWords    = postLocalized.MetaKeywords;
            ViewBag.SiteUrl     = Url.Action("PostDetail", "Post", new { seoUrl, area = "" });
            ViewBag.Description = postLocalized.MetaTitle;
            ViewBag.Image       = Url.Content(string.Concat("~/", postLocalized.ImageMediumSize));
            ViewBag.MenuId      = postLocalized.MenuId;

            return(View(postLocalized));
        }