public async Task <IActionResult> PutRecipe(Guid id, RecipeDTO recipeDTO) { //1. checks : null , ids, exists, valid if (recipeDTO == null || id == null) { return(BadRequest()); } if (id != recipeDTO.Id) { return(BadRequest()); } Recipe recipe = mapper.Map <Recipe>(recipeDTO); recipe.Id = recipeDTO.Id; //Indien Id Werd ignored in de mapper bool exists = await recipeRepo.Exists(recipe, recipe.Id); //asnotracking! if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //2. try update try { var result = await recipeRepo.Update(recipe); //new in repo (niet meer generic) if (result == null) { return(BadRequest("Onbestaande categorie")); } //await recipeRepo.SaveAsync(); } catch (DbUpdateConcurrencyException) { if (!recipeRepo.Exists(recipe, recipe.Id).Result) { return(NotFound()); } else { throw; } } return(NoContent()); }