// GET: HitList public PartialViewResult Index(string SortOrder, string SortDirection, int?page, string pageSize, string search, string Class) { if (!string.IsNullOrEmpty(search)) { ViewBag.Filtered = "Y"; } else { ViewBag.Filtered = "N"; } //List<Project> projects; var ravenDb = HttpContext.GetOwinContext().Get <IDocumentSession>(); RavenQueryStatistics statsRef = new RavenQueryStatistics(); if (page == null) { page = 1; } if (Request.Cookies["pageSize"] == null) { pageSize = GenericHelpers.IsNull(pageSize, "10"); HttpCookie pageSizeCookie = new HttpCookie("pageSize"); pageSizeCookie.Value = pageSize; Response.Cookies.Add(pageSizeCookie); } else { pageSize = GenericHelpers.IsNull(pageSize, Request.Cookies["pageSize"].Value); Response.Cookies["pageSize"].Value = pageSize; } foreach (var pSize in GenericHelpers.PageSizeList) { pSize.Selected = false; if (pSize.Text == pageSize.ToString()) { pSize.Selected = true; } } int pageNumber = (page ?? 1); int skippedResult = Convert.ToInt32(pageSize) * (pageNumber - 1); object results; switch (Class) { case "Project": results = GetHitList.GetPage <Project, Project>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; case "Contact": results = GetHitList.GetPage <Contact, Contact>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; case "User": results = GetHitList.GetPage <ApplicationUser, ApplicationUser>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; case "Distributor": results = GetHitList.GetPage <Distributor, Distributor>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; case "Detail": results = GetHitList.GetPage <ProjectDetail, ProjectDetail>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; case "Warning": results = GetHitList.GetPage <Warning, Warning>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; default: results = GetHitList.GetPage <Project, Project>(ravenDb, skippedResult, Convert.ToInt32(pageSize), "Id", SortOrder, SortDirection, search, out statsRef); break; } ViewBag.TotalPage = Math.Round((double)(statsRef.TotalResults / Convert.ToInt32(pageSize))) + 1; ViewBag.ActualPage = pageNumber; ViewBag.TotalResult = statsRef.TotalResults; ViewBag.SortOrder = SortOrder; ViewBag.SortDirection = SortDirection; ViewBag.PageSizeList = GenericHelpers.PageSizeList; ViewBag.Search = search; ViewData["controller"] = Class; return(PartialView("Index", results)); }