public static RecipeProfile CalculateRecipeProfile(Recipe recipe)
        {
            var profile = new RecipeProfile();

            var sugars = CalculateExtractedSugarPoints(recipe.Fermentables, 5, .75);

            profile.OriginalGravity = 1d + (sugars/1000);

            var recipeAttenuation = 0m;

            if(recipe.Yeasts != null && recipe.Yeasts.Count > 0)
            {
                recipeAttenuation = recipe.Yeasts.Max(y => y.Base.Attenuation) / 100;
            }

            profile.FinalGravity = 1d + (sugars * (1 - (double)recipeAttenuation)) / 1000;

            profile.AlcoholByVolume = CalculateAlcoholByVolume(profile.OriginalGravity, profile.FinalGravity);

            profile.InternationalBitteringUnits = CalculateBitteringUnits(recipe.Hops, 5, profile.OriginalGravity);
            profile.ColorSRM = CalculateSRM(recipe.Fermentables, 5);
            profile.ColorRGB = ColorLookup.GetFromSRM(profile.ColorSRM);

            return profile;
        }
        public HttpResponseMessage CreateRecipe(RecipeViewModel vm)
        {
            var recipe = new Recipe
            {
                Name = vm.Name,
                Style_Id = vm.Style_Id
            };

            db.Recipes.Add(recipe);
            db.SaveChanges();

            return Request.CreateResponse(HttpStatusCode.OK, Mapper.Map<RecipeViewModel>(recipe));
        }