public static RecipeInstanceStep FinishedChef(int recipeInstanceStepId)
        {
            var db = new YesChefContext();
            var recipeInstanceStep = RecipeInstanceStepHandler.GetRecipeInstanceStep(recipeInstanceStepId, db);
            if (recipeInstanceStep == null) throw new Exception("Cannot find recipeInstanceStep");

            //Make sure it's started
            if (recipeInstanceStep.Started == null)
                throw new Exception("Step not yet started!");

            recipeInstanceStep.Finished = DateTime.Now;

            //can the recipe be marked as completed?
            var uncompletedRecipeInstanceSteps = (from ris in recipeInstanceStep.RecipeInstance.RecipeInstanceSteps where ris.Finished == null select ris).ToList();
            if (uncompletedRecipeInstanceSteps.Count == 0)
                recipeInstanceStep.RecipeInstance.IsCompleted = true;

            //can the meal be marked as completed?
            var uncompletedRecipeInstances = (from x in recipeInstanceStep.RecipeInstance.Meal.RecipeInstances where !x.IsCompleted select x).ToList();
            if (uncompletedRecipeInstances.Count == 0)
                recipeInstanceStep.RecipeInstance.Meal.IsCompleted = true;

            db.SaveChanges();

            return recipeInstanceStep;
        }
Esempio n. 2
0
        public static SousChef CreateSousChef(string Name, string Email, string PlainTextPassword)
        {
            var db = new YesChefContext();
            var sousChef = db.SousChefs.Add(new SousChef
            {
                Name = Name,
                EmailAddress = Email,
                PasswordHash = "spaceSaver"
            });
            db.SaveChanges();

            sousChef.PasswordHash = EncryptionHandler.CreateHash(PlainTextPassword, sousChef.Id);
            db.SaveChanges();

            return sousChef;
        }
Esempio n. 3
0
        public static Recipe CreateRecipe(string name)
        {
            var db = new YesChefContext();
            var recipe = db.Recipies.Add(new Recipe { Name = name });
            db.SaveChanges();

            return recipe;
        }
        public static QuantityType CreateQuantityType(string name)
        {
            var db = new YesChefContext();
            var qt = db.QuantityTypes.Add(new QuantityType { Name = name });
            db.SaveChanges();

            return qt;
        }
        public static RecipeInstanceStep CreateRecipeInstanceStep(int recipeInstanceId, int stepId)
        {
            var db = new YesChefContext();
            var recipeInstanceStep = db.RecipeInstanceSteps.Add(new RecipeInstanceStep
            {
                RecipeInstanceId = recipeInstanceId,
                StepId = stepId
            });
            db.SaveChanges();

            return recipeInstanceStep;
        }
Esempio n. 6
0
        public static Meal CreateMeal(string name, int sousChefId)
        {
            var db = new YesChefContext();
            var meal = db.Meals.Add(new Meal
            {
                CreatedAt = DateTime.Now,
                Name = name,
                SousChefId = sousChefId
            });
            db.SaveChanges();

            return GetMeal(meal.Id);
        }
        public static StepRecipeDependancy CreateStepRecipeDependancy(int stepId, int recipeId)
        {
            var db = new YesChefContext();
            var stepRecipeDependancy = db.StepRecipeDependancies.Add(new StepRecipeDependancy
            {
                StepId = stepId,
                RecipeId = recipeId
            });
            db.SaveChanges();

            stepRecipeDependancy = GetstepRecipeDependancy(stepRecipeDependancy.Id);

            return stepRecipeDependancy;
        }
Esempio n. 8
0
        public static Ingredient CreateIngredient(int recipeId, int quantityTypeId, string name, int quantity)
        {
            var db = new YesChefContext();

            var ingredient = db.Ingredients.Add(new Ingredient
            {
                RecipeId = recipeId,
                Name = name,
                QuantityTypeId = quantityTypeId,
                Quantity = quantity
            });
            db.SaveChanges();

            return GetIngredient(ingredient.Id);
        }
Esempio n. 9
0
        public static Step CreateStep(string description, int minutesDuration, int recipeId, bool isFreeTime = false)
        {
            var db = new YesChefContext();
            var step = db.Steps.Add(new Step
            {
                Description = description,
                MinutesDuration = minutesDuration,
                RecipeId = recipeId,
                IsFreeTime = isFreeTime
            });
            db.SaveChanges();

            step = GetStep(step.Id);

            return step;
        }
        public static StepDependancy CreateStepDependancy(int parentStepId, int childStepId)
        {
            var db = new YesChefContext();

            //Ensure dependancy doesn't already exist
            var existingStepDependancies = (from sd in db.StepDependancies
                                            where sd.ParentStepId == parentStepId
                                            && sd.ChildStepId == childStepId
                                            select sd).ToList();
            if (existingStepDependancies.Count > 0)
                throw new Exception("This Step Dependancy already exists");

            var stepDependancy = db.StepDependancies.Add(new StepDependancy
            {
                ParentStepId = parentStepId,
                ChildStepId = childStepId
            });
            db.SaveChanges();

            return stepDependancy;
        }
        public static RecipeInstance CreateRecipeInstance(int recipeId, int mealId)
        {
            var db = new YesChefContext();
            var recipeInstance = db.RecipeInstances.Add(new RecipeInstance
            {
                MealId = mealId,
                RecipeId = recipeId
            });

            //Add steps from recipe
            var recipe = RecipeHandler.GetRecipe(recipeId);
            foreach (var step in recipe.Steps)
            {
                recipeInstance.RecipeInstanceSteps.Add(new RecipeInstanceStep()
                {
                    StepId = step.Id
                });

                //Add steps from connected recipies
                var parentRecipe = (from x in db.StepRecipeDependancies where x.StepId==step.Id select x.Recipe).SingleOrDefault();
                if (parentRecipe != null)
                {
                    foreach (var parentRecipeStep in parentRecipe.Steps)
                    {
                        recipeInstance.RecipeInstanceSteps.Add(new RecipeInstanceStep()
                        {
                            StepId = parentRecipeStep.Id
                        });
                    }
                }
            }

            db.SaveChanges();

            recipeInstance = GetRecipeInstance(recipeInstance.Id);
            return recipeInstance;
        }
        public static RecipeInstanceStep YesChef(int recipeInstanceStepId)
        {
            var db = new YesChefContext();
            var recipeInstanceStep = RecipeInstanceStepHandler.GetRecipeInstanceStep(recipeInstanceStepId, db);
            if (recipeInstanceStep == null) throw new Exception("Cannot find recipeInstanceStep");

            recipeInstanceStep.Started = DateTime.Now;
            db.SaveChanges();

            return recipeInstanceStep;
        }