示例#1
0
        public IActionResult NewCategory(string name)
        {
            Category newcategory = new Category();

            newcategory.name       = name;
            newcategory.created_At = DateTime.Now;
            _context.Add(newcategory);
            _context.SaveChanges();
            return(RedirectToAction("ProductAdmin2"));
        }
        public void SaveCartContent(List <string> cartitemlist, int userId)
        {
            User curuser = _context.users.SingleOrDefault(u => u.userId == userId);
            Cart curcart = _context.carts.SingleOrDefault(c => c.user == curuser);
            int  cartid  = -1;

            if (curcart == null)
            {
                Cart newcart = new Cart();
                newcart.user = curuser;
                _context.Add(newcart);
                _context.SaveChanges();
                cartid = newcart.cartId;
            }
            else
            {
                cartid = curcart.cartId;
                _context.productInCarts.RemoveRange(_context.productInCarts.Where(p => p.cartId == curcart.cartId));
            }
            Dictionary <string, int> cartitem = new Dictionary <string, int>();

            foreach (string id in cartitemlist)
            {
                if (!cartitem.ContainsKey(id))
                {
                    cartitem.Add(id, 1);
                }
                else
                {
                    cartitem[id] += 1;
                }
            }
            foreach (KeyValuePair <string, int> entry in cartitem)
            {
                ProductInCart newitem = new ProductInCart();
                newitem.productId  = Convert.ToInt32(entry.Key);
                newitem.cartId     = cartid;
                newitem.quantity   = entry.Value;
                newitem.created_At = DateTime.Now;
                _context.productInCarts.Add(newitem);
            }
            _context.SaveChanges();
        }
 public IActionResult Register(RegisterViewModel regmodel)
 {
     if (ModelState.IsValid)
     {
         List <User> all   = _context.users.ToList();
         List <User> users = _context.users.Where(user => user.email == regmodel.Email).ToList();
         if (users.Count != 0)
         {
             ViewBag.emailexist = "Email has been registered!";
             return(View("Index"));
         }
         else
         {
             User newuser = new User
             {
                 firstName     = regmodel.FirstName,
                 lastName      = regmodel.LastName,
                 password      = regmodel.Password,
                 email         = regmodel.Email,
                 shipToAddress = regmodel.shipToAddress,
                 city          = regmodel.city,
                 state         = regmodel.state,
                 zipcode       = regmodel.zipcode,
                 created_At    = DateTime.Now
             };
             PasswordHasher <User> Hasher = new PasswordHasher <User>();
             newuser.password = Hasher.HashPassword(newuser, newuser.password);
             _context.Add(newuser);
             _context.SaveChanges();
             User curuser = _context.users.SingleOrDefault(user => user.email == newuser.email);
             HttpContext.Session.SetInt32("UserId", curuser.userId);
             //save cookie content of cart and wishlist into database
             string pidincart     = Request.Cookies["cart"];
             string pidinwishlist = Request.Cookies["wishlist"];
             if (pidincart != null)
             {
                 List <string> cartitemlist = new List <string>();
                 cartitemlist.AddRange(pidincart.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
                 // SaveCartContent(cartitemlist,curuser.userId);
                 CommonFunctions common = new CommonFunctions(_context);
                 common.SaveCartContent(cartitemlist, curuser.userId);
             }
             if (pidinwishlist != null)
             {
                 List <string> wishlistitemlist = new List <string>();
                 wishlistitemlist.AddRange(pidinwishlist.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
                 // SaveWishlistContent(wishlistitemlist,curuser.userId);
                 CommonFunctions common = new CommonFunctions(_context);
                 common.SaveWishlistContent(wishlistitemlist, curuser.userId);
             }
             CookieOptions options = new CookieOptions();
             options.Expires = DateTime.Now.AddDays(3650);
             Response.Cookies.Append("uid", curuser.userId.ToString(), options);
             string ReturnUrl = HttpContext.Session.GetString("ReturnUrl");
             if (ReturnUrl != null)
             {
                 HttpContext.Session.Remove("ReturnUrl");
                 return(Redirect(ReturnUrl));
             }
             else
             {
                 string referer = Request.Headers["Referer"].ToString();
                 Uri    url     = new Uri(referer);
                 string path    = url.AbsolutePath;
                 if (referer != null && path != "/regloginpage")
                 {
                     return(Redirect(referer));
                 }
                 else
                 {
                     return(Redirect("/"));
                 }
             }
         }
     }
     return(View("Index"));
 }