public async Task <TourPackageBookEnquiryVM> GetTourPackageEnquiriesPagedAsync(int pageno, int pagesize, string searchterm) { TourPackageBookEnquiryVM model = new TourPackageBookEnquiryVM(); var parStart = new SqlParameter("@Start", (pageno - 1) * pagesize); var parEnd = new SqlParameter("@PageSize", pagesize); var parSearchTerm = new SqlParameter("@SearchTerm", DBNull.Value); if (!(searchterm == null || searchterm == "")) { parSearchTerm.Value = searchterm; } // setting stored procedure OUTPUT value // This return total number of rows, and avoid two database call for data and total number of rows var spOutput = new SqlParameter { ParameterName = "@TotalCount", SqlDbType = System.Data.SqlDbType.BigInt, Direction = System.Data.ParameterDirection.Output }; model.Enquiries = await db.Database.SqlQuery <TourPackageBookEnquiry>("udspTourPackageEnquiriesPaged @Start, @PageSize,@SearchTerm, @TotalCount out", parStart, parEnd, parSearchTerm, spOutput).ToListAsync(); model.TotalRecords = int.Parse(spOutput.Value.ToString()); return(model); }
public ActionResult Enquiries(int PageNo = 1, int PageSize = 10, string SearchTerm = "") { try { string query = "PageNo=" + PageNo + "&PageSize=" + PageSize + "&SearchTerm=" + SearchTerm; TourPackageBookEnquiryAPIVM apiModel = objAPI.GetRecordByQueryString <TourPackageBookEnquiryAPIVM>("client", "enquiries", query); TourPackageBookEnquiryVM model = new TourPackageBookEnquiryVM(); model.Enquiries = apiModel.Enquiries; model.PagingInfo = new PagingInfo { CurrentPage = PageNo, ItemsPerPage = PageSize, TotalItems = apiModel.TotalRecords }; if (Request.IsAjaxRequest()) { return(PartialView("_pvEnquiryList", model)); } return(View(model)); } catch (AuthorizationException) { TempData["ErrMsg"] = "Your Login Session has expired. Please Login Again"; return(RedirectToAction("Login", "Account", new { Area = "" })); } }