Ejemplo n.º 1
0
        public ActionResult All(int?year)
        {
            var yearOrCurrent = year ?? DateTime.Today.Year;
            var html          = MethodBase.GetCurrentMethod().CacheWith(() => {
                var yearsBlock = H.h2[Enumerable.Range(2001, DateTime.Today.Year - 2001 + 1).Reverse()
                                      .Select(x => x == yearOrCurrent ? (IHtmlTag)H.b[x] : Url.SiteNews().All(x, x.ToString()))];
                var news = NewsService.GetAll().Where(x => x.IsActive &&
                                                      x.PublishDate.Year == yearOrCurrent).OrderByDescending(n => n.PublishDate)
                           .Select(x => new {
                    x.NewsID, x.Title, x.PublishDate
                }).ToList()
                           .Select(x => new News {
                    NewsID = x.NewsID, Title = x.Title, PublishDate = x.PublishDate
                });

                return(H.div[yearsBlock, news.GroupBy(x => x.PublishDate.Month)
                             .Select(x => H.div[H.h3[MonthUtil.GetName(x.Key)],
                                                H.Ul(x.Select(y => y.PublishDate.DefaultString() + " " + Html.NewsLink(y)))])].ToString());
            }, yearOrCurrent, 24);

            var model = new AllNewsVM {
                Year = yearOrCurrent
            };
            var view = InlineBaseView.New(model, x => html);

            return(BaseViewWithModel(view, model));
        }
Ejemplo n.º 2
0
        public List <string> GetBreadCrumbs(AllNewsVM news)
        {
            var breadcrumb = new List <string>();

            breadcrumb.Add(_helper.ActionLink <SiteNewsController>(
                               c => c.List(NewsType.Main, null), "Новости")
                           .ToString());
            return(breadcrumb);
        }