Exemple #1
0
        public static SRMDto CalculateSRMDto(RecipeDto recipe)
        {
            var srm = new SRMDto {
                SrmId = recipe.Id
            };

            foreach (var mashStep in recipe.MashSteps)
            {
                var volume = recipe.Volume;
                if (mashStep.Volume > 0)
                {
                    volume = mashStep.Volume;
                }
                foreach (var fermentable in mashStep.Fermentables.Where(f => f != null))
                {
                    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);
        }
        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);
        }