public IngredientMixingResult Mix(int moodId, int ingredientId1, int ingredientId2)
        {
            var           result = new IngredientMixingResult();
            var           mixes  = _potionRepo.GetAllMixes();
            IngredientMix aMix;

            if (IsAnIngredientFatal(ingredientId1, mixes) ||
                IsAnIngredientFatal(ingredientId2, mixes))
            {
                result.IsMixFatal      = true;
                result.IsMixDocumented = true;
                return(result);
            }

            if (!TryGetMix(ingredientId1, ingredientId2, moodId, mixes, out aMix))
            {
                if (!TryGetMix(ingredientId2, ingredientId1, moodId, mixes, out aMix))
                {
                    result.IsMixFatal = true;
                    return(result);
                }
            }
            result.IsMixDocumented = true;
            result.Effect          = aMix.Effect;

            return(result);
        }
 public IEnumerable <IngredientMix> GetAllMixes()
 {
     return(_potionRepo.GetAllMixes());
 }