public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { var obj = new DataTablesParam(); var request = controllerContext.HttpContext.Request.Params; obj.isSorting = Convert.ToBoolean(request["isSorting"]); obj.iDisplayStart = Convert.ToInt32(request["iDisplayStart"]); obj.iDisplayLength = Convert.ToInt32(request["iDisplayLength"]); obj.iColumns = Convert.ToInt32(request["iColumns"]); obj.sSearch = (request["sSearch"] + "").Trim(); obj.bEscapeRegex = Convert.ToBoolean(request["bEscapeRegex"]); obj.iSortingCols = Convert.ToInt32(request["iSortingCols"]); obj.sEcho = Convert.ToInt32(request["sEcho"]); if (!string.IsNullOrEmpty(request["filters"])) { obj.filters = Json.Decode<List<KeyValue>>(request["filters"]); } if (!string.IsNullOrEmpty(request["denyFilters"])) { obj.denyFilters = Json.Decode<List<KeyValue>>(request["denyFilters"]); } for (var i = 0; i < obj.iColumns; i++) { obj.bSortable.Add(Convert.ToBoolean(request["bSortable_" + i])); obj.bSearchable.Add(Convert.ToBoolean(request["bSearchable_" + i])); obj.sSearchColumns.Add(request["sSearch_" + i]); obj.bEscapeRegexColumns.Add(Convert.ToBoolean(request["bEscapeRegex_" + i])); obj.iSortCol.Add(Convert.ToInt32(request["iSortCol_" + i])); obj.sSortDir.Add(request["sSortDir_" + i]); obj.mDataProp.Add(request["mDataProp_" + i]); } return obj; }
public ActionResult GetCategories(DataTablesParam dataTableParam) { var entities = _categoryRepository.GetAll(); var dataTableResults = DataTablesResult.Create(entities, dataTableParam); var dataTableData = dataTableResults.Data as DataTablesData; if (dataTableData == null) return dataTableResults; var entitesResults = dataTableData.aaData as List<P_Category>; dataTableData.aaData = entitesResults.MapTo<P_Category, CategoryVM>(x => x.Parent, y => y.MapFrom(x => x.Parent != null ? x.Parent.Title : "")); return dataTableResults; }