Add customer communication system
This commit is contained in:
@@ -7,7 +7,6 @@ namespace LittleShop.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
[Authorize(AuthenticationSchemes = "Bearer")]
|
||||
public class CatalogController : ControllerBase
|
||||
{
|
||||
private readonly ICategoryService _categoryService;
|
||||
@@ -39,13 +38,29 @@ public class CatalogController : ControllerBase
|
||||
}
|
||||
|
||||
[HttpGet("products")]
|
||||
public async Task<ActionResult<IEnumerable<ProductDto>>> GetProducts([FromQuery] Guid? categoryId = null)
|
||||
public async Task<ActionResult<PagedResult<ProductDto>>> GetProducts(
|
||||
[FromQuery] int pageNumber = 1,
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] Guid? categoryId = null)
|
||||
{
|
||||
var products = categoryId.HasValue
|
||||
var allProducts = categoryId.HasValue
|
||||
? await _productService.GetProductsByCategoryAsync(categoryId.Value)
|
||||
: await _productService.GetAllProductsAsync();
|
||||
|
||||
return Ok(products);
|
||||
var productList = allProducts.ToList();
|
||||
var totalCount = productList.Count;
|
||||
var skip = (pageNumber - 1) * pageSize;
|
||||
var pagedProducts = productList.Skip(skip).Take(pageSize).ToList();
|
||||
|
||||
var result = new PagedResult<ProductDto>
|
||||
{
|
||||
Items = pagedProducts,
|
||||
TotalCount = totalCount,
|
||||
PageNumber = pageNumber,
|
||||
PageSize = pageSize
|
||||
};
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet("products/{id}")]
|
||||
|
||||
Reference in New Issue
Block a user