public async Task <IActionResult> Edit(int id, [Bind("TopSellingId,HangHoaId,SoLan,DanhGia")] TopSelling topSelling) { if (id != topSelling.TopSellingId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(topSelling); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TopSellingExists(topSelling.TopSellingId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["HangHoaId"] = new SelectList(_context.HangHoa, "HangHoaId", "Hinh", topSelling.HangHoaId); return(View(topSelling)); }
public IActionResult ThanhToan(string name, string email, string address, string tel) { List <GioHang> danhsachhang = SessionHelper.GetObjectFromJson <List <GioHang> >(HttpContext.Session, "cart"); CreateInvoice(danhsachhang, name, email, address, tel); HttpContext.Session.SetString("cart", ""); foreach (var item in danhsachhang) { var topselling = eMarketContext.TopSelling.Where(p => p.HangHoaId == item.HangHoa.HangHoaId).FirstOrDefault(); if (topselling == null) { var newcolumn = new TopSelling(); newcolumn.HangHoaId = item.HangHoa.HangHoaId; newcolumn.SoLan = 1; eMarketContext.Add(newcolumn); eMarketContext.SaveChanges(); } else { topselling.SoLan += 1; eMarketContext.Update(topselling); eMarketContext.SaveChanges(); } } TempData["status"] = "Đặt Hàng Thành Công"; return(RedirectToAction("Index", "HangHoa")); }
public async Task <IActionResult> Create([Bind("TopSellingId,HangHoaId,SoLan,DanhGia")] TopSelling topSelling) { if (ModelState.IsValid) { _context.Add(topSelling); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["HangHoaId"] = new SelectList(_context.HangHoa, "HangHoaId", "Hinh", topSelling.HangHoaId); return(View(topSelling)); }
// GET: Admin/TopSelling/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TopSelling topSelling = db.TopSelling.Find(id); if (topSelling == null) { return(HttpNotFound()); } return(View(topSelling)); }
public void TopSellingProductsThisWeek() { Dates.WeekDates(); if (TopSelling.Count > 0) { TopSelling.Clear(); } try { cmd = new SqlCommand(); con.Open(); cmd.Connection = con; cmd.CommandText = "SELECT DISTINCT [s].product, [product].prodImage FROM Inventory.Product AS product INNER JOIN Inventory.Sales AS s ON [s].product = [product].productId WHERE qtySold = (SELECT AVG(qtySold) FROM Inventory.Sales WHERE date BETWEEN @thismonday AND @thissunday)"; cmd.Parameters.AddWithValue("@thismonday", Dates.MondayDate); cmd.Parameters.AddWithValue("@thissunday", Dates.SundayDate); _reader = cmd.ExecuteReader(); while (_reader.Read()) { if (string.IsNullOrEmpty(_reader["prodImage"].ToString())) { continue; } if (_reader.HasRows) { TopSelling.AddFirst(Base64ToImage(_reader["prodImage"].ToString())); } } } catch (SqlException) { MessageBox.Show(@"There is a problem connecting to the database", @"Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { con.Close(); } }
public ActionResult Edit(int?id, [Bind(Include = "Id,Header,Content,Span,Button,Image")] TopSelling topSelling, HttpPostedFileBase Image) { if (ModelState.IsValid) { TopSelling activeTopSelling = db.TopSelling.Find(id); if (activeTopSelling != null) { string fileName = null; if (Image != null) { if (Image.ContentLength > 0 && Image.ContentLength <= 3 * 1024 * 1024) { if (Image.ContentType.ToLower() == "image/jpeg" || Image.ContentType.ToLower() == "image/jpg" || Image.ContentType.ToLower() == "image/png" || Image.ContentType.ToLower() == "image/gif" ) { //var path = Path.Combine(Server.MapPath("~/Public/images/"), activeBlog.Image); //if (System.IO.File.Exists(path)) //{ // System.IO.File.Delete(path); //} DateTime dt = DateTime.Now; var beforeStr = dt.Year + "_" + dt.Month + "_" + dt.Day + "_" + dt.Hour + "_" + dt.Minute + "_" + dt.Second; fileName = beforeStr + Path.GetFileName(Image.FileName); var newFilePath = Path.Combine(Server.MapPath("~/Public/images/"), fileName); Image.SaveAs(newFilePath); activeTopSelling.Image = fileName; activeTopSelling.Header = topSelling.Header; activeTopSelling.Content = topSelling.Content; activeTopSelling.Span = topSelling.Span; activeTopSelling.Button = topSelling.Button; db.SaveChanges(); return(RedirectToAction("Details/1")); } else { ViewBag.EditError = "Photo type is not valid."; return(View(activeTopSelling)); } } else { ViewBag.EditError = "Photo type should not be more than 3 MB."; return(View(activeTopSelling)); } } else { activeTopSelling.Header = topSelling.Header; activeTopSelling.Content = topSelling.Content; activeTopSelling.Span = topSelling.Span; activeTopSelling.Button = topSelling.Button; db.SaveChanges(); return(RedirectToAction("Details/1")); } } else { ViewBag.EditError = "Id is not correct."; return(View(activeTopSelling)); } } return(View(topSelling)); }
public async Task <IActionResult> Payment(OrderPlaceViewModel orderPlace) { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); var carts = _context.Cart.Where(p => p.CustomerId == userId).ToList(); string vendorId = ""; foreach (var cart in carts) { vendorId = cart.VendorId; } Order order = new Order(); order.CustomerId = userId; order.DateCreation = DateTime.Now.Date; order.VendorId = vendorId; order.OrderStatusId = 1; order.PaymentId = 1; _context.Order.Add(order); await _context.SaveChangesAsync(); var orderId = order.Id; foreach (var cart in carts) { TopSelling topmodel = new TopSelling(); var topseller = _context.TopSelling.FirstOrDefault(p => p.ProductId == cart.ProductId); if (topseller != null) { topmodel = topseller; topmodel.Count = topseller.Count + 1; _context.TopSelling.Update(topseller); await _context.SaveChangesAsync(); } else { topmodel = new TopSelling { ProductId = cart.ProductId, Count = 1 }; _context.TopSelling.Add(topmodel); await _context.SaveChangesAsync(); } OrderDetail model = new OrderDetail(); model.OrderId = orderId; model.ProductId = cart.ProductId; model.ProductName = cart.ProductName; model.Color = cart.Color; model.Size = cart.Size; model.OriginalTotal = cart.OriginalPrice * cart.Quantity; model.ShippingCharge = orderPlace.ShippingCharges; if (carts.Count() > 1 || cart.Quantity > 1) { if (carts.Count > 1) { model.TotalPrice = cart.ComboPrice * cart.Quantity; } else { model.TotalPrice = cart.DiscountPrice * cart.Quantity; } } else { model.TotalPrice = cart.OriginalPrice; } model.Quantity = cart.Quantity; _context.OrdersDetail.Add(model); await _context.SaveChangesAsync(); } foreach (var cart in carts) { int Id = cart.ProductId; var product = _context.Products.Find(Id); int q = product.Quantity - cart.Quantity; Product model = new Product(); model = product; model.Quantity = q; _context.Products.Update(model); await _context.SaveChangesAsync(); } RemoveCarts(carts); return(RedirectToAction("Success", "Order", new { @Id = orderId })); }
public IActionResult OnePayPayment([Bind("vpc_Customer_Phone,vpc_Customer_Email,vpc_Customer_Id,vpc_Customer_Name")] VPC vpc) { string value = SessionHelper.GetObjectFromJson <string>(HttpContext.Session, "User"); var user = eMarketContext.TaiKhoan.Include(p => p.ThongTinTaiKhoan).Where(p => p.UserName == value).FirstOrDefault(); List <GioHang> danhsachhang = SessionHelper.GetObjectFromJson <List <GioHang> >(HttpContext.Session, "cart"); double total = 0; foreach (var x in danhsachhang) { total += x.HangHoa.Gia * x.SoLuong; } total = VPCRequest.USD_VND * total; var current_invoice = CreateInvoice(danhsachhang, vpc.vpc_Customer_Name, vpc.vpc_Customer_Email, vpc.vpc_Customer_Address, vpc.vpc_Customer_Phone); HttpContext.Session.SetString("cart", ""); foreach (var item in danhsachhang) { var topselling = eMarketContext.TopSelling.Where(p => p.HangHoaId == item.HangHoa.HangHoaId).FirstOrDefault(); if (topselling == null) { var newcolumn = new TopSelling(); newcolumn.HangHoaId = item.HangHoa.HangHoaId; newcolumn.SoLan = 1; eMarketContext.Add(newcolumn); eMarketContext.SaveChanges(); } else { topselling.SoLan += 1; eMarketContext.Update(topselling); eMarketContext.SaveChanges(); } } //Send request to OnePay string returnURL = Url.Action("OnePayResult", "GioHang", null, Request.Scheme);; VPCRequest conn = new VPCRequest(); conn.SetSecureSecret(VPCRequest.SECURE_SECRET); conn.AddDigitalOrderField("Title", "onepay paygate"); conn.AddDigitalOrderField("vpc_Locale", "vn");//Chon ngon ngu hien thi tren cong thanh toan (vn/en) conn.AddDigitalOrderField("vpc_Version", "2"); conn.AddDigitalOrderField("vpc_Command", "pay"); conn.AddDigitalOrderField("vpc_Merchant", VPCRequest.MERCHANT_ID); conn.AddDigitalOrderField("vpc_AccessCode", VPCRequest.ACCESS_CODE); conn.AddDigitalOrderField("vpc_MerchTxnRef", "HoaDon_" + current_invoice.HoaDonId); conn.AddDigitalOrderField("vpc_OrderInfo", "HoaDon_" + current_invoice.HoaDonId); conn.AddDigitalOrderField("vpc_Amount", total + "00"); conn.AddDigitalOrderField("vpc_Currency", "VND"); conn.AddDigitalOrderField("vpc_ReturnURL", returnURL); // Thong tin them ve khach hang. De trong neu khong co thong tin conn.AddDigitalOrderField("vpc_Customer_Phone", vpc.vpc_Customer_Phone); conn.AddDigitalOrderField("vpc_Customer_Email", vpc.vpc_Customer_Email); conn.AddDigitalOrderField("vpc_Customer_Id", "" + user.TaiKhoanId); // Dia chi IP cua khach hang string ipAddress = _accessor.HttpContext.Connection.RemoteIpAddress.ToString(); conn.AddDigitalOrderField("vpc_TicketNo", ipAddress); // Chuyen huong trinh duyet sang cong thanh toan string url = conn.Create3PartyQueryString(); return(Redirect(url)); }