public async Task <JsonResult> GetIndexDataOnLoad(IndexScreenParameterModel collection) { try { var draw = HttpContext.Request.Form["draw"].FirstOrDefault(); // Skiping number of Rows count var start = Request.Form["start"]; // Paging Length 10,20 var length = Request.Form["length"]; // Sort Column Name var sortColumn = Request.Form["columns[" + Request.Form["order[0][column]"].FirstOrDefault() + "][name]"]; // Sort Column Direction ( asc ,desc) var sortColumnDirection = Request.Form["order[0][dir]"]; // Search Value from (Search box) //Paging Size (10,20,50,100) int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; int recordsTotal = 0; CommonWebLibrary objCommoWebLib = new CommonWebLibrary(); List <IndexScreenSelectParameterModel> objSelectList = new List <IndexScreenSelectParameterModel>(); string[] strSelectParameterSplit = collection.IndexScreenSelectParameterModelCommaSeparate.Split(','); for (int i = 0; i < strSelectParameterSplit.Length - 1; i++) { IndexScreenSelectParameterModel objSelect = new IndexScreenSelectParameterModel(); objSelect.SelectParameter = strSelectParameterSplit[i].ToString(); objSelectList.Add(objSelect); if (strSelectParameterSplit[i].ToString().Contains(sortColumn)) { sortColumn = strSelectParameterSplit[i].ToString(); } } collection.IndexScreenSelectParameterModel = objSelectList; collection.PageNo = skip; collection.PageSize = pageSize; collection.SortColumn = sortColumn; collection.SortOrder = sortColumnDirection; var stringContent = new StringContent(JsonConvert.SerializeObject(collection).ToString(), Encoding.UTF8, "application/json"); var record = await service.GetEnquiryDetailsWithPagingSorting(stringContent); //total number of rows count if (record != null) { recordsTotal = record.Count; //Paging } // var data = customerData.Skip(skip).Take(pageSize).ToList(); //Returning Json Data return(Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = record })); } catch (Exception ex) { return(null); } }
public JsonResult <List <AspNetUserModel> > GetUserDetailsWithPagingSorting(IndexScreenParameterModel IndexScreenParameterModel) { try { string SelectColumn = string.Empty, SearchValue = string.Empty; string searchColumn = string.Empty; foreach (var item in IndexScreenParameterModel.IndexScreenSelectParameterModel) { SelectColumn += item.SelectParameter + ","; } if (IndexScreenParameterModel.IndexScreenSearchParameterModel != null) { if (IndexScreenParameterModel.IndexScreenSearchParameterModel.Count > 0) { SearchValue = "AND "; foreach (var itemSearch in IndexScreenParameterModel.IndexScreenSearchParameterModel) { if (!string.IsNullOrEmpty(searchColumn)) { searchColumn += " AND "; } if (itemSearch.SearchParameterDataType.ToLower() == "string") { searchColumn += itemSearch.SearchParameter + " LIKE '%" + itemSearch.SearchParameterValue + "%' "; } else { searchColumn += itemSearch.SearchParameter + "=" + itemSearch.SearchParameterValue; } } } } SearchValue = SearchValue + searchColumn; var objList = _iAspNetUser.GetUserDetailsWithPagingSorting(SelectColumn.Substring(0, SelectColumn.Length - 1), SearchValue, IndexScreenParameterModel.PageNo, IndexScreenParameterModel.PageSize, IndexScreenParameterModel.SortColumn, IndexScreenParameterModel.SortOrder); return(Json(objList)); } catch (Exception ex) { Common.MyLogger.Error(ex.Message + ex.StackTrace + ex.InnerException.ToString()); return(null); } }