Exemplo n.º 1
0
        public decimal EggsConsumedFromIngredientMeasurement(string measurement)
        {
            var parse            = new ParseFraction();
            var measurementArray = SplitWeightMeasurement(measurement);

            return(parse.Parse(measurementArray[0]));
        }
Exemplo n.º 2
0
        public string[] SplitAndAdjustEggMeasurement(string eggMeasurement, decimal multiplier)
        {
            var parse = new ParseFraction();
            var adjustedEggMeasurement = new string[] { };
            int n;
            var eggsAdjusted = "";
            var eggQuantity  = "";
            var typeOfEggs   = "";

            for (int i = 0; i < eggMeasurement.Count(); i++)
            {
                if ((i > 0) && (i < eggMeasurement.Count() - 1))
                {
                    var previous = i - 1;
                    var next     = i + 1;
                    if ((eggMeasurement[i] == ' ') && (int.TryParse(eggMeasurement[previous].ToString(), out n)) && (!int.TryParse(eggMeasurement[next].ToString(), out n)))
                    {
                        eggQuantity  = eggMeasurement.Substring(0, i);
                        typeOfEggs   = eggMeasurement.Substring(next, (eggMeasurement.Count() - (i + 1)));
                        eggsAdjusted = (parse.Parse(eggQuantity) * multiplier).ToString();
                        var eggsAdjustedArr = new string[] { };
                        if ((eggsAdjusted.Contains(".00") || eggsAdjusted.Contains(".0")) || eggsAdjusted[eggsAdjusted.Count() - 1] == '.')
                        {
                            eggsAdjustedArr = eggsAdjusted.Split('.');
                            eggsAdjusted    = eggsAdjustedArr[0];
                        }
                        adjustedEggMeasurement = new string[] { eggsAdjusted, typeOfEggs };
                        break;
                    }
                }
            }
            return(adjustedEggMeasurement);
            //a question for the future: what to do with the liquid eggs, like the egg beaters... that will obviously have eggs in the name, but will need to be dealt with differently
            //the easiest solution I can see if the name has cups, tablespoons or teaspoons to return the valule of splitMultiLevelMeasurement(egg measurement)
        }
Exemplo n.º 3
0
        public decimal ConvertWeightToOunces(string weight)
        {
            if (string.IsNullOrEmpty(weight))
            {
                throw new Exception("Weight is null when trying to convert weight to ounces");
            }
            var measurements = new string[] { "gall", "cup", "pint", "quart", "pound", "lb", "oz", "ounce", "gram" };
            var count        = 0;

            foreach (var measurement in measurements)
            {
                if (weight.ToLower().Contains(measurement))
                {
                    count++;
                    break;
                }
            }
            if (count == 1)
            {
                var parse = new ParseFraction();
                weight = weight.ToLower();
                var splitWeight         = SplitWeightMeasurement(weight);
                var weightToBeConverted = parse.Parse(splitWeight[0]);
                if (weight.ToLower().Contains("gall"))
                {
                    return(GallonsToOunces(weightToBeConverted));
                }
                if (weight.ToLower().Contains("pint"))
                {
                    return(PintsToOunces(weightToBeConverted));
                }
                if (weight.ToLower().Contains("quart"))
                {
                    return(QuartsToOunces(weightToBeConverted));
                }
                if (weight.ToLower().Contains("pound") || weight.Contains("lb"))
                {
                    return(PoundsToOunces(weightToBeConverted));
                }
                if (weight.ToLower().Contains("cup"))
                {
                    return(CupsToOunces(weightToBeConverted));
                }
                if (weight.ToLower().Contains("gram"))
                {
                    return(GramsToOunces(weightToBeConverted));
                }
                else
                {
                    return(Math.Round((weightToBeConverted), 2));
                }
            }
            else
            {
                return(0m);
            }
        }
Exemplo n.º 4
0
        public decimal AdjustToTeaspoons(string measurement)
        {
            var parseFraction                = new ParseFraction();
            var splitMeasurement             = new string[] { };
            var decimalMeasurement           = 0m;
            var trimmedMeasurement           = "";
            var convertToTeaspoonMeasurement = 0m;

            if (measurement.ToLower().Contains("cup"))
            {
                splitMeasurement             = measurement.ToLower().Split('c');
                trimmedMeasurement           = splitMeasurement[0].TrimEnd();
                decimalMeasurement           = parseFraction.Parse(trimmedMeasurement);
                convertToTeaspoonMeasurement = CupsToTeaspoons(decimalMeasurement);
            }
            if ((measurement.ToLower().Contains("table")))
            {
                splitMeasurement             = measurement.ToLower().Split('t');
                trimmedMeasurement           = splitMeasurement[0].TrimEnd();
                decimalMeasurement           = parseFraction.Parse(trimmedMeasurement);
                convertToTeaspoonMeasurement = TablespoonsToTeaspoons(decimalMeasurement);
            }
            if ((measurement.ToLower().Contains("tea")))
            {
                splitMeasurement             = measurement.ToLower().Split('t');
                trimmedMeasurement           = splitMeasurement[0].TrimEnd();
                decimalMeasurement           = parseFraction.Parse(trimmedMeasurement);
                convertToTeaspoonMeasurement = decimalMeasurement;
            }
            if ((measurement.ToLower().Contains("pinch")))
            {
                splitMeasurement             = measurement.ToLower().Split('p');
                trimmedMeasurement           = splitMeasurement[0].TrimEnd();
                decimalMeasurement           = parseFraction.Parse(trimmedMeasurement);
                convertToTeaspoonMeasurement = PinchesToTeaspoons(decimalMeasurement);
            }
            return(Math.Round(convertToTeaspoonMeasurement, 2));
        }