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)); }
/// <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}")); }
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")); }
public ActionResult cart() { CartModels cm = new CartModels(); return(View(cm)); }
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()); }