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