public ActionResult News(NewsCriteria criteria) { StringBuilder where = new StringBuilder(); DynamicParameters parameter = new DynamicParameters(); where.Append(" n.Deleted = 0 "); if (criteria.CategoryId > 0) { where.Append(" AND n.CategoryId = @cid"); parameter.Add("cid", criteria.CategoryId); } if (!string.IsNullOrEmpty(criteria.Title)) { where.Append(" AND n.Title LIKE @title"); parameter.Add("title", "%" + criteria.Title + "%"); } if (criteria.StartDate.HasValue) { where.Append(" AND n.CreateTime >= @start"); parameter.Add("start", criteria.StartDate.Value); } if (criteria.EndDate.HasValue) { where.Append(" AND n.CreateTime < @end"); parameter.Add("end", criteria.EndDate.Value); } var pc = new PageCriteria { Table = "News n INNER JOIN NewsCategory c ON n.CategoryId = c.Id", Where = where.ToString(), PageIndex = CurrentPageIndex, Order = "n.Id DESC", PageSize = PageSize, Parameter = parameter }; var model = nr.GetPagedData <News, NewsCategory, News>(pc, (n, c) => { n.Category = c; return(n); }); ViewBag.NewsCategories = nr.GetAllCategories().Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.Title }); return(View(model)); }
public IEnumerable GetAllCategories() { return(_newsRepository.GetAllCategories()); }
public ActionResult SideMenu() { var categories = nr.GetAllCategories(); return(PartialView("_NewsSideMenu", categories)); }