Пример #1
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    var InfoToAdd = new AccountInfoModels();

                    InfoToAdd.AccountId = user.Id;
                    InfoToAdd.Email     = user.Email;

                    db.AccountInfoModels.Add(InfoToAdd);
                    db.SaveChanges();


                    var userCart = new CartModels();

                    userCart.AccountId = user.Id;
                    userCart.Email     = user.Email;

                    db.CartModels.Add(userCart);
                    db.SaveChanges();

                    string redirectUrl = "/Manage/Index";
                    return(Redirect(redirectUrl));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #2
0
        /// <summary>
        /// 异步保存购物车商品信息
        /// </summary>
        /// <param name="cartInfo"></param>
        /// <returns></returns>
        public ActionResult AjaxUpdateCartInfo(CartModels cartInfo)
        {
            Inpinke_Cart cart = DBCartBLL.GetCartProductByID(cartInfo.ID);

            if (cart == null)
            {
                return(Content("{\"success\":false,\"message\":\"未找到对应的商品\"}"));
            }
            cart.Envelope = cartInfo.Envelope;
            cart.CouponID = cartInfo.CouponID;
            cart.Num      = cartInfo.Num;
            BaseResponse br = DBCartBLL.UpdateUserCart(cart);

            if (!br.IsSuccess)
            {
                return(Content("{\"success\":false,\"message\":\"" + br.Message + "\"}"));
            }
            return(Content("{\"success\":true}"));
        }
Пример #3
0
        public ActionResult cart(FormCollection collection)
        {
            string cosignee = yikuData.UserCurrent.Consignee;

            if (!string.IsNullOrEmpty(Request.Form["CurrentUser.Consignee"]))
            {
                cosignee = Request.Form["CurrentUser.Consignee"];
            }
            string Address = yikuData.UserCurrent.Address;

            if (!string.IsNullOrEmpty(Request.Form["CurrentUser.Consignee"]))
            {
                cosignee = Request.Form["CurrentUser.Consignee"];
            }

            CartModels cm = new CartModels();
            IQueryable <T_Shopping> TSHS = cm.TSHs;

            foreach (T_Shopping tsh in TSHS)
            {
                Order order = new Order();
                order.IID     = tsh.IID;
                order.UID     = cm.CurrentUser.UID;
                order.Count   = tsh.Count;
                order.Cut     = tsh.Cut;
                order.Time    = DateTime.Now;
                order.Cost    = tsh.Item.Price * tsh.Count;
                order.State   = "pay";
                order.Address = Address;
                yikuData.Add(order);
                T_Shopping sss  = yikuData.GetT_Shopping(tsh.T_Sh_ID);
                Item       item = yikuData.GetItem(order.IID);
                item.Volume += order.Count;     //商品卖出量增加N份
                yikuData.Delete(sss);
            }
            yikuData.Save();
            return(RedirectToAction("trade", "MyYiku"));
        }
Пример #4
0
        public ActionResult cart()
        {
            CartModels cm = new CartModels();

            return(View(cm));
        }
Пример #5
0
        public ActionResult Cart(CartModels model)
        {
            if (model.Method == "/")
            {
                ViewBag.CartMessage   = "Ваша корзина пустая";
                ViewBag.CartContainer = "";
                ViewBag.CartPrice     = "";
                Session["cart"]       = null;
                return(View());
            }

            if (Session["cart"] == null)
            {
                ViewBag.CartMessage   = "Ваша корзина пустая";
                ViewBag.CartContainer = "";
                ViewBag.CartPrice     = "";
                return(View());
            }

            var totalPrice   = 0;
            var currCart     = Session["cart"].ToString(); //парсинг
            var cartElements = new List <CartModels>();

            string[] idsAndCount;
            if (currCart.Contains(','))
            {
                idsAndCount = currCart.Split(',');
            }
            else
            {
                idsAndCount    = new string[1];
                idsAndCount[0] = currCart;
            }

            for (var i = 0; i < idsAndCount.Length; i++)
            {
                var parsedIdsAndCount = idsAndCount[i].Split(':');
                var id    = long.Parse(parsedIdsAndCount[0]);
                var count = int.Parse(parsedIdsAndCount[1]);
                if (id == model.Id && model.Method == "+")
                {
                    count++;
                }
                if (id == model.Id && model.Method == "-")
                {
                    count--;
                }
                if (count != 0)
                {
                    cartElements.Add(new CartModels {
                        Id = id, Count = count
                    });
                }
            }

            if (cartElements.Count == 0)
            {
                ViewBag.CartMessage   = "Ваша корзина пустая";
                ViewBag.CartContainer = "";
                ViewBag.CartPrice     = "";
                Session["cart"]       = null;
                return(View());
            }

            for (var i = 0; i < cartElements.Count; i++)
            {
                using (var connection = new NpgsqlConnection(ConnectionString))
                {
                    connection.Open();
                    using (var command =
                               new NpgsqlCommand($"SELECT name, cost FROM public.cards where id={cartElements[i].Id};",
                                                 connection))
                    {
                        var reader = command.ExecuteReader();
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                cartElements[i].Name = reader.GetString(0);
                                cartElements[i].Cost = reader.GetInt32(1);
                            }
                        }
                    }
                }
            }

            ViewBag.CartContainer = cartElements;

            for (var i = 0; i < cartElements.Count; i++) //подсчёт общей суммы
            {
                totalPrice += cartElements[i].Cost * cartElements[i].Count;
            }
            ViewBag.CartPrice = totalPrice.ToString();
            Session["Price"]  = totalPrice;

            var str = new StringBuilder();

            for (var i = 0; i < cartElements.Count; i++)
            {
                if (cartElements.Count == 1)
                {
                    str.Append(cartElements[i].Id + ":" + cartElements[i].Count);
                }
                else if (i == cartElements.Count - 1)
                {
                    str.Append(cartElements[i].Id + ":" + cartElements[i].Count);
                }
                else
                {
                    str.Append(cartElements[i].Id + ":" + cartElements[i].Count + ",");
                }
            }
            Session["cart"] = str.ToString();
            return(View());
        }