public async Task <GenTourPackageVM> SearchGenTourPackageListAsync(GenSearchModel search) { GenTourPackageVM model = new GenTourPackageVM(); ConvertListToDT objList = new ConvertListToDT(); DataTable subdt = new DataTable(); try { //Converting subject list to datatable if record is present else send empty datatable if (search.TourType != null) { List <IDModel> villList = search.TourType.Select(x => new IDModel() { ID = Convert.ToInt64(x) }).ToList(); subdt = objList.ConvertIEnumerableToDataTable(villList); } else { if (subdt.Columns.Count == 0) { DataColumn col = new DataColumn(); col.ColumnName = "ID"; subdt.Columns.Add(col); } } var parSubDT = new SqlParameter("@TourTypeTable", subdt); parSubDT.SqlDbType = SqlDbType.Structured; parSubDT.TypeName = "dbo.IDType"; var parStart = new SqlParameter("@Start", (search.PageNo - 1) * search.PageSize); var parEnd = new SqlParameter("@PageSize", search.PageSize); var parWhere = new SqlParameter("@Where", DBNull.Value); if (!(search.Where == null || search.Where == "")) { parWhere.Value = search.Where; } // 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.PackageList = await db.Database.SqlQuery <GenTourPackageView>("udspGenTourPackageSearch @Start, @PageSize,@Where, @TourTypeTable, @TotalCount out", parStart, parEnd, parWhere, parSubDT, spOutput).ToListAsync(); model.TotalRecords = int.Parse(spOutput.Value.ToString()); return(model); } catch (Exception ex) { throw ex; } }
public ActionResult SearchPackage(List<long> TourType, string Where="", int PageNo=1, int PageSize=10) { GenSearchModel sModel = new GenSearchModel() { TourType = TourType, Where = Where, PageNo = PageNo, PageSize = PageSize }; ViewBag.Where = objAPI.GetAllRecords<string>("tourpackage", "wherenames").ToArray(); string jsonStr = JsonConvert.SerializeObject(sModel); GenTourPackageSearchModel model = objAPI.PostRecordtoApIForRecord<GenTourPackageSearchModel>("tourpackage", "GenTourPackageSearch", jsonStr); model.Search = sModel; model.TourTypes = objAPI.GetAllRecords<utblMstPackageType>("tourpackage", "tourtypes"); if (Request.IsAjaxRequest()) { return PartialView("_pvPackageList", model); } return View(model); }
public async Task <GenTourPackageVM> GenTourPackageSearch(GenSearchModel model) { return(await objDAL.SearchGenTourPackageListAsync(model)); }