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; }
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; }
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; }
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; }
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); }
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; }