public IActionResult PreviewItem(PreviewItemViewModel previewItemViewModel) { string userName = HttpContext.Session.GetString("CurrentUser"); var currentUserId = db.Accounts.FirstOrDefault(x => x.UserName == userName).Id; int itemId = int.Parse(HttpContext.Session.GetString("CurrentItem")); var alreadyInCart = db.ShoppingCarts.FirstOrDefault(x => x.ItemId == itemId && x.AccountId == currentUserId && x.IsPurchased == false); if (alreadyInCart != null) { this.TempData["AlreadyInCart"] = Constant.AlreadyInCart; return(RedirectToAction("ShoppingCart", "ShoppingCart", new { area = "" })); } string username = HttpContext.Session.GetString("CurrentUser"); var user = db.Accounts.FirstOrDefault(x => x.UserName == username); db.ShoppingCarts.Add(new ShoppingCart { ItemId = itemId, AccountId = user.Id }); db.SaveChanges(); return(RedirectToAction("ShoppingCart", "ShoppingCart", new { area = "" })); }
public IActionResult PreviewItem(string id) { var item = db.Items.FirstOrDefault(x => x.Id == int.Parse(id)); PreviewItemViewModel previewItemViewModel = new PreviewItemViewModel { Item = item }; HttpContext.Session.SetString("CurrentItem", item.Id.ToString()); var currentUser = HttpContext.Session.GetString("CurrentUser"); var user = db.Accounts.FirstOrDefault(x => x.UserName == currentUser); previewItemViewModel.Registries = db.Registries.Where(x => x.AccountId == user.Id).ToList(); return(View(previewItemViewModel)); }
public IActionResult AddItemToRegistry(PreviewItemViewModel previewItemViewModel, int itemId) { var currentUsername = HttpContext.Session.GetString("CurrentUser"); var user = db.Accounts.FirstOrDefault(x => x.UserName == currentUsername); var registriesForUser = db.Registries.FirstOrDefault(x => x.DateOfEvent == Convert.ToDateTime(previewItemViewModel.SelectedValue)); RegistryItems registryItems = new RegistryItems { RegistryId = registriesForUser.Id, ItemId = itemId }; db.RegistryItems.Add(registryItems); db.SaveChanges(); this.TempData["AddedItemToRegistry"] = Constant.AddedItemToRegistry; return(RedirectToAction("Categories")); }