Esempio n. 1
0
        public virtual ActionResult DataTable(string term           = "", int page = 0, int count = 10,
                                              Order order           = Order.Descending, PageOrderBy orderBy = PageOrderBy.ParentTitle,
                                              PageSearchBy searchBy = PageSearchBy.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 = "ParentTitle", Text = "مادر"
                }
            };

            ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy);


            IList <PageDataTableModel> model = _pageSerivce.GetDataTable(term, page, count, order, orderBy, searchBy);


            ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _pageSerivce.Count : model.Count;


            return(PartialView(MVC.Admin.Page.Views._DataTable, model));
        }
Esempio n. 2
0
        public virtual ActionResult DataTable(string term = "", int page = 0, int count = 10,
            Order order = Order.Descending, PageOrderBy orderBy = PageOrderBy.ParentTitle,
            PageSearchBy searchBy = PageSearchBy.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 = "ParentTitle", Text = "مادر"}
            };

            ViewBag.OrderByItems = new SelectList(selectListOrderBy, "Value", "Text", orderBy);


            IList<PageDataTableModel> model = _pageSerivce.GetDataTable(term, page, count, order, orderBy, searchBy);


            ViewBag.TotalRecords = (string.IsNullOrEmpty(term)) ? _pageSerivce.Count : model.Count;


            return PartialView(MVC.Admin.Page.Views._DataTable, model);
        }
Esempio n. 3
0
        public IList<PageDataTableModel> GetDataTable(string term, int page, int count,
            Order order, PageOrderBy orderBy, PageSearchBy searchBy)
        {
            IQueryable<Page> selectedPages =
                _pages.Include(Page => Page.Comments).Include(Page => Page.User).AsQueryable();

            // page in lambda expression changed to Page, because it confilicts with page Parameter
            if (!string.IsNullOrEmpty(term))
            {
                switch (searchBy)
                {
                    case PageSearchBy.Title:
                        selectedPages = selectedPages.Where(Page => Page.Title.Contains(term)).AsQueryable();
                        break;
                    case PageSearchBy.UserName:
                        selectedPages = selectedPages.Where(Page => Page.User.UserName.Contains(term)).AsQueryable();
                        break;
                    case PageSearchBy.ParentTitle:
                        selectedPages = selectedPages.Where(Page => Page.Parent.Title.Contains(term)).AsQueryable();
                        break;
                    default:
                        break;
                }
            }

            if (order == Order.Asscending)
            {
                switch (orderBy)
                {
                    case PageOrderBy.Title:
                        selectedPages = selectedPages.OrderBy(Page => Page.Title).AsQueryable();
                        break;
                    case PageOrderBy.Date:
                        selectedPages = selectedPages.OrderBy(Page => Page.CreatedDate).AsQueryable();
                        break;
                    case PageOrderBy.CommentCount:
                        selectedPages = selectedPages.OrderBy(Page => Page.Comments.Count).AsQueryable();
                        break;
                    case PageOrderBy.Status:
                        break;
                    case PageOrderBy.UserName:
                        selectedPages = selectedPages.OrderBy(Page => Page.User.UserName).AsQueryable();
                        break;
                    case PageOrderBy.ParentTitle:
                        selectedPages =
                            selectedPages.OrderBy(Page => Page.CreatedDate).OrderBy(Page => Page.Parent.Title)
                                .AsQueryable();
                        break;
                    default:
                        break;
                }
            }
            else
            {
                switch (orderBy)
                {
                    case PageOrderBy.Title:
                        selectedPages = selectedPages.OrderByDescending(Page => Page.Title).AsQueryable();
                        break;
                    case PageOrderBy.Date:
                        selectedPages = selectedPages.OrderByDescending(Page => Page.CreatedDate).AsQueryable();
                        break;
                    case PageOrderBy.CommentCount:
                        selectedPages = selectedPages.OrderByDescending(Page => Page.Comments.Count).AsQueryable();
                        break;
                    case PageOrderBy.Status:
                        break;
                    case PageOrderBy.UserName:
                        selectedPages = selectedPages.OrderByDescending(Page => Page.User.UserName).AsQueryable();
                        break;
                    case PageOrderBy.ParentTitle:
                        selectedPages =
                            selectedPages.OrderByDescending(Page => Page.CreatedDate).OrderBy(Page => Page.Parent.Title)
                                .AsQueryable();
                        break;
                    default:
                        break;
                }
            }

            return selectedPages.Select(Page => new PageDataTableModel
            {
                CommentCount = Page.Comments.Count,
                CommentStatus = Page.CommentStatus,
                CreatedDate = Page.CreatedDate,
                Id = Page.Id,
                ParentId = Page.Parent.Id,
                ParentTitle = Page.Parent.Title,
                Status = Page.Status,
                Title = Page.Title,
                UserId = Page.User.Id,
                UserName = Page.User.UserName
            }).Skip(page * count).Take(count).ToList();
        }
Esempio n. 4
0
        public IList <PageDataTableModel> GetDataTable(string term, int page, int count,
                                                       Order order, PageOrderBy orderBy, PageSearchBy searchBy)
        {
            IQueryable <Page> selectedPages =
                _pages.Include(Page => Page.Comments).Include(Page => Page.User).AsQueryable();

            // page in lambda expression changed to Page, because it confilicts with page Parameter
            if (!string.IsNullOrEmpty(term))
            {
                switch (searchBy)
                {
                case PageSearchBy.Title:
                    selectedPages = selectedPages.Where(Page => Page.Title.Contains(term)).AsQueryable();
                    break;

                case PageSearchBy.UserName:
                    selectedPages = selectedPages.Where(Page => Page.User.UserName.Contains(term)).AsQueryable();
                    break;

                case PageSearchBy.ParentTitle:
                    selectedPages = selectedPages.Where(Page => Page.Parent.Title.Contains(term)).AsQueryable();
                    break;

                default:
                    break;
                }
            }

            if (order == Order.Asscending)
            {
                switch (orderBy)
                {
                case PageOrderBy.Title:
                    selectedPages = selectedPages.OrderBy(Page => Page.Title).AsQueryable();
                    break;

                case PageOrderBy.Date:
                    selectedPages = selectedPages.OrderBy(Page => Page.CreatedDate).AsQueryable();
                    break;

                case PageOrderBy.CommentCount:
                    selectedPages = selectedPages.OrderBy(Page => Page.Comments.Count).AsQueryable();
                    break;

                case PageOrderBy.Status:
                    break;

                case PageOrderBy.UserName:
                    selectedPages = selectedPages.OrderBy(Page => Page.User.UserName).AsQueryable();
                    break;

                case PageOrderBy.ParentTitle:
                    selectedPages =
                        selectedPages.OrderBy(Page => Page.CreatedDate).OrderBy(Page => Page.Parent.Title)
                        .AsQueryable();
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (orderBy)
                {
                case PageOrderBy.Title:
                    selectedPages = selectedPages.OrderByDescending(Page => Page.Title).AsQueryable();
                    break;

                case PageOrderBy.Date:
                    selectedPages = selectedPages.OrderByDescending(Page => Page.CreatedDate).AsQueryable();
                    break;

                case PageOrderBy.CommentCount:
                    selectedPages = selectedPages.OrderByDescending(Page => Page.Comments.Count).AsQueryable();
                    break;

                case PageOrderBy.Status:
                    break;

                case PageOrderBy.UserName:
                    selectedPages = selectedPages.OrderByDescending(Page => Page.User.UserName).AsQueryable();
                    break;

                case PageOrderBy.ParentTitle:
                    selectedPages =
                        selectedPages.OrderByDescending(Page => Page.CreatedDate).OrderBy(Page => Page.Parent.Title)
                        .AsQueryable();
                    break;

                default:
                    break;
                }
            }

            return(selectedPages.Select(Page => new PageDataTableModel
            {
                CommentCount = Page.Comments.Count,
                CommentStatus = Page.CommentStatus,
                CreatedDate = Page.CreatedDate,
                Id = Page.Id,
                ParentId = Page.Parent.Id,
                ParentTitle = Page.Parent.Title,
                Status = Page.Status,
                Title = Page.Title,
                UserId = Page.User.Id,
                UserName = Page.User.UserName
            }).Skip(page * count).Take(count).ToList());
        }