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