// EndUsers eu = new EndUsers() // { // // EndUsersID = endusers.EndUsersID // }; // db.EndUsers.Add(eu); // db.SaveChanges(); //// return RedirectToAction("Products", new { id = endusers.EndUsersID}); //public ActionResult Products() //{ // //var p = endusers.Products.SingleOrDefault(c => c.ProductID == ProductID); // //var e = p.EndUsers.SingleOrDefault(i => i.EndUsersID == EndUsersID); // //if (e == null) // // p.EndUsers.Add(endusers.EndUsers.Single(i => i.EndUsersID == EndUsersID)); // return RedirectToAction("Products", "Products"); // return View(db.Products.ToList()); //} //public ActionResult Products(EndUsers endusers, int id) // { // EndUsersID = id // }; // db.EndUsers.Add(e); // db.SaveChanges(); // return RedirectToAction("", new { id = endusers.EndUsersID }); // return View(endusers); // //var products = db.Products.Include(p => p.ProductOwners); // return View(db.Products.ToList()); //} // GET: EndUsers/Create public ActionResult Create() { var endUser = new EndUsers(); endUser.Products= new List<Product>(); PopulateFollowedProducts(endUser); return View(); }
private void PopulateFollowedProducts(EndUsers endUsers) { var allProducts = db.Products; var followers = new HashSet<int>(endUsers.Products.Select(c => c.ProductID)); var viewModel = new List<FollowedProducts>(); foreach (var product in allProducts) { viewModel.Add(new FollowedProducts { ProductID = product.ProductID, Followed = followers.Contains(product.ProductID) }); } ViewBag.Products = viewModel; }
private void UpdateFollowers(string[] followedProducts, EndUsers endUserToUpdate) { if (followedProducts == null) { endUserToUpdate.Products = new List<Product>(); return; } var followedProductsHS = new HashSet<string>(followedProducts); var followers = new HashSet<int> (endUserToUpdate.Products.Select(c => c.ProductID)); foreach (var product in db.Products) { if (followedProductsHS.Contains(product.ProductID.ToString())) { if (!followers.Contains(product.ProductID)) { endUserToUpdate.Products.Add(product); } } else { if (followers.Contains(product.ProductID)) { endUserToUpdate.Products.Remove(product); } } } }
public ActionResult Products(ApplicationDbContext context,EndUsers endUsers, int? id) { var currentUser = User.Identity.Name; var LoggedInUser = db.Users.Where(u => u.Email == currentUser); //product.ProductOwnersID = LoggedInUser.ProductOwnersID; // var p = context.Products.SingleOrDefault(c => c.ProductID == id); //var e = p.EndUsers.SingleOrDefault(i => i.Email == currentUser); //if (e == null) PopulateFollowedProducts(endUsers); // p.EndUsers.Add(context.EndUsers.Single(i => i.EndUsersID == endUsers)); // var e = p.EndUsers.SingleOrDefault(i => i.Email == (e)IQueryable<ApplicationUser>LoggedInUser); // var endusersproducts = e.Products; // var e = p.EndUsers.SingleOrDefault(i => i.EndUsersID == EndUsersID); // if (e == null) // p.EndUsers.Add(context.EndUsers.Single(i => i.Name == EndUsersName)); //if (userAction == "+ Follow") //{ // ViewBag.SubmitValue = "+ Follow"; // } //if (userAction == "+ Unfollow") // { // ViewBag.SubmitValue = "+ Unfollow"; // } if (ModelState.IsValid) { EndUsers eu = new EndUsers() { EndUsersID = endUsers.EndUsersID }; db.EndUsers.Add(eu); // db.SaveChanges(); // return RedirectToAction("Index"); } return View(endUsers); }