Ejemplo n.º 1
0
        public IEnumerable <GroupsViewModel> GetDataTable(out int total, string term, int page,
                                                          Order order, GroupsSearchBy slectionSearchBy, int count = 10)
        {
            var selectedobj = _Groups
                              .Include(x => x.Professors)
                              .AsNoTracking().AsQueryable();

            if (!string.IsNullOrEmpty(term))
            {
                switch (slectionSearchBy)
                {
                case GroupsSearchBy.Manager:
                    selectedobj = selectedobj.Where(a => a.Manager.Contains(term)).AsQueryable(); break;

                case GroupsSearchBy.Name:
                    selectedobj = selectedobj.Where(a => a.Name.Contains(term)).AsQueryable(); break;
                }
            }
            if (order == Order.Asscending)
            {
                selectedobj = selectedobj.OrderBy(x => x.Id).AsQueryable();
            }
            else
            {
                selectedobj = selectedobj.OrderByDescending(x => x.Id).AsQueryable();
            }

            var totalQuery = selectedobj.FutureCount();
            var query      = selectedobj.Skip((page - 1) * count).Take(count)
                             .Select(a => new GroupsViewModel
            {
                Id         = a.Id,
                Manager    = a.Manager,
                Name       = a.Name,
                Professors = a.Professors
            }).Future();

            total = totalQuery.Value;
            var categories = query.ToList();

            return(categories);
        }
Ejemplo n.º 2
0
        public virtual ActionResult List(string term = "", int page = 1, int count = 10,
                                         Order order = Order.Descending, GroupsSearchBy objSearchBy = GroupsSearchBy.Name)
        {
            //#region Retrive Data
            int total;
            var articles = _GroupsService.GetDataTable(out total, term, page, order, objSearchBy, count);
            var model    = new GroupsListVM
            {
                Order       = order,
                PageCount   = count,
                PageNumber  = page,
                GroupsList  = articles,
                Term        = term,
                TotalGroups = total
            };

            ViewBag.CountList = DropDown.GetCountList(count);
            ViewBag.OrderList = DropDown.GetOrderList(order);
            return(PartialView("_ListPartial", model));
        }