public IEnumerable <TermViewModel> GetDataTable(out int total, string term, int page, Order order, TermSearchBy slectionSearchBy, int count = 10) { var selectedobj = _Term.AsNoTracking().AsQueryable(); if (!string.IsNullOrEmpty(term)) { switch (slectionSearchBy) { case TermSearchBy.Name: selectedobj = selectedobj.Where(a => a.Name.Contains(term)).AsQueryable(); break; case TermSearchBy.StartDate: selectedobj = selectedobj.Where(a => a.StartDate.ToShortDateString().Contains(term)).AsQueryable(); break; case TermSearchBy.EndDate: selectedobj = selectedobj.Where(a => a.EndDate.ToShortDateString().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 TermViewModel { Id = a.Id, Name = a.Name, EndDate = a.EndDate, StartDate = a.StartDate, PeresentedCourcess = a.PeresentedCourcess }).Future(); total = totalQuery.Value; var categories = query.ToList(); return(categories); }
public virtual ActionResult List(string term = "", int page = 1, int count = 10, Order order = Order.Descending, TermSearchBy objSearchBy = TermSearchBy.Name) { //#region Retrive Data int total; var articles = _TermService.GetDataTable(out total, term, page, order, objSearchBy, count); var model = new TermListVM { Order = order, PageCount = count, PageNumber = page, TermsList = articles, Term = term, TotalTerms = total }; ViewBag.CountList = DropDown.GetCountList(count); ViewBag.OrderList = DropDown.GetOrderList(order); return(PartialView("_ListPartial", model)); }