Exemplo n.º 1
0
        public async Task <DatatablesPagedResults <TEntity> > DatatablesAsync(DatatablesParameter parameter, ISpecificationQuery <TEntity> spec)
        {
            var source = GetAll();

            TEntity[] items;
            source = DatatablesHelper.SearchData(source, parameter);
            source = DatatablesHelper.SortData(source, parameter);
            var size = await source.CountAsync();

            if (parameter.Length > 0)
            {
                items = await source
                        .Skip((parameter.Start / parameter.Length) *parameter.Length)
                        .Take(parameter.Length)
                        .ToArrayAsync();
            }
            else
            {
                items = await source
                        .ToArrayAsync();
            }

            return(new DatatablesPagedResults <TEntity>
            {
                Items = items,
                TotalSize = size
            });
        }