public async Task <IActionResult> PutCatalog([FromRoute] int id, [FromBody] CatalogDTO catalogDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != catalogDTO.CatalogId) { return(BadRequest()); } var catalog = await catalogRepository.Edit(id, catalogDTO); if (catalog == null) { return(BadRequest()); } CatalogDTO dto = new CatalogDTO(); dto.CatalogId = catalog.CatalogId; dto.Date = catalog.Date; dto.CatalogDescription = catalog.CatalogDescription; dto.CatalogName = catalog.CatalogName; dto.products = new List <ProductDTO>(); foreach (CatalogProduct cp in catalog.CatalogProducts) { ProductDTO pdto = productToDTO(cp.Product); dto.products.Add(pdto); } return(Ok(dto)); }