public async Task <IActionResult> Create(SaleDto saleDto) { if (ModelState.IsValid) { try { var sale = await saleService.ConvertFromDtoAsync(saleDto); var created = await saleService.CreateAsync(sale); foreach (var saleProduct in sale.SaleProduct) { await productService.DecreaseStock(saleProduct.ProductId, saleProduct.Quantity); } var Dto = saleService.ConvertToDto(created); return(CreatedAtAction(nameof(GetSaleById), new { id = Dto.SaleId }, Dto)); } catch (Exception) { return(BadRequest()); } } return(BadRequest()); }