Пример #1
0
        public void TestDeleteIngredientFromIngredientsTableDeleteOnlyFromIngredientTable()
        {
            var t       = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbCosts = new DatabaseAccessCosts();
            var dbDI    = new DatabaseAccessDensityInformation();
            var dbD     = new DatabaseAccessDensities();
            var HoneyButtermilkBread = new Recipe("Honey Buttermilk Bread")
            {
                id = 1, yield = 24
            };
            var breadFlour = new Ingredient("King Arthur Bread Flour")
            {
                ingredientId = 1, recipeId = 1, measurement = "6 cups", sellingWeight = "5 lb", typeOfIngredient = "bread flour", classification = "flour"
            };

            t.initializeDatabase();
            t.insertIngredientIntoAllTables(breadFlour, HoneyButtermilkBread);
            var myIngredientBox = dbI.myIngredientBox();

            dbI.DeleteIngredientFromIngredientTable(breadFlour);
            var myIngredientTableCount         = dbI.queryAllIngredientsFromIngredientTable().Count();
            var myIngredientBoxCount           = dbI.myIngredientBox().Count();
            var myCostTableCount               = dbCosts.queryCostTable().Count();
            var myDensitiesTableCount          = dbD.queryDensitiesTableAllRows().Count();
            var myDensityInformationTableCount = dbDI.queryDensityInfoTable().Count();
            var myConsumptionTable             = dbC.queryConsumptionTable().Count();

            Assert.AreEqual(0, myIngredientTableCount);
            Assert.AreEqual(1, myCostTableCount);
            Assert.AreEqual(1, myDensitiesTableCount);
            Assert.AreEqual(1, myConsumptionTable);
        }
Пример #2
0
        public void TestMeasuredIngredientPriceIngredientsTablew()
        {
            var t       = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbCosts = new DatabaseAccessCosts();
            var dbD     = new DatabaseAccessDensities();
            var rest    = new MakeRESTCalls();
            var r       = new Recipe("Wholesome Whole Wheat Bread")
            {
                id = 1
            };
            var i = new Ingredient("king arthur whole wheat flour")
            {
                recipeId      = 1,
                ingredientId  = 1,
                sellingWeight = "5 lb",
                measurement   = "1 1/2 cups",
                density       = 5.4m
            };

            t.initializeDatabase();
            dbI.insertIngredient(i, r);
            dbC.insertIngredientConsumtionData(i);
            dbD.insertIngredientDensityData(i);
            dbCosts.insertIngredientCostDataCostTable(i);
            var IngredientMeasuredPrice = dbI.MeasuredIngredientPrice(i);
            var myIngInfo = dbCosts.queryCostTable();

            Assert.AreEqual(.43m, IngredientMeasuredPrice);
        }
        public void TestInsertIngredientIntoConsumptionOuncesConsumedTable()
        {
            var db    = new DatabaseAccess();
            var dbI   = new DatabaseAccessIngredient();
            var dbC   = new DatabaseAccessConsumption();
            var dbCOC = new DatabaseAccessConsumptionOuncesConsumed();
            var cake  = new Recipe("Cake")
            {
                id = 1, yield = 24
            };
            var bakingPowder = new Ingredient("Baking Powder")
            {
                ingredientId = 2, recipeId = 1, measurement = "1 tablespoon", sellingWeight = "10 oz", typeOfIngredient = "baking powder", classification = "rising agent"
            };
            var cakeFlour = new Ingredient("Softasilk Cake Flour")
            {
                ingredientId = 1, recipeId = 1, measurement = "2 cups", sellingWeight = "32 oz", typeOfIngredient = "cake flour", classification = "flour"
            };

            db.initializeDatabase();
            db.insertIngredientIntoAllTables(cakeFlour, cake);
            db.insertIngredientIntoAllTables(bakingPowder, cake);
            var myConsumptionOuncesConsumedTable = dbCOC.queryConsumptionOuncesConsumed();

            Assert.AreEqual("Softasilk Cake Flour", myConsumptionOuncesConsumedTable[0].name);
            Assert.AreEqual("2 cups", myConsumptionOuncesConsumedTable[0].measurement);
            Assert.AreEqual(9m, myConsumptionOuncesConsumedTable[0].ouncesConsumed);
            Assert.AreEqual(23m, myConsumptionOuncesConsumedTable[0].ouncesRemaining);
            Assert.AreEqual("Baking Powder", myConsumptionOuncesConsumedTable[1].name);
            Assert.AreEqual("1 tablespoon", myConsumptionOuncesConsumedTable[1].measurement);
            Assert.AreEqual(.52m, myConsumptionOuncesConsumedTable[1].ouncesConsumed);
            Assert.AreEqual(9.48m, myConsumptionOuncesConsumedTable[1].ouncesRemaining);
        }
        public ActionResult ConsumptionTable()
        {
            var dbC = new DatabaseAccessConsumption();

            ViewBag.consumptiontable = dbC.queryConsumptionTable();
            return(View());
        }
Пример #5
0
        public void TestInsertionIntoAllTables()
        {
            var t       = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbCosts = new DatabaseAccessCosts();
            var dbD     = new DatabaseAccessDensities();
            var r       = new Recipe("Honey Buttermilk Bread")
            {
                id = 1
            };
            var i = new Ingredient("King Arthur Bread Flour")
            {
                recipeId      = 1,
                ingredientId  = 1,
                sellingWeight = "5 lb",
                measurement   = "6 cups",
                density       = 5.4m
            };

            t.initializeDatabase();
            t.insertIngredientIntoAllTables(i, r);
            var myIngInfo = dbI.queryAllIngredientsFromIngredientTable();
            var myIngCons = dbC.queryConsumptionTable();
            var myIngDens = dbD.queryDensitiesTableAllRows();
            var myIngCost = dbCosts.queryCostTable();

            Assert.AreEqual(1, myIngInfo.Count());
            Assert.AreEqual(1, myIngCons.Count());
            Assert.AreEqual(1, myIngDens.Count());
            Assert.AreEqual(1, myIngCost.Count());
        }
Пример #6
0
        public void TestMeasuredIngredientPriceIngredientsTable2()
        {
            var t       = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbCosts = new DatabaseAccessCosts();
            var dbD     = new DatabaseAccessDensities();
            var rest    = new MakeRESTCalls();
            var r       = new Recipe("Wholesome Whole Wheat Bread")
            {
                id = 1
            };
            var i = new Ingredient("King Arthur Whole Wheat Flour")
            {
                recipeId      = 1,
                ingredientId  = 1,
                sellingWeight = "5 lb",
                measurement   = "3 cups",
                density       = 5
            };
            var i2 = new Ingredient("Rumford Baking Powder")
            {
                recipeId      = 1,
                ingredientId  = 2,
                sellingWeight = "10 oz",
                measurement   = "1 teaspoon",
                density       = 8.4m
            };
            var i3 = new Ingredient("King Arthur All Purpose Flour")
            {
                recipeId      = 1,
                ingredientId  = 3,
                sellingWeight = "5 lb",
                measurement   = "2 cups",
                density       = 5
            };

            t.initializeDatabase();
            dbI.insertIngredient(i, r);
            dbI.insertIngredient(i2, r);
            dbI.insertIngredient(i3, r);
            dbC.insertIngredientConsumtionData(i);
            dbC.insertIngredientConsumtionData(i2);
            dbC.insertIngredientConsumtionData(i3);
            dbD.insertIngredientDensityData(i);
            dbD.insertIngredientDensityData(i2);
            dbD.insertIngredientDensityData(i3);
            dbCosts.insertIngredientCostDataCostTable(i);
            dbCosts.insertIngredientCostDataCostTable(i2);
            dbCosts.insertIngredientCostDataCostTable(i3);
            var ingredientMeasuredPrice1 = dbI.MeasuredIngredientPrice(i);
            var ingredient2MeasuredPrice = dbI.MeasuredIngredientPrice(i2);
            var ingredient3MeasuredPrice = dbI.MeasuredIngredientPrice(i3);

            Assert.AreEqual(.79m, ingredientMeasuredPrice1);
            Assert.AreEqual(.04m, ingredient2MeasuredPrice);
            Assert.AreEqual(.46m, ingredient3MeasuredPrice);
        }
Пример #7
0
        public void TestDeleteIngredientFromIngredientsTableAndAccessOtherTablesForDeletedIngredient()
        {
            var t       = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbCosts = new DatabaseAccessCosts();
            var dbD     = new DatabaseAccessDensities();
            var honeyButtermilkBread = new Recipe("Honey Buttermilk Bread")
            {
                id = 1, yield = 24
            };
            var cinnamonButtermilkBread = new Recipe("Cinnamon Buttermilk Bread")
            {
                id = 2, yield = 24
            };
            var breadFlour1 = new Ingredient("King Arthur Bread Flour")
            {
                ingredientId = 1, recipeId = 1, measurement = "6 cups", sellingWeight = "5 lb", typeOfIngredient = "bread flour", classification = "flour"
            };
            var breadFlour2 = new Ingredient("King Arthur Bread Flour")
            {
                ingredientId = 2, recipeId = 2, measurement = "6 cups", sellingWeight = "5 lb", typeOfIngredient = "bread flour", classification = "flour"
            };
            var salt = new Ingredient("Salt")
            {
                ingredientId = 3, recipeId = 2, measurement = "1 tablespoon", sellingWeight = "48 oz", typeOfIngredient = "salt", classification = "salt"
            };

            t.initializeDatabase();
            t.insertIngredientIntoAllTables(breadFlour1, honeyButtermilkBread);
            t.insertIngredientIntoAllTables(breadFlour2, cinnamonButtermilkBread);
            t.insertIngredientIntoAllTables(salt, cinnamonButtermilkBread);
            var myIngredientBox = dbI.myIngredientBox();

            dbI.DeleteIngredientFromIngredientTable(breadFlour1);
            dbI.DeleteIngredientFromIngredientTable(breadFlour2);
            var myIngredientTable  = dbI.queryAllIngredientsFromIngredientTable();
            var myCostTable        = dbCosts.queryCostTable();
            var myDensitiesTable   = dbD.queryDensitiesTableAllRows();
            var myConsumptionTable = dbC.queryConsumptionTable();

            Assert.AreEqual(1, myIngredientTable.Count());
            Assert.AreEqual("Salt", myIngredientTable[0].name);
            Assert.AreEqual(3, myCostTable.Count());
            Assert.AreEqual(3, myDensitiesTable.Count());
            Assert.AreEqual(2, myConsumptionTable.Count());
        }
        public void TestQueryCostTableRowByName()
        {
            var db      = new DatabaseAccess();
            var dbI     = new DatabaseAccessIngredient();
            var dbC     = new DatabaseAccessConsumption();
            var dbDI    = new DatabaseAccessDensityInformation();
            var dbD     = new DatabaseAccessDensities();
            var dbCosts = new DatabaseAccessCosts();
            var cake    = new Recipe("Cake")
            {
                id = 1, yield = 12
            };
            var softasilkCakeFlour = new Ingredient("Softasilk Cake Flour")
            {
                ingredientId = 1, recipeId = 1, sellingWeight = "32 oz", measurement = "1 1/2 cups", typeOfIngredient = "cake flour", classification = "flour"
            };

            db.initializeDatabase();
            dbDI.insertDensityTextFileIntoDensityInfoDatabase();
            dbDI.queryDensityInfoTable();
            dbI.insertIngredient(softasilkCakeFlour, cake);
            var myIngredientInformation = dbI.queryIngredientFromIngredientsTableByName(softasilkCakeFlour);

            dbD.insertIngredientDensityData(softasilkCakeFlour);
            var myIngredientDensityInformation = dbD.queryIngredientFromDensityTableByName(softasilkCakeFlour);

            dbC.insertIngredientConsumtionData(softasilkCakeFlour);
            var myIngredientConsumptionInformation = dbC.queryConsumptionTableRowByName(softasilkCakeFlour);

            //i'm getting 0 for ounces remaining still... i need to figure that one out
            dbCosts.insertIngredientCostDataCostTable(softasilkCakeFlour);
            var myCostIngredientInformation = dbCosts.queryCostsTableByName(softasilkCakeFlour);

            Assert.AreEqual("Softasilk Cake Flour", myCostIngredientInformation.name);
            Assert.AreEqual(2.98m, myCostIngredientInformation.sellingPrice);
            Assert.AreEqual(.0931m, myCostIngredientInformation.pricePerOunce);
            Assert.AreEqual("32 oz", myCostIngredientInformation.sellingWeight);
        }
        public ActionResult Recipe(string name)
        {
            var rest = new MakeRESTCalls();
            var db   = new DatabaseAccess();
            var dbI  = new DatabaseAccessIngredient();
            var dbD  = new DatabaseAccessDensityInformation();
            var dbC  = new DatabaseAccessConsumption();

            if (string.IsNullOrEmpty(name))
            {
                return(Redirect("/home/RecipeBox"));
            }
            name = name.Trim();
            var distinctIngredientNamesSorted     = dbI.myDistinctIngredientNamesSorted();
            var distinctIngredientClassifications = dbI.myDistinctIngredientClassificationsSorted();
            var distinctIngredientTypes           = dbI.myDistinctIngredientTypesSorted();

            myDatabaseRecipe          = getRecipes().First(x => x.name == name);
            currentRecipe             = myDatabaseRecipe;
            ViewBag.currentingredient = currentIngredient;
            if (distinctIngredientNamesSorted.Count() == 0 || distinctIngredientNamesSorted == null)
            {
                ViewBag.ingredientnames = new List <string>();
            }
            else
            {
                ViewBag.ingredientnames = distinctIngredientNamesSorted;
            }
            if (distinctIngredientTypes.Count() == 0 || distinctIngredientTypes == null)
            {
                ViewBag.types = new List <string>();
            }
            else
            {
                ViewBag.types = distinctIngredientTypes;
            }
            if (distinctIngredientClassifications.Count() == 0 || distinctIngredientClassifications == null)
            {
                ViewBag.classifications = new List <string>();
            }
            else
            {
                ViewBag.classifications = distinctIngredientClassifications;
            }

            ViewBag.distinctsellingweights = dbC.getListOfDistinctSellingWeights();
            ViewBag.currentrecipe          = currentRecipe;
            ViewBag.recipeboxcount         = getRecipes().Count();
            //ViewBag.distinctingredienttypes = dbD.getListOfIngredientTypesFromDensityTable();
            if (!string.IsNullOrEmpty(currentIngredient.name))
            {
                if (string.IsNullOrEmpty(currentIngredient.measurement))
                {
                    ViewBag.itemresponselist = rest.GetListItemResponseNoSellingWeights(currentIngredient);
                }
                else
                {
                    ViewBag.itemresponselist         = rest.GetListItemResponses(currentIngredient);
                    ViewBag.itemresponselistcombined = rest.CombineItemResponses(currentIngredient);
                }
            }
            else
            {
                ViewBag.itemresponselist         = new List <ItemResponse>();
                ViewBag.itemresponselistNoWeight = new List <ItemResponse>();
            }
            return(View());

            /*
             * foreach of these item responses in the list of item responses i think it would be wise to have an
             * algorithm to filter out the top 2 prices (or put them at the end of the list and gray them out so they're visible but not prominent...
             * there's a product of 6 5 lb bags of king arthur organic unbleached flour, but in the itemr esponse name, it doesn't give any specification of packs in it's name, so my algorithm wouldn't be able to do anything with it
             * unless i took the largest price and divided it by the average of the other prices and compared them, seeing if it was a pack that way...
             */
        }