Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        // 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));
        }
Ejemplo n.º 5
0
        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();
            }
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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 }));
        }
Ejemplo n.º 8
0
        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));
        }