Esempio n. 1
0
 private PageOrderKey <TEntity>[] GetOrderKeys(PaginateParamter paramter)
 {
     if (paramter.order == null || !paramter.order.Any())
     {
         return new List <PageOrderKey <TEntity> > {
                    new PageOrderKey <TEntity>(t => t.Id)
         }
     }
Esempio n. 2
0
        private Expression <Func <TEntity, bool> > GetPredicate(PaginateParamter paramter)
        {
            if (paramter.search == null || string.IsNullOrWhiteSpace(paramter.search.value))
            {
                return(t => true);
            }
            var text = paramter.search.value;

            return(GeneratePredicate(text));
        }
        public async Task <IActionResult> Get(PaginateParamter paramter)
        {
            if (paramter == null || paramter.length.Equals(0))
            {
                return(InvaildArgument());
            }

            var result = await GetService().GetBy(paramter);

            if (result == null)
            {
                return(NotFoundEntity());
            }
            return(Ok(result));
        }
Esempio n. 4
0
        public async Task <IActionResult> PostGet([FromBody] PaginateParamter paramter)
        {
            if (paramter == null || paramter.length.Equals(0))
            {
                return(InvaildArgument());
            }
            var ser = Create <IGuestsService>();

            var result = await ser.GetPage(paramter);

            if (result == null)
            {
                return(NotFoundEntity());
            }
            return(Ok(result));
        }
Esempio n. 5
0
        public async Task <PaginatedResult <TEntity> > GetBy(PaginateParamter paramter)
        {
            var allCount = await Set().CountAsync();

            var query = Set()
                        // .PageOrderBy(GetOrderKeys(paramter))
                        .Where(GetPredicate(paramter));

            var filterCount = await query.CountAsync();

            var data = await Include(query
                                     .Skip(paramter.start)
                                     .Take(paramter.length)
                                     ).ToListAsync();

            return(new PaginatedResult <TEntity>
            {
                draw = paramter.draw,
                recordsFiltered = filterCount,
                recordsTotal = allCount,
                data = data
            });
        }
Esempio n. 6
0
 public async Task <PaginatedResult <Guest> > GetPage(PaginateParamter paramter)
 {
     return(await GetRepository().GetBy(paramter));
 }
 public async Task <IActionResult> PostGet([FromBody] PaginateParamter paramter)
 {
     return(await Get(paramter));
 }