public async Task <TourPackageImageVM> GetPackageImagesAsync(long packageid, int pageno, int pagesize) { TourPackageImageVM model = new TourPackageImageVM(); var parPackID = new SqlParameter("@PackageID", packageid); var parStart = new SqlParameter("@Start", (pageno - 1) * pagesize); var parEnd = new SqlParameter("@PageSize", pagesize); // 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.PackageImages = await db.Database.SqlQuery <utblTourPackageImage>("udspTourPackageImagePaged @PackageID, @Start, @PageSize, @TotalCount out", parPackID, parStart, parEnd, spOutput).ToListAsync(); model.TotalRecords = int.Parse(spOutput.Value.ToString()); return(model); }
public ActionResult Images(long id, int PageNo = 1, int PageSize = 10) { try { string query = "PackageID=" + id + "&PageNo=" + PageNo + "&PageSize=" + PageSize; TourPackageImageAPIVM apiModel = objAPI.GetRecordByQueryString <TourPackageImageAPIVM>("packageconfig", "packageimages", query); TourPackageImageVM model = new TourPackageImageVM(); model.PackageImages = apiModel.PackageImages; model.PagingInfo = new PagingInfo { CurrentPage = PageNo, ItemsPerPage = PageSize, TotalItems = apiModel.TotalRecords }; model.Package = objAPI.GetObjectByKey <PackageBriefInfo>("packageconfig", "PackageBrief", id.ToString(), "id"); if (Request.IsAjaxRequest()) { return(PartialView("_pvImageList", model)); } return(View(model)); } catch (AuthorizationException) { TempData["ErrMsg"] = "Your Login Session has expired. Please Login Again"; return(RedirectToAction("Login", "Account", new { Area = "" })); } }