public ActionResult Search(SearchCompanyParametersVM 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 Companies = companyRepository.SearchCompany(model, Convert.ToString(sortColumn), Convert.ToString(sortDirection)); int totalRecords = 0; var dbRecords = Companies.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 = Companies }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { Utility.Utility.LogError(e, "Search"); return(Json(new { IsSuccess = false, errorMessage = e.Message })); } }
public List <SearchCompanyResultVM> SearchCompany(SearchCompanyParametersVM model, string sortColumn, string sortDirection) { SqlParameter[] parameters = { new SqlParameter { ParameterName = "@CompanyName", Value = model.CompanyName }, new SqlParameter { ParameterName = "@AccountNumber", Value = model.AccountNumber }, new SqlParameter { ParameterName = "@ContactPerson", Value = model.ContactPerson }, new SqlParameter { ParameterName = "@Email", Value = model.Email }, 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("SearchCompany", parameters); var Companies = new List <SearchCompanyResultVM>(); Companies = DALHelper.CreateListFromTable <SearchCompanyResultVM>(dt); return(Companies); }