public ActionResult Search(SearchPackageParametersVM model) { try { object sortColumn = ""; object sortDirection = ""; if (model.order.Count == 0) { sortColumn = "CreatedOn"; sortDirection = "desc"; } else { sortColumn = model.columns[Convert.ToInt32(model.order[0].column)].data ?? (object)DBNull.Value; sortDirection = model.order[0].dir ?? (object)DBNull.Value; } model.PageSize = Constants.PAGESIZE; var packages = packageRepository.SearchPackage(model, Convert.ToString(sortColumn), Convert.ToString(sortDirection)); int totalRecords = 0; var dbRecords = packages.Select(m => m.TotalCount).FirstOrDefault(); if (dbRecords != 0) { totalRecords = Convert.ToInt32(dbRecords); } return(Json(new { IsSuccess = true, CurrentPage = model.PageNum, PageSize = Constants.PAGESIZE, TotalRecords = totalRecords, data = packages }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { Utility.Utility.LogError(e, "Search"); return(Json(new { IsSuccess = false, errorMessage = e.Message })); } }
public List <SearchPackageResultVM> SearchPackage(SearchPackageParametersVM model, string sortColumn, string sortDirection) { SqlParameter[] parameters = { new SqlParameter { ParameterName = "@Name", Value = model.Name }, new SqlParameter { ParameterName = "@Description", Value = model.Description }, new SqlParameter { ParameterName = "@Price", Value = model.Price }, new SqlParameter { ParameterName = "@CalculationRatioId", Value = model.CalculationRatioId }, new SqlParameter { ParameterName = "@PageNum", Value = model.PageNum }, new SqlParameter { ParameterName = "@PageSize", Value = model.PageSize }, new SqlParameter { ParameterName = "@SortColumn", Value = sortColumn }, new SqlParameter { ParameterName = "@SortDirection", Value = sortDirection } }; var dt = DALHelper.GetDataTableWithExtendedTimeOut("SearchPackage", parameters); var packages = new List <SearchPackageResultVM>(); packages = DALHelper.CreateListFromTable <SearchPackageResultVM>(dt); return(packages); }