public async Task <IActionResult> CreateIngredient(IngredientHeaderForDetailDto IngredientHeaderForDetailDto) { if (IngredientHeaderForDetailDto == null) { return(BadRequest(new ErrorModel(1, 400, "Empty Body"))); } var item = await _context.IngredientHeaders.FirstOrDefaultAsync(a => a.ItemId == IngredientHeaderForDetailDto.ItemId); if (item != null) { return(BadRequest(new ErrorModel(4, 400, "Recipe For Item Already exist"))); } var IngredientHeaderToCreate = _mapper.Map <IngredientHeader>(IngredientHeaderForDetailDto); await _repository.CreateIngredient(IngredientHeaderToCreate); if (await _repository.SaveAll()) { var IngredientHeaderToReturn = _mapper.Map <IngredientHeaderForDetailDto>(IngredientHeaderToCreate); return(CreatedAtRoute(nameof(GetIngredient), new { IngredientHeaderToCreate.Id }, IngredientHeaderToReturn)); } return(BadRequest(new ErrorModel(2, 400, "Could not create Ingredient"))); }