GenerateDesignRecipeBox()
        {
            RecipeBox rb = new RecipeBox();
            rb.Name = "Design Only";
            rb.Description = "Design time data margely bargely doogely doo";
            for (int i = 0; i < 4; i++)
            {
                RecipeGroup recipeGroup = new RecipeGroup();
                recipeGroup.Name = "Group " + i;
                for (int k = 0; k < 8; k++)
                {
                    Recipe r = new Recipe();
                    r.Name = "Recipe " + i + k;
                    r.Description = "The Recipe description is going here";

                    
                    Ingredient flour = new Ingredient("Flour", IngredientType.Dry);
                    flour.AdjustPercent(65);
                    r.AddIngredient(flour);

                    Ingredient water = new Ingredient("Water", IngredientType.Wet);
                    water.AdjustPercent(25);
                    r.AddIngredient(water);

                    Ingredient group = new Ingredient();
                    group.Name = "Starter";
                    group.AdjustPercent(10);

                    Ingredient flour2 = new Ingredient("Flour", IngredientType.Dry);
                    flour2.AdjustPercent(75);
                    r.AddIngredient(group);
                    group.AddIngredient(flour2);

                    Ingredient water2 = new Ingredient("Water", IngredientType.Wet);
                    water2.AdjustPercent(25);
                    group.AddIngredient(water2);
                    r.TotalWeight = 1000;

                    Step step = new Step();
                    step.Description =
                        "Here is some direction on how to do some shit when your doing those things you do with the stuff  and all that crap...You now have killer direction and such";
                    r.Steps.Add(step);
                    r.Steps.Add(new Step("Here is another step that you'll need to follow"));
                    r.BalancePercentages();

                    recipeGroup.Recipes.Add(r);
                }
                rb.RecipeGroups.Add(recipeGroup);
            }
            return rb;
        }
        private RecipeBox GenerateDefaultRecipeBox()
        {
            RecipeBox rb = new RecipeBox();
            rb.Name = "Default";
            rb.Description = "A default set of basic recipes to get you started";
            RecipeGroup group = new RecipeGroup();
            group.Name = "Basic";

            #region build Flaxseed sourdough bread
            Ingredient FlaxSeed = new Ingredient("Flax Seed", IngredientType.Dry);
            FlaxSeed.Weight = 34;
            Ingredient Water = new Ingredient("Water", IngredientType.Wet);
            Water.Weight = 124;
            Ingredient SeedMix = new Ingredient("Flax Seed Mix", IngredientType.Miscellaneous);
            SeedMix.AddIngredient(FlaxSeed);
            SeedMix.AddIngredient(Water);            
            SeedMix.SetWeightFromChildren();

            Recipe flaxSeedRecipe = new Recipe("Flax Seed Sourdough");
            flaxSeedRecipe.Description = "Popped flax seeds give this bread a soft, interesting texture";
            flaxSeedRecipe.AddIngredientWithWeight(FlaxSeed);

            Ingredient starter = new Ingredient("Starter", IngredientType.Miscellaneous);
            Ingredient flour = new Ingredient("Bread Flour", IngredientType.Dry);
            flour.Weight = 21;
            Ingredient H20 = new Ingredient("Water", IngredientType.Wet);
            H20.Weight = 21;
            starter.AddIngredient(flour);
            starter.AddIngredient(H20);
            starter.SetWeightFromChildren();
            Ingredient levain = new Ingredient("Levain", IngredientType.Miscellaneous);
            levain.AddIngredient(starter);
            Ingredient levainWater = new Ingredient("Water", IngredientType.Wet);
            levainWater.Weight = 135;
            levain.AddIngredient(levainWater);
            Ingredient levainFlour = new Ingredient("Bread Flour", IngredientType.Dry);
            levain.AddIngredient(levainFlour);
            levain.SetWeightFromChildren();
            flaxSeedRecipe.AddIngredientWithWeight(levain);

            Ingredient finalFlour = new Ingredient("Bread Flour", IngredientType.Dry);
            finalFlour.Weight = 121;
            flaxSeedRecipe.AddIngredientWithWeight(finalFlour);
            Ingredient salt = new Ingredient("Salt", IngredientType.Salt);
            flaxSeedRecipe.AddIngredientWithWeight(salt);
            group.Recipes.Add(flaxSeedRecipe);
            #endregion

            Recipe buiscuit = new Recipe("Sourdough Biscuits");
            buiscuit.Description = "These need to rise for a long time, 18-24 hours preferably";
            Ingredient buiscuitStarter = new Ingredient("Starter", IngredientType.Miscellaneous);
            Ingredient buiscuitStarterFlour = new Ingredient("Flour", IngredientType.Dry);
            buiscuitStarterFlour.Weight = 58.5;
            buiscuitStarter.AddIngredient(buiscuitStarterFlour);
            Ingredient buiscuitStarterWater = new Ingredient("Water", IngredientType.Wet);
            buiscuitStarterWater.Weight = 58.5;
            buiscuitStarter.AddIngredient(buiscuitStarterWater);
            buiscuitStarter.BalancePercentages();
            buiscuit.AddIngredientWithWeight(buiscuitStarter);

            Ingredient buiscuitFlour = new Ingredient("AP Flour", IngredientType.Dry);
            buiscuitFlour.Weight = 222;
            buiscuit.AddIngredientWithWeight(buiscuitFlour);

            Ingredient sugar = new Ingredient("Sugar", IngredientType.Sweet);
            sugar.Weight = 5;
            buiscuit.AddIngredientWithWeight(sugar);

            Ingredient buiscuitSalt = new Ingredient("Salt", IngredientType.Salt);
            buiscuitSalt.Weight = 5;
            buiscuit.AddIngredientWithWeight(buiscuitSalt);

            Ingredient butter = new Ingredient("Butter", IngredientType.Fat);
            butter.Weight = 111;
            buiscuit.AddIngredientWithWeight(butter);

            Ingredient milk = new Ingredient("Milk", IngredientType.Wet);
            milk.Weight = 140;
            buiscuit.AddIngredientWithWeight(milk);
            group.Recipes.Add(buiscuit);

            rb.RecipeGroups.Add(group);
            return rb;
        }
        private static RecipeBox GenerateDefaultRecipeBox()
        {
            Recipe r = new Recipe();
            r.Name = "Sourdough";
            Ingredient flour = new Ingredient("Flour", IngredientType.Dry);
            flour.AdjustPercent(65);
            r.AddIngredient(flour);

            Ingredient water = new Ingredient("Water", IngredientType.Wet);
            water.AdjustPercent(25);
            r.AddIngredient(water);

            Ingredient group = new Ingredient();
            group.Name = "Starter";
            group.AdjustPercent(10);

            Ingredient flour2 = new Ingredient("Flour", IngredientType.Dry);
            flour2.AdjustPercent(75);
            r.AddIngredient(group);
            group.AddIngredient(flour2);

            Ingredient water2 = new Ingredient("Water", IngredientType.Wet);
            water2.AdjustPercent(25);
            group.AddIngredient(water2);
            r.TotalWeight = 1000;

            Step step = new Step();
            step.Description =
                "Here is some direction on how to do some shit when your doing those things you do with the stuff  and all that crap...You now have killer direction and such";
            r.Steps.Add(step);
            r.BalancePercentages();

            Recipe r2 = new Recipe();
            r2.Name = "Jimmy Gabooty";
            Ingredient pasta = new Ingredient("pasta", IngredientType.Dry);
            pasta.AdjustPercent(65);
            r2.AddIngredient(pasta);
            Ingredient milk = new Ingredient("Milk", IngredientType.Wet);
            milk.AdjustPercent(35);
            r2.AddIngredient(milk);
            r2.TotalWeight = 1000;
            RecipeBox rb = new RecipeBox();
            rb.Name = "Default";
            RecipeGroup recipeGroup = new RecipeGroup();
            recipeGroup.Name = "Group";
            recipeGroup.Recipes.Add(r);
            recipeGroup.Recipes.Add(r2);
            rb.RecipeGroups.Add(recipeGroup);
            return rb;
        }