public IHttpActionResult AddToCurrentUsersPlan(Meal currentMeal, string day) { var currentUsersName = RequestContext.Principal.Identity.Name; var id = currentMeal.Id; var mealPlan = db.MealPlans.FirstOrDefault(w => w.User.Email == currentUsersName) ?? new MealPlan(); var currentUser = db.Users.First(x => x.Email == currentUsersName); mealPlan.User = mealPlan.User ?? currentUser; var meal = db.Meals.Find(id); var mealPlanItem = new MealPlanItem { Day = day, Date = DateTime.Now, Meal = meal }; //Meals is an ICollection of MealPlanData. so create the list and add the mealPlanData that we created before to it. mealPlan.MealPlanItems = mealPlan.MealPlanItems ?? new List <MealPlanItem>(); mealPlan.MealPlanItems.Add(mealPlanItem); db.MealPlans.AddOrUpdate(mealPlan); db.SaveChanges(); return(Ok(mealPlan)); }
public void AddToPlan(Meal meal, int day, int amount) { var mealPlanItem = appDbContext.MealPlanItems.SingleOrDefault( item => item.Meal.MealId == meal.MealId && item.MealplanIdentifier == MealPlanId && item.DayOfWeek == (DayOfWeek)day); if (mealPlanItem == null) { mealPlanItem = new MealPlanItem { MealplanIdentifier = MealPlanId, Meal = meal, Amount = amount, DayOfWeek = (DayOfWeek)day }; meal.ItemMealPlanId = mealPlanItem.MealPlanItemId; appDbContext.MealPlanItems.Add(mealPlanItem); } else { mealPlanItem.Amount++; } appDbContext.SaveChanges(); }