Example #1
0
        public ActionResult CustomProduct(CustomProduct customProduct)
        {
            string email = User.Identity.Name;
            User   user  = db.Users.FirstOrDefault(x => x.Email == email);

            if (ModelState.IsValid)
            {
                using (CustomProductContext db = new CustomProductContext())
                {
                    db.CustomProducts.Add(new CustomProduct
                    {
                        Name     = customProduct.Name,
                        Calories = customProduct.Calories,
                        Fats     = customProduct.Fats,
                        Protein  = customProduct.Protein,
                        Carbs    = customProduct.Carbs,
                        Fiber    = customProduct.Fiber,
                        Iron     = customProduct.Iron,
                        Calcium  = customProduct.Calcium,
                        VitA     = customProduct.VitA,
                        VitC     = customProduct.VitC,
                        VitB12   = customProduct.VitB12,
                        Folate   = customProduct.Folate,
                        UserId   = user.UserId
                    });
                    db.SaveChanges();
                    customProduct = db.CustomProducts.Where(u => u.Name == customProduct.Name && u.Calories == customProduct.Calories && u.Fats == customProduct.Fats &&
                                                            u.Protein == customProduct.Protein && u.Carbs == customProduct.Carbs && u.Fiber == customProduct.Fiber && u.Iron == customProduct.Iron &&
                                                            u.Calcium == customProduct.Calcium && u.VitA == customProduct.VitA && u.VitC == customProduct.VitC && u.VitB12 == customProduct.VitB12 &&
                                                            u.Folate == customProduct.Folate && u.UserId == user.UserId).FirstOrDefault();
                }
            }
            return(View(customProduct));
        }
Example #2
0
        public ActionResult AddProduct()
        {
            User user;
            int  id;
            int  allCalories = 0, fats = 0, protein = 0, carbs = 0;

            using (UserContext db = new UserContext())
            {
                user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);
            }

            string selectId = Request.QueryString["id"];
            string product  = Request.QueryString["product"];
            int    gram     = Convert.ToInt32(Request.QueryString["g"]);

            if (Convert.ToBoolean(product))
            {
                CustomProduct customProduct;
                using (CustomProductContext dbCustomProduct = new CustomProductContext())
                {
                    customProduct = dbCustomProduct.CustomProducts.Find(Convert.ToInt32(selectId));
                }
                using (DaybookContext dbDaybook = new DaybookContext())
                {
                    DaybookProduct daybookProduct = new DaybookProduct {
                        UserId = user.UserId, ProductId = customProduct.Id, Custom = Convert.ToBoolean(product), Gram = gram
                    };
                    dbDaybook.Daybooks.Add(daybookProduct);
                    dbDaybook.SaveChanges();
                    id = daybookProduct.Id;
                }

                var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);
                foreach (var item in daybook)
                {
                    if (item.Custom == false)
                    {
                        DefaultProduct defaultP = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                        allCalories += defaultP.Calories * (item.Gram / 100);
                        fats        += defaultP.Fats * (item.Gram / 100);
                        protein     += defaultP.Protein * (item.Gram / 100);
                        carbs       += defaultP.Carbs * (item.Gram / 100);
                    }
                    else
                    {
                        CustomProduct customP = dbCustomProduct.CustomProducts.Find(item.ProductId);
                        allCalories += customP.Calories * (item.Gram / 100);
                        fats        += customP.Fats * (item.Gram / 100);
                        protein     += customP.Protein * (item.Gram / 100);
                        carbs       += customP.Carbs * (item.Gram / 100);
                    }
                }

                int caloriesNeeded = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                            ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                             (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                            (user.Sex == true ? 5 : -161)) * 1.2) - allCalories;

                return(Json(new
                {
                    addId = id,
                    addName = customProduct.Name,
                    addCalories = customProduct.Calories * gram / 100,
                    addFats = customProduct.Fats * gram / 100,
                    addProtein = customProduct.Protein * gram / 100,
                    addCarbs = customProduct.Carbs * gram / 100,
                    caloriesNeeded,
                    allCalories,
                    fats,
                    protein,
                    carbs
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                DefaultProduct defaultProduct;
                using (DefaultProductContext dbDefaultProduct = new DefaultProductContext())
                {
                    defaultProduct = dbDefaultProduct.DefaultProducts.Find(Convert.ToInt32(selectId));
                }
                using (DaybookContext dbDaybook = new DaybookContext())
                {
                    DaybookProduct daybookProduct = new DaybookProduct {
                        UserId = user.UserId, ProductId = defaultProduct.Id, Custom = Convert.ToBoolean(product), Gram = gram
                    };
                    dbDaybook.Daybooks.Add(daybookProduct);
                    dbDaybook.SaveChanges();
                    id = daybookProduct.Id;
                }

                var daybook = dbDaybook.Daybooks.Where(x => x.UserId == user.UserId);
                foreach (var item in daybook)
                {
                    if (item.Custom == false)
                    {
                        DefaultProduct defaultP = dbDefaultProduct.DefaultProducts.Find(item.ProductId);
                        allCalories += defaultP.Calories * (item.Gram / 100);
                        fats        += defaultP.Fats * (item.Gram / 100);
                        protein     += defaultP.Protein * (item.Gram / 100);
                        carbs       += defaultP.Carbs * (item.Gram / 100);
                    }
                    else
                    {
                        CustomProduct customP = dbCustomProduct.CustomProducts.Find(item.ProductId);
                        allCalories += customP.Calories * (item.Gram / 100);
                        fats        += customP.Fats * (item.Gram / 100);
                        protein     += customP.Protein * (item.Gram / 100);
                        carbs       += customP.Carbs * (item.Gram / 100);
                    }
                }

                int caloriesNeeded = (int)((user.Weight * 10 + (user.Height * 6.25) -
                                            ((DateTime.UtcNow.Month < user.BirthDate.Month || (DateTime.UtcNow.Month == user.BirthDate.Month && DateTime.UtcNow.Day < user.BirthDate.Day)) ?
                                             (DateTime.UtcNow.Year - user.BirthDate.Year) : (DateTime.UtcNow.Year - user.BirthDate.Year) - 1) +
                                            (user.Sex == true ? 5 : -161)) * 1.2) - allCalories;

                return(Json(new
                {
                    addId = id,
                    addName = defaultProduct.Name,
                    addCalories = defaultProduct.Calories * gram / 100,
                    addFats = defaultProduct.Fats * gram / 100,
                    addProtein = defaultProduct.Protein * gram / 100,
                    addCarbs = defaultProduct.Carbs * gram / 100,
                    caloriesNeeded,
                    allCalories,
                    fats,
                    protein,
                    carbs
                }, JsonRequestBehavior.AllowGet));
            }
        }