/// <summary> /// Attempts to bind a model. /// </summary> /// <param name="bindingContext"></param> private void BindModel(ModelBindingContext bindingContext) { var valueProvider = bindingContext.ValueProvider; int draw, start, length; var valueResultProvider = valueProvider.GetValue("draw"); if (valueProvider == null) { bindingContext.Result = ModelBindingResult.Failed(); return; } TryParse <int>(valueResultProvider, out draw); TryParse <int>(valueProvider.GetValue("start"), out start); TryParse <int>(valueProvider.GetValue("length"), out length); DataTablesRequest result = new DataTablesRequest(draw, start, length, TryGetSearch(valueProvider), TryGetOrders(valueProvider), TryGetColumns(valueProvider)); bindingContext.Result = ModelBindingResult.Success(result); }
/// <summary> /// Gets a <see cref="DataTablesResponse{T}"/> from collection/request /// </summary> /// <typeparam name="T"></typeparam> /// <param name="collection"></param> /// <param name="request"></param> /// <param name="recordsTotal">Number of records before filtered</param> /// <param name="recordsFiltered">Number of records after filtered</param> /// <returns></returns> public static DataTablesResponse <T> ToDataTablesResponse <T>(this IEnumerable <T> collection, DataTablesRequest request, int recordsTotal, int recordsFiltered) { DataTablesResponse <T> response = new DataTablesResponse <T>(); response.Draw = request.Draw; response.RecordsTotal = recordsTotal; response.RecordsFiltered = recordsFiltered; response.Data = collection; return(response); }