private PageOrderKey <TEntity>[] GetOrderKeys(PaginateParamter paramter) { if (paramter.order == null || !paramter.order.Any()) { return new List <PageOrderKey <TEntity> > { new PageOrderKey <TEntity>(t => t.Id) } }
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)); }
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)); }
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 }); }
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)); }