using Microsoft.AspNetCore.Mvc; using LittleShop.DTOs; using LittleShop.Services; namespace LittleShop.Controllers; [ApiController] [Route("api/[controller]")] public class DevController : ControllerBase { private readonly IProductService _productService; public DevController(IProductService productService) { _productService = productService; } [HttpPost("multibuys")] public async Task> CreateMultiBuyForDev(CreateProductMultiBuyDto createMultiBuyDto) { try { var multiBuy = await _productService.CreateProductMultiBuyAsync(createMultiBuyDto); return CreatedAtAction("GetProductMultiBuy", "ProductMultiBuys", new { id = multiBuy.Id }, multiBuy); } catch (ArgumentException ex) { return BadRequest(ex.Message); } } [HttpGet("products")] public async Task GetProductsWithIds() { var products = await _productService.GetAllProductsAsync(); var result = products.Select(p => new { id = p.Id, name = p.Name, price = p.Price, multiBuyCount = p.MultiBuys.Count, variantCount = p.Variants.Count }); return Ok(result); } }