public SRMDto CalculateSRMDto(RecipeDto recipe) { var srm = new SRMDto(); foreach (var item in recipe.Steps.OfType <MashStepDto>()) { var mashStepDto = item; var volume = recipe.Volume; if (mashStepDto.Volume > 0) { volume = mashStepDto.Volume; } foreach (var fermentable in mashStepDto.Ingredients.OfType <FermentableStepDto>()) { var temp = fermentable; srm.Standard += Math.Round(Formulas.MaltColourUnits(temp.Amount, temp.Lovibond, volume), 0); srm.Morey += Math.Round(Formulas.Morey(temp.Amount, temp.Lovibond, volume), 0); srm.Mosher += Math.Round(Formulas.Morey(temp.Amount, temp.Lovibond, volume), 0); srm.Daniels += Math.Round(Formulas.Daniels(temp.Amount, temp.Lovibond, volume), 0); } } return(srm); }
public SRM CalculateSRM(Recipe recipe) { var srm = new SRM { SrmId = recipe.RecipeId }; foreach (var mashStep in recipe.MashSteps) { var volume = recipe.Volume; if (mashStep.Volume > 0) { volume = mashStep.Volume; } foreach (var fermentable in mashStep.Fermentables) { srm.Standard += Math.Round(Formulas.MaltColourUnits(fermentable.Amount, fermentable.Lovibond, volume), 0); srm.Morey += Math.Round(Formulas.Morey(fermentable.Amount, fermentable.Lovibond, volume), 0); srm.Mosher += Math.Round(Formulas.Morey(fermentable.Amount, fermentable.Lovibond, volume), 0); srm.Daniels += Math.Round(Formulas.Daniels(fermentable.Amount, fermentable.Lovibond, volume), 0); } } return(srm); }