public async Task <IActionResult> CreateProvider(NewCatalogueItemDto catalogueItem) { try { //TODO: verificare si pe CategoryId var catalogueDto = _catalogueService.GetCatalogueByIdAsync(catalogueItem.CatalogueId).Result; if (catalogueDto == null) { ModelState.AddModelError( "CatalogueId", "Unexisting catalog!"); return(BadRequest(ModelState)); } if (await _catalogueItemService.CatalogueItemExistsAsync(catalogueItem.Name, catalogueDto.Provider.Id)) { ModelState.AddModelError( "Name", "A CatalogueItem with the same name already exists into the database!"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var insertedCatalogueItem = await _catalogueItemService.CreateAsync(catalogueItem); if (insertedCatalogueItem == null) { return(Problem()); } // metoda va retuna doar Id-ul obiectul creat // return CreatedAtRoute("GetCatalogueItem", new { itemId = insertedCatalogueItem }); // return Id + obiectul creat return(CreatedAtRoute("GetCatalogueItem", new { itemId = insertedCatalogueItem.Id }, insertedCatalogueItem)); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Failed to succeed the operation!")); } }