public async Task <KendoGridResponse <TDto> > GetByPageAsync <TDto>( KendoGridRequest request, string defaultSortExpression, Expression <Func <TEntity, bool> > filter, IDictionary <string, object> projectionParameters) { var query = EntityRepository.Get(filter); var dtoQuery = query.ProjectTo <TDto>(projectionParameters); dtoQuery = ApplyFiltering(request, dtoQuery); dtoQuery = ApplySorting(request, dtoQuery, defaultSortExpression); return (await KendoGridResponse <TDto> . GenerateResponseAsync(dtoQuery, request.Page, request.PageSize)); }
public static KendoGridResponse Tokenize(this KendoGridResponse response, params string[] properties) { var results = new List <dynamic>(); foreach (var item in response.Data) { var newItem = item as IDictionary <String, object>; foreach (var prop in properties) { var value = newItem[prop]; var token = Security.Encrypt(value, Identity.Current.CustomerID); newItem = DynamicHelper.AddProperty(item, prop + "Token", token); } results.Add(newItem); } response.Data = results; return(response); }