public async Task <PagedList <Inventory> > GetAllInventories(GetAllInventoriesQuery query, //public async Task<IEnumerable<InventoryApiModel>> GetAllInventories(GetAllInventoriesQuery query, CancellationToken token) { IQueryable <Inventory> queryable = _set.AsNoTracking() .Include(i => i.InventoryItems); if (query.SearchString is null && query.OrderBy == "Date") { if (query.Ascending == true) { queryable = queryable.OrderBy(x => x.Name); } var result = await PagedList <Inventory> .CreatePagedListAsync(queryable, query.PageNumber, query.PageSize, token) .ConfigureAwait(false); return(result); } if (query.Ascending == true) { queryable = queryable.OrderBy(x => x.Name).ThenBy(x => x.SupplyDate); } var result1 = await PagedList <Inventory> .CreatePagedListAsync(_set, query.PageNumber, query.PageSize, token).ConfigureAwait(false); return(result1); }
public async Task <PagedList <InventoryApiModel> > GetAllInventories(GetAllInventoriesQuery query, //public async Task<IEnumerable<InventoryApiModel>> GetAllInventories(GetAllInventoriesQuery query, CancellationToken token) { IQueryable <Inventory> queryable = _set.AsNoTracking() .Include(i => i.InventoryItems); if (query.SearchString is null && query.OrderBy == "Date") { if (query.Ascending == true) { queryable = queryable.OrderBy(x => x.Name); } var result = await PagedList <InventoryApiModel> .CreatePagedListAsync(queryable.Select(i => new InventoryApiModel { Name = i.Name, Id = i.Id, NumberOfProductsInStock = i.Quantity }), query.PageNumber, query.PageSize, token) .ConfigureAwait(false); return(result); } if (query.Ascending == true) { queryable = queryable.OrderBy(x => x.Name).ThenBy(x => x.SupplyDate); } // var projectedQueryable = queryable.Select(i => new InventoryApiModel // { // Name = i.Name, // Id = i.Id, // NumberOfProductsInStock = i.Quantity // }); var result1 = await PagedList <InventoryApiModel> .CreatePagedListAsync(queryable.Select(i => new InventoryApiModel { Name = i.Name, Id = i.Id, NumberOfProductsInStock = i.Quantity }), query.PageNumber, query.PageSize, token).ConfigureAwait(false); //var result = await queryable.PaginatedListAsync<InventoryApiModel>(query.PageNumber,query.PageSize,token) // .ConfigureAwait(false); return(result1); }
public async Task <ActionResult <PaginatedResponse <InventoryApiModel> > > Get([FromQuery] GetAllInventoriesQuery query) { var result = await _mediator.Send(query).ConfigureAwait(false); // if(!result.CurrentResponseStatus.Equals(ResponseStatus.Success)) // return BadRequest(result); return(Ok(result)); }