public void insertIngredientConsumtionData(Ingredient i) { var db = new DatabaseAccess(); var dbI = new DatabaseAccessIngredient(); var dbConsumptionOuncesConsumed = new DatabaseAccessConsumptionOuncesConsumed(); var convertWeight = new ConvertWeight(); var convert = new ConvertDensity(); var myIngredientIngredientTable = dbI.queryIngredientFromIngredientsTableByName(i); var myConsumptionTable = queryConsumptionTable(); //i need to make sure i have all my information from my sql tables... that's why im getting null reference exceptions... var temp = new Ingredient(); bool alreadyContainsIngredient = new bool(); if (myIngredientIngredientTable.classification.ToLower().Contains("egg")) { temp.name = "Egg"; //i would prefer this to be eggs, but i am matching the ingredient_classification if the ingredient.name doesn't match for querying the ingredients table and the consumption table, and the classifications are singular... //i'm going to have to put a warning or something in the READ ME asking the user not to change the name of the consumption table ignredients... i'm not a big fan of that. I want there to be flexibility for what the user needs i.ouncesConsumed = convertWeight.EggsConsumedFromIngredientMeasurement(myIngredientIngredientTable.measurement); } else { i.ouncesConsumed = dbConsumptionOuncesConsumed.CalculateOuncesConsumedFromMeasurement(i); } foreach (var ingredient in myConsumptionTable) { if (ingredient.name.ToLower() == i.name.ToLower() && (ingredient.name.ToLower().Contains(i.classification.ToLower()) && i.classification != " ") || ingredient.name == temp.name) { //if the name is the same && the classification is the same || the ingredient.name is the temp.name, noting the eggs already being present alreadyContainsIngredient = true; break; } } if (string.IsNullOrEmpty(temp.name)) { temp.name = i.name; } if (alreadyContainsIngredient == false) { var commandText = @"Insert into consumption (name, density, ounces_consumed, ounces_remaining, measurement) values (@name, @density, @ounces_consumed, @ounces_remaining, @measurement);"; db.executeVoidQuery(commandText, cmd => { cmd.Parameters.AddWithValue("@name", temp.name); cmd.Parameters.AddWithValue("@density", i.density); cmd.Parameters.AddWithValue("@ounces_consumed", i.ouncesConsumed); cmd.Parameters.AddWithValue("@ounces_remaining", i.ouncesRemaining); cmd.Parameters.AddWithValue("@measurement", i.measurement); return(cmd); }); updateConsumptionTable(i); } else { updateConsumptionTable(i); } var myUpdatedIngredient = queryConsumptionTable(); var myConsumptionOuncesConsumedTable = dbConsumptionOuncesConsumed.queryConsumptionOuncesConsumed(); }
public void TestPercentageIngredientMeasurementToStandardMeasurement4() { var convert = new ConvertDensity(); var i = new Ingredient("Vanilla Extract") { measurement = "1 1/2 tablespoons" }; var expected = .0938m; var actual = convert.PercentageUsedMeasurementToStandardMeasurement(i); Assert.AreEqual(expected, actual); }
public void TestPercentageIngredientMeasurementToStandardMeasurement3() { var convert = new ConvertDensity(); var i = new Ingredient("Bread Flour") { measurement = "6 1/3 cup" }; var expected = 6.3333m; var actual = convert.PercentageUsedMeasurementToStandardMeasurement(i); Assert.AreEqual(expected, actual); }
public void TestOuncesConsumedBasedOnMeasurement3() { var convert = new ConvertDensity(); var i = new Ingredient("Grandulated Sugar") { measurement = "1 teaspoon", density = 7.1m }; var expected = .15m; var actual = convert.CalculateOuncesUsed(i); Assert.AreEqual(expected, actual); }
public void TestOuncesConsumedBasedOnMeasurement2() { var convert = new ConvertDensity(); var i = new Ingredient("Bread Flour") { measurement = "5 2/3 cups", density = 5.4m }; var expected = 30.60m; var actual = convert.CalculateOuncesUsed(i); Assert.AreEqual(expected, actual); }
public void TestOuncesConsumedBasedOnMeasurement() { var convert = new ConvertDensity(); var i = new Ingredient("Confectioner's Sugar") { measurement = "3 cups", density = 4.4m }; var expected = 13.2m; var actual = convert.CalculateOuncesUsed(i); Assert.AreEqual(expected, actual); }
public void TestOuncesConsumedBasedOnMeasurement4() { var convert = new ConvertDensity(); var i = new Ingredient("Baking Soda") { measurement = "1/4 teaspoon", density = 8.57m }; var expected = .04m; var actual = convert.CalculateOuncesUsed(i); Assert.AreEqual(expected, actual); }
public decimal CalculateOuncesConsumedFromMeasurement(Ingredient i) { var dbIngredients = new DatabaseAccessIngredient(); var convertMeasurement = new ConvertMeasurement(); var convertWeight = new ConvertWeight(); var convert = new ConvertDensity(); var myIngredientIngredientsTableData = dbIngredients.queryIngredientFromIngredientsTableByName(i); var myConsumedOunces = 0m; var temp = new Ingredient(); if (myIngredientIngredientsTableData.classification.ToLower().Contains("egg")) { var accumulatedOunces = convertMeasurement.AccumulatedTeaspoonMeasurement(i.measurement); if (i.classification.ToLower().Contains("egg")) { var splitEggMeasurement = convertWeight.SplitWeightMeasurement(i.sellingWeight); i.sellingWeightInOunces = decimal.Parse(splitEggMeasurement[0]); } } myConsumedOunces = convert.CalculateOuncesUsed(i); return(myConsumedOunces); }