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")));
        }