public virtual ActionResult DataTable(string term = "", int page = 0, int count = 10, Order order = Order.Descending, ArticleOrderBy orderBy = ArticleOrderBy.Date, ArticleSearchBy searchBy = ArticleSearchBy.Title) { ViewBag.CurrentPage = page; ViewBag.Count = count; ViewBag.TERM = term; ViewBag.PAGE = page; ViewBag.COUNT = count; ViewBag.ORDER = order; ViewBag.ORDERBY = orderBy; ViewBag.SEARCHBY = searchBy; ViewBag.OrderByList = DropDownList.OrderList(order); ViewBag.CountList = DropDownList.CountList(count); var selectListOrderBy = new List <SelectListItem> { new SelectListItem { Value = "Date", Text = "تاریخ ارسال" }, new SelectListItem { Value = "Title", Text = "عنوان" }, new SelectListItem { Value = "CommentCount", Text = "تعداد دیدگاه" }, new SelectListItem { Value = "UserName", Text = "نام کاربری" }, new SelectListItem { Value = "Order", Text = "ترتیب" } }; ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy); IList <ArticleDataTableModel> model = _articleService.GetDataTable(term, page, count, order, orderBy, searchBy); ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _articleService.Count : model.Count; return(PartialView(MVC.Admin.Article.Views._DataTable, model)); }
public virtual ActionResult DataTable(string term = "", int page = 0, int count = 10, Order order = Order.Descending, ArticleOrderBy orderBy = ArticleOrderBy.Date, ArticleSearchBy searchBy = ArticleSearchBy.Title) { ViewBag.CurrentPage = page; ViewBag.Count = count; ViewBag.TERM = term; ViewBag.PAGE = page; ViewBag.COUNT = count; ViewBag.ORDER = order; ViewBag.ORDERBY = orderBy; ViewBag.SEARCHBY = searchBy; ViewBag.OrderByList = DropDownList.OrderList(order); ViewBag.CountList = DropDownList.CountList(count); var selectListOrderBy = new List<SelectListItem> { new SelectListItem {Value = "Date", Text = "تاریخ ارسال"}, new SelectListItem {Value = "Title", Text = "عنوان"}, new SelectListItem {Value = "CommentCount", Text = "تعداد دیدگاه"}, new SelectListItem {Value = "UserName", Text = "نام کاربری"}, new SelectListItem {Value = "Order", Text = "ترتیب"} }; ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy); IList<ArticleDataTableModel> model = _articleService.GetDataTable(term, page, count, order, orderBy, searchBy); ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _articleService.Count : model.Count; return PartialView(MVC.Admin.Article.Views._DataTable, model); }
public IList <ArticleDataTableModel> GetDataTable(string term, int page, int count, Order order, ArticleOrderBy orderBy, ArticleSearchBy searchBy) { IQueryable <Article> selectedArticles = _articles.AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case ArticleSearchBy.Title: selectedArticles = selectedArticles.Where(article => article.Title.Contains(term)).AsQueryable(); break; case ArticleSearchBy.UserName: selectedArticles = selectedArticles.Where(article => article.User.UserName.Contains(term)).AsQueryable(); break; } } if (order == Order.Asscending) { switch (orderBy) { case ArticleOrderBy.Title: selectedArticles = selectedArticles.OrderBy(article => article.Title).AsQueryable(); break; case ArticleOrderBy.Date: selectedArticles = selectedArticles.OrderBy(article => article.CreatedDate).AsQueryable(); break; case ArticleOrderBy.CommentCount: selectedArticles = selectedArticles.OrderBy(article => article.Comments.Count).AsQueryable(); break; case ArticleOrderBy.Status: selectedArticles = selectedArticles.OrderBy(article => article.Status).AsQueryable(); break; case ArticleOrderBy.UserName: selectedArticles = selectedArticles.OrderBy(article => article.User.UserName).AsQueryable(); break; case ArticleOrderBy.Order: selectedArticles = selectedArticles.OrderBy(article => article.Category.Order).AsQueryable(); break; } } else { switch (orderBy) { case ArticleOrderBy.Title: selectedArticles = selectedArticles.OrderByDescending(article => article.Title).AsQueryable(); break; case ArticleOrderBy.Date: selectedArticles = selectedArticles.OrderByDescending(article => article.CreatedDate).AsQueryable(); break; case ArticleOrderBy.CommentCount: selectedArticles = selectedArticles.OrderByDescending(article => article.Comments.Count).AsQueryable(); break; case ArticleOrderBy.Status: selectedArticles = selectedArticles.OrderByDescending(article => article.Status).AsQueryable(); break; case ArticleOrderBy.UserName: selectedArticles = selectedArticles.OrderByDescending(article => article.User.UserName).AsQueryable(); break; case ArticleOrderBy.Order: selectedArticles = selectedArticles.OrderByDescending(article => article.Category.Order).AsQueryable(); break; } } return(selectedArticles.Select(article => new ArticleDataTableModel { ArticleId = article.Id, ArticleStatus = article.Status, CommentStatus = article.CommentStatus, LikeCount = article.LikeCount, Title = article.Title, UserId = article.User.Id, UserName = article.User.UserName, VisitedCount = article.VisitedCount, CategoryId = article.Category.Id, CategoryName = article.Category.Name }).Skip(page * count).Take(count).ToList()); }
/// <summary> /// 根据QueryString生成查询对象 /// </summary> /// <param name="queryString"></param> /// <returns></returns> public static ArticleQuery GetQueryFromQueryString(NameValueCollection queryString) { ArticleQuery result = new ArticleQuery(); if (!string.IsNullOrEmpty(queryString["title"])) { result.Title = queryString["title"]; } if (!string.IsNullOrEmpty(queryString["cat"])) { string catStr = queryString["cat"]; if (catStr != "-1") { result.CategoryID = int.Parse(catStr); } } if (!string.IsNullOrEmpty(queryString["hst"])) { result.HitStartTimes = int.Parse(queryString["hst"]); } if (!string.IsNullOrEmpty(queryString["het"])) { result.HitEndTimes = int.Parse(queryString["het"]); } if (!string.IsNullOrEmpty(queryString["cst"])) { result.CreateStartTime = DateTime.Parse(queryString["cst"]); } if (!string.IsNullOrEmpty(queryString["cet"])) { result.CreateEndTime = DateTime.Parse(queryString["cet"]); } // OrderBy try { ArticleOrderBy sortBy = (ArticleOrderBy)Enum.Parse(typeof(ArticleOrderBy), GlobalSettings.IsNullOrEmpty(queryString["sb"]) ? "1" : int.Parse(queryString["sb"]).ToString(), true); result.ArticleOrderBy = sortBy; } catch { result.ArticleOrderBy = ArticleOrderBy.CreateTime; } // Sort Order try { SortOrder sortOrder = (SortOrder)Enum.Parse(typeof(SortOrder), GlobalSettings.IsNullOrEmpty(queryString["so"]) ? "1" : int.Parse(queryString["so"]).ToString(), true); result.SortOrder = sortOrder; } catch { result.SortOrder = SortOrder.Descending; } return(result); }
public IList<ArticleDataTableModel> GetDataTable(string term, int page, int count, Order order, ArticleOrderBy orderBy, ArticleSearchBy searchBy) { IQueryable<Article> selectedArticles = _articles.AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (searchBy) { case ArticleSearchBy.Title: selectedArticles = selectedArticles.Where(article => article.Title.Contains(term)).AsQueryable(); break; case ArticleSearchBy.UserName: selectedArticles = selectedArticles.Where(article => article.User.UserName.Contains(term)).AsQueryable(); break; } } if (order == Order.Asscending) { switch (orderBy) { case ArticleOrderBy.Title: selectedArticles = selectedArticles.OrderBy(article => article.Title).AsQueryable(); break; case ArticleOrderBy.Date: selectedArticles = selectedArticles.OrderBy(article => article.CreatedDate).AsQueryable(); break; case ArticleOrderBy.CommentCount: selectedArticles = selectedArticles.OrderBy(article => article.Comments.Count).AsQueryable(); break; case ArticleOrderBy.Status: selectedArticles = selectedArticles.OrderBy(article => article.Status).AsQueryable(); break; case ArticleOrderBy.UserName: selectedArticles = selectedArticles.OrderBy(article => article.User.UserName).AsQueryable(); break; case ArticleOrderBy.Order: selectedArticles = selectedArticles.OrderBy(article => article.Category.Order).AsQueryable(); break; } } else { switch (orderBy) { case ArticleOrderBy.Title: selectedArticles = selectedArticles.OrderByDescending(article => article.Title).AsQueryable(); break; case ArticleOrderBy.Date: selectedArticles = selectedArticles.OrderByDescending(article => article.CreatedDate).AsQueryable(); break; case ArticleOrderBy.CommentCount: selectedArticles = selectedArticles.OrderByDescending(article => article.Comments.Count).AsQueryable(); break; case ArticleOrderBy.Status: selectedArticles = selectedArticles.OrderByDescending(article => article.Status).AsQueryable(); break; case ArticleOrderBy.UserName: selectedArticles = selectedArticles.OrderByDescending(article => article.User.UserName).AsQueryable(); break; case ArticleOrderBy.Order: selectedArticles = selectedArticles.OrderByDescending(article => article.Category.Order).AsQueryable(); break; } } return selectedArticles.Select(article => new ArticleDataTableModel { ArticleId = article.Id, ArticleStatus = article.Status, CommentStatus = article.CommentStatus, LikeCount = article.LikeCount, Title = article.Title, UserId = article.User.Id, UserName = article.User.UserName, VisitedCount = article.VisitedCount, CategoryId = article.Category.Id, CategoryName = article.Category.Name }).Skip(page * count).Take(count).ToList(); }