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));
        }
Пример #2
0
        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();
        }