Beispiel #1
0
        public ActionResult CreateCustom([Bind(Include = "Name,Calories,Carbs,Protein,Fat,Quantity,SelectedCount, SendSugestion")] CustomCalorieViewModel vm)
        {
            if (ModelState.IsValid)
            {
                DailyCalorieCount dcc = new DailyCalorieCount();
                bool send             = vm.SendSugestion;//set the send suggestion bool

                if (vm.SelectedCount == null || vm.SelectedCount == 0)
                {
                    dcc = new DailyCalorieCount()
                    {
                        Date          = DateTime.Now,
                        Name          = "New Count",
                        UserId        = User.Identity.GetUserId(),
                        TotalCalories = 0
                    };
                    db.DailyCalorieCounts.Add(dcc);
                    db.SaveChanges();
                }
                else
                {
                    dcc = db.DailyCalorieCounts.Find(vm.SelectedCount);
                }

                db.TempCalorieItems.Add(new TempCalorieItem()//creating the temp item
                {
                    Name                = vm.Name,
                    Calories            = CastDouble(vm.Calories),
                    Carbs               = CastDouble(vm.Carbs),
                    Protein             = CastDouble(vm.Protein),
                    Fat                 = CastDouble(vm.Fat),
                    ServingSize         = CastDouble(vm.Quantity),
                    DailyCalorieCount   = dcc,
                    DailyCalorieCountId = dcc.DailyCalorieCountId,
                    SendSugestion       = send
                });

                dcc.TotalCalories += Calculator.Sum((double)vm.Calories, (double)vm.Quantity, (double)vm.Quantity);
                //add totals of other attributes
                //dcc.TotalCarbs += Calculator.Sum()
                //dcc.TotalProtien += Calculator.Sum()
                //dcc.TotalFat += Calculator.Sum()

                db.SaveChanges();
                return(RedirectToAction("FoodIndex"));
            }
            var userId = User.Identity.GetUserId();

            vm.DailyCalorieCountId = db.DailyCalorieCounts.Where(c => c.UserId == userId).OrderByDescending(c => c.Date).ToList().Select(s => new SelectListItem()
            {
                Value = s.DailyCalorieCountId.ToString(),
                Text  = (s.Name + ": " + s.Date.ToString("ddd - dd/MM"))
            }).ToList();
            return(View(vm));
        }
Beispiel #2
0
        public ActionResult CreateCustom()
        {
            // similar to adding a calorie to a count,
            //  a user may create their own if they cannot find the desired item
            // adding it to a temporary items table
            // the user will also have the ability to suggest the item to an admin for review
            var userId = User.Identity.GetUserId();
            IList <DailyCalorieCount> list = db.DailyCalorieCounts.Where(l => l.UserId == userId).OrderByDescending(l => l.Date).ToList();
            CustomCalorieViewModel    vm   = new CustomCalorieViewModel()
            {
                DailyCalorieCountId = list.Select(s => new SelectListItem()
                {
                    Value = s.DailyCalorieCountId.ToString(),
                    Text  = (s.Name + ": " + s.Date.ToString("ddd - dd/MM"))
                }).ToList()
            };

            return(View(vm));
        }