Example #1
0
        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));
        }
Example #2
0
        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);
        }