Beispiel #1
0
        public IActionResult AddOrder(string account_id, string fullname, string address, string email, string tel, string city)
        {
            var gioHang = SessionHelper.Get <List <CartItem> >(HttpContext.Session, "cart");

            if (gioHang == null || gioHang.Count() == 0)
            {
                ViewBag.Success = false;
            }
            else
            {
                KhachHang newKh = new KhachHang
                {
                    TenKhachHang = fullname,
                    DiaChi       = address,
                    Email        = email,
                    SoDt         = tel,
                    MaTinhThanh  = int.Parse(city)
                };
                db.KhachHang.Add(newKh);
                db.SaveChanges();
                GioHang newOrder = new GioHang
                {
                    MaKhachHang = newKh.MaKhachHang,
                    NgayDat     = DateTime.Now,
                    TrangThai   = 0
                };
                if (account_id != null)
                {
                    newOrder.MaTaiKhoan = int.Parse(account_id);
                }
                db.GioHang.Add(newOrder);
                db.SaveChanges();
                var cart = SessionHelper.Get <List <CartItem> >(HttpContext.Session, "cart");
                foreach (var item in cart)
                {
                    ChiTietGioHang newDetail = new ChiTietGioHang
                    {
                        MaGioHang = newOrder.MaGioHang,
                        MaThucDon = item.MaThucDon,
                        SoLuong   = item.SoLuong
                    };
                    db.ChiTietGioHang.Add(newDetail);
                    db.SaveChanges();
                }
                HttpContext.Session.Remove("cart");
                ViewBag.Success = true;
            }
            ViewBag.City = (from tt in db.TinhThanh select tt);
            gioHang      = SessionHelper.Get <List <CartItem> >(HttpContext.Session, "cart");
            ViewBag.Cart = gioHang;
            if (gioHang != null)
            {
                ViewBag.Total = gioHang.Sum(x => x.SoLuong * x.GiaBan);
            }
            else
            {
                ViewBag.Total = 0;
            }
            return(View("Index"));
        }
        public ActionResult ThanhToan(string shipName, string mobile, string address, string hinhthuctt)
        {
            var giohang = new GioHang();

            giohang.NgayThang         = DateTime.Now;
            giohang.DiaChi            = address;
            giohang.SDT               = mobile;
            giohang.TenNguoiDung      = shipName;
            giohang.HinhThucThanhToan = hinhthuctt;

            try
            {
                var id    = new CartF().Insert(giohang);
                var cart  = (Cart)Session[CartSession];
                var ctghF = new CartDetailF();

                foreach (var it in cart.Lines)
                {
                    var ctgh = new ChiTietGioHang();
                    ctgh.MaGioHang = id;
                    ctgh.MaSanPham = it.SanPham.MaSanPham;
                    ctgh.Duong     = it.Duong;
                    ctgh.Da        = it.Da;
                    ctgh.Topping   = it.Topping;
                    ctgh.DonGia    = it.SanPham.DonGia;
                    ctgh.SoLuong   = it.Quantity;
                    ctghF.Insert(ctgh);
                }
            }
            catch (Exception ex)
            {
                return(Redirect("/loi-thanh-toan"));
            }
            return(Redirect("/hoan-thanh"));
        }
Beispiel #3
0
        public ActionResult ThanhToan(string shipName, string mobile, string address)
        {
            var giohang = new GioHang();

            giohang.NgayThang    = DateTime.Now;
            giohang.DiaChi       = address;
            giohang.SDT          = mobile;
            giohang.TenNguoiDung = shipName;

            try
            {
                var id      = new GioHangDao().Insert(giohang);
                var GioHang = (List <GioHangIT>)Session[GioHangSession];
                var ctghDao = new ChiTietGioHangDao();
                foreach (var it in GioHang)
                {
                    var ctgh = new ChiTietGioHang();
                    ctgh.MaGiay    = it.Giay.MaGiay;
                    ctgh.MaGioHang = id;
                    ctgh.DonGia    = it.Giay.DonGia;
                    ctgh.SoLuong   = it.SoLuong;
                    ctghDao.Insert(ctgh);
                }
            }
            catch (Exception ex)
            {
                return(Redirect("/loi-thanh-toan"));
            }
            return(Redirect("/hoan-thanh"));
        }
Beispiel #4
0
        public ActionResult DeleteConfirmed(long id)
        {
            ChiTietGioHang chiTietGioHang = db.ChiTietGioHangs.Find(id);

            db.ChiTietGioHangs.Remove(chiTietGioHang);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
 public void ThemChiTiet(ChiTietGioHang ct)
 {
     try
     {
         db.ChiTietGioHangs.Add(ct);
         db.SaveChanges();
     }
     catch (Exception)
     {
     }
 }
Beispiel #6
0
 public ActionResult Edit([Bind(Include = "MaChiTietGioHang,MaGioHang,MaSanPham,Duong,Da,Topping,DonGia,SoLuong")] ChiTietGioHang chiTietGioHang)
 {
     if (ModelState.IsValid)
     {
         db.Entry(chiTietGioHang).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MaGioHang = new SelectList(db.GioHangs, "MaGioHang", "HinhThucThanhToan", chiTietGioHang.MaGioHang);
     ViewBag.MaSanPham = new SelectList(db.SanPhams, "MaSanPham", "TenSanPham", chiTietGioHang.MaSanPham);
     return(View(chiTietGioHang));
 }
 public ActionResult Edit([Bind(Include = "CTGioHangId,PhiGiaoDich,ThanhTien,GioHangId,SanPhamId")] ChiTietGioHang chiTietGioHang)
 {
     if (ModelState.IsValid)
     {
         db.Entry(chiTietGioHang).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.GioHangId = new SelectList(db.gioHangs, "GioHangId", "GioHangId", chiTietGioHang.GioHangId);
     ViewBag.SanPhamId = new SelectList(db.sanPhams, "SanPhamId", "TenSanPham", chiTietGioHang.SanPhamId);
     return(View(chiTietGioHang));
 }
Beispiel #8
0
 public ActionResult Edit([Bind(Include = "MaChiTietGioHang,MaSanPham,OrderID,SoLuong")] ChiTietGioHang chiTietGioHang)
 {
     if (ModelState.IsValid)
     {
         db.Entry(chiTietGioHang).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.OrderID   = new SelectList(db.Orders, "OrderID", "OrderID", chiTietGioHang.OrderID);
     ViewBag.MaSanPham = new SelectList(db.SanPhams, "MaSanPham", "TenSanPham", chiTietGioHang.MaSanPham);
     return(View(chiTietGioHang));
 }
Beispiel #9
0
 public bool Insert(ChiTietGioHang ctgh)
 {
     try
     {
         db.ChiTietGioHangs.Add(ctgh);
         db.SaveChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #10
0
        public ActionResult Checkout(string name, string phone, string email, string address)
        {


            try
            {
                var lstItemInCart = Session["CART_SESSION"] as List<CartItem>;
                var user = Session["USER_SESSION"] as Khachhang;
                decimal tongtien = 0;
              
                if (lstItemInCart != null)
                {
                    Giohangkh hoaDon = new Giohangkh();

                    hoaDon.Makh = user.Makh;
                    hoaDon.Ngaymua = DateTime.Now;
                    List<int> tempList = new List<int>();
                    foreach (var item in lstItemInCart)
                    {
                     
                        tongtien += item.Product.Dongia.Value * item.Quantity;
                        tempList.Add(item.Product.Masach);
                        ChiTietGioHang chiTiet = new ChiTietGioHang();
                        chiTiet.GiohangkhID = hoaDon.GiohangkhID;
                        chiTiet.Masach = item.Product.Masach;
                        chiTiet.Soluong = item.Quantity;
                        chiTiet.Thanhtien = item.Product.Dongia.Value * item.Quantity;
                        db.ChiTietGioHangs.Add(chiTiet);
                    }
                 
                    hoaDon.Tongtien = tongtien;
                    db.Giohangkhs.Add(hoaDon);
                    db.SaveChanges();

                    // remove session
                    int[] rmList = tempList.ToArray();
                    foreach (var item in rmList)
                    {
                        var productRemoved = lstItemInCart.Single(x => x.Product.Masach == item);
                        lstItemInCart.Remove(productRemoved);
                    }
                }
                Session["CART_SESSION"] = lstItemInCart;

                return Json(new { status = true });
            }
            catch (Exception ex)
            {
                return Json(new { status = false });
            }
        }
Beispiel #11
0
        // GET: Admin/ChiTietGioHangs/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChiTietGioHang chiTietGioHang = db.ChiTietGioHangs.Find(id);

            if (chiTietGioHang == null)
            {
                return(HttpNotFound());
            }
            return(View(chiTietGioHang));
        }
Beispiel #12
0
        // GET: Admin/ChiTietGioHangs/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChiTietGioHang chiTietGioHang = db.ChiTietGioHangs.Find(id);

            if (chiTietGioHang == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaGioHang = new SelectList(db.GioHangs, "MaGioHang", "HinhThucThanhToan", chiTietGioHang.MaGioHang);
            ViewBag.MaSanPham = new SelectList(db.SanPhams, "MaSanPham", "TenSanPham", chiTietGioHang.MaSanPham);
            return(View(chiTietGioHang));
        }
Beispiel #13
0
        // GET: ChiTietGioHangs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChiTietGioHang chiTietGioHang = db.ChiTietGioHangs.Find(id);

            if (chiTietGioHang == null)
            {
                return(HttpNotFound());
            }
            ViewBag.OrderID   = new SelectList(db.Orders, "OrderID", "OrderID", chiTietGioHang.OrderID);
            ViewBag.MaSanPham = new SelectList(db.SanPhams, "MaSanPham", "TenSanPham", chiTietGioHang.MaSanPham);
            return(View(chiTietGioHang));
        }
        // GET: ChiTietGioHangs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ChiTietGioHang chiTietGioHang = db.chiTietGioHangs.Find(id);

            if (chiTietGioHang == null)
            {
                return(HttpNotFound());
            }
            ViewBag.GioHangId = new SelectList(db.gioHangs, "GioHangId", "GioHangId", chiTietGioHang.GioHangId);
            ViewBag.SanPhamId = new SelectList(db.sanPhams, "SanPhamId", "TenSanPham", chiTietGioHang.SanPhamId);
            return(View(chiTietGioHang));
        }
        public ActionResult ThanhToan1(Models.KhachHangDTO kh)
        {
            ShopingCart     cart = (ShopingCart)Session[shop];
            List <ItemCart> li   = new List <ItemCart>();

            li = cart.listItem;
            ViewBag.tongtien = cart.TotalMoney();
            ViewBag.soluong  = cart.TotalAmmount();
            if (ModelState.IsValid)
            {
                KhachHang kh1 = new KhachHang();
                kh1.tenkhachhang = kh.tenkhachhang;
                kh1.diachi       = kh.diachi;
                kh1.email        = kh.email;
                kh1.sodienthoai  = kh.sodienthoai;
                KhachHangDao khDAo        = new KhachHangDao();
                int          makhachhang1 = khDAo.ThemKhachHang(kh1);

                GioHang gh = new GioHang();
                gh.makhachhang       = makhachhang1;
                gh.ngaydathang       = DateTime.Today;
                gh.tinhtranggiaohang = false;
                gh.tongtien          = cart.TotalMoney();
                GioHangDAO ghDao     = new GioHangDAO();
                int        magiohang = ghDao.ThemGioHang(gh);

                foreach (ItemCart item in li)
                {
                    ChiTietGioHang ct = new ChiTietGioHang()
                    {
                        magiohang = magiohang,
                        masanpham = item.sanpham.masanpham,
                        soluong   = item.soluong,
                        thanhtien = item.soluong * (item.sanpham.giaban)
                    };
                    ChiTietGioHangDAO ctDao = new ChiTietGioHangDAO();
                    ctDao.ThemChiTiet(ct);
                }
                Session[shop] = null;
                return(View("Success"));
            }
            else
            {
                return(View("ThanhToan", li));
            }
        }
Beispiel #16
0
        public ActionResult Confirm(int?maGH)
        {
            Order          order = db.Orders.FirstOrDefault(m => m.OrderID == maGH);
            XacNhanDonHang tmp   = new XacNhanDonHang();

            tmp.MaKH        = order.MaKH;
            tmp.VoucherID   = order.VoucherID;
            tmp.TongTien    = order.TongTien;
            tmp.TinhTrang   = "Đã Xác Nhận";
            tmp.DiaChi      = order.DiaChi;
            tmp.SDT         = order.SDT;
            tmp.HoTen       = order.HoTen;
            tmp.NgayXacNhan = DateTime.Now;
            db.XacNhanDonHangs.Add(tmp);
            db.SaveChanges();

            var chiTietGioHang = db.ChiTietGioHangs.Where(s => s.OrderID == maGH).ToList();

            foreach (var item in chiTietGioHang)
            {
                OrderConfirmedDetail orderConfirmedDetail = new OrderConfirmedDetail();
                orderConfirmedDetail.MaSanPham   = item.MaSanPham;
                orderConfirmedDetail.SoLuong     = item.SoLuong;
                orderConfirmedDetail.MaDonHang   = tmp.MaDonHang;
                orderConfirmedDetail.TinhTrang   = tmp.TinhTrang;
                orderConfirmedDetail.NgayXacNhan = DateTime.Now;
                db.OrderConfirmedDetails.Add(orderConfirmedDetail);
                db.SaveChanges();
                ChiTietGioHang chiTietGioHangXoa = db.ChiTietGioHangs.FirstOrDefault(m => m.OrderID == maGH);
                db.ChiTietGioHangs.Remove(chiTietGioHangXoa);
                db.SaveChanges();
            }



            Order deleteOrder = db.Orders.Find(maGH);

            db.Orders.Remove(deleteOrder);
            db.SaveChanges();



            return(RedirectToAction("Index"));
        }
Beispiel #17
0
 public ActionResult Addcart(int sp, int quantity)
 {
     try
     {
         var temp  = db.SanPhams.Find(sp);
         var index = Kiemtratontai(sp);
         if (index == -1)
         {
             var tam = new ChiTietGioHang();
             tam.sanPham = temp;
             tam.Soluong = quantity;
             ManagerObiect.getIntance().giohang.addCart(tam);
         }
         else
         {
             ManagerObiect.getIntance().giohang.getGiohang()[index].Soluong += quantity;
         }
         return(PartialView("Addcart1", ManagerObiect.getIntance().giohang));
     }
     catch (Exception e) { return(Json("faill")); }
 }
Beispiel #18
0
 public ActionResult Addcart(string sp, int quantity)
 {
     try
     {
         var temp  = db.SPHAMs.Find(sp);
         int index = Kiemtratontai(sp);
         if (index == -1)
         {
             ChiTietGioHang tam = new ChiTietGioHang();
             tam.sanpham = temp;
             tam.soluong = quantity;
             ManagerObject.getIntance().giohang.addCart(tam);
         }
         else
         {
             ManagerObject.getIntance().giohang.getGiohang()[index].soluong += quantity;
         }
         return(PartialView("Cart", ManagerObject.getIntance().giohang));
     }
     catch (Exception)
     { return(Json("fail")); }
 }
Beispiel #19
0
        public ActionResult ThanhToan1(KhachHangDTO khachHangDTO)
        {
            var             sess = (Areas.Admin.Models.TaiKhoan)Session["UserLogin"];
            ShoppingCart    cart = (ShoppingCart)Session[shop];
            List <ItemCart> li   = new List <ItemCart>();

            li = cart.dsItemCart;
            ViewBag.tongtien = cart.TotalMoney();
            ViewBag.soluong  = cart.TotalAmount();
            if (ModelState.IsValid)
            {
                if (sess == null)
                {
                    KhachHang    kh           = new KhachHang();
                    KhachHangDAO khachHangDAO = new KhachHangDAO();
                    kh.MaKH   = khachHangDAO.GetMaxMKH();
                    kh.TenKh  = khachHangDTO.TenKH;
                    kh.SoDT   = khachHangDTO.SoDT;
                    kh.Email  = khachHangDTO.Email;
                    kh.DiaChi = khachHangDTO.DiaChi;
                    string MaKH = khachHangDAO.ThemKhachHang(kh);

                    GioHang    gioHang    = new GioHang();
                    GioHangDAO gioHangDAO = new GioHangDAO();
                    gioHang.MaGH        = gioHangDAO.getMaGH();
                    gioHang.MaKH        = MaKH;
                    gioHang.NgayDatHang = DateTime.Today;
                    gioHang.TinhTrang   = false;
                    gioHang.TongTien    = cart.TotalMoney();
                    string MaGH = gioHangDAO.ThemGioHang(gioHang);
                    foreach (ItemCart item in li)
                    {
                        ChiTietGioHang chiTietGioHang = new ChiTietGioHang()
                        {
                            MaGH    = MaGH,
                            MaSach  = item.sach.MaSach,
                            SoLuong = item.SoLuong,
                            GiaTien = item.SoLuong * (item.sach.GiaTien)
                        };
                        ChiTietGioHangDAO chiTietGioHangDAO = new ChiTietGioHangDAO();
                        chiTietGioHangDAO.Them(chiTietGioHang);
                    }
                    Session[shop] = null;
                    return(View("Success"));
                }
                else
                {
                    GioHang    gioHang    = new GioHang();
                    GioHangDAO gioHangDAO = new GioHangDAO();
                    gioHang.MaGH        = gioHangDAO.getMaGH();
                    gioHang.MaKH        = sess.MaKH;
                    gioHang.NgayDatHang = DateTime.Today;
                    gioHang.TinhTrang   = false;
                    gioHang.TongTien    = cart.TotalMoney();
                    string MaGH = gioHangDAO.ThemGioHang(gioHang);
                    foreach (ItemCart item in li)
                    {
                        ChiTietGioHang chiTietGioHang = new ChiTietGioHang()
                        {
                            MaGH    = MaGH,
                            MaSach  = item.sach.MaSach,
                            SoLuong = item.SoLuong,
                            GiaTien = item.SoLuong * (item.sach.GiaTien)
                        };
                        ChiTietGioHangDAO chiTietGioHangDAO = new ChiTietGioHangDAO();
                        chiTietGioHangDAO.Them(chiTietGioHang);
                    }
                    Session[shop] = null;
                    return(View("Success"));
                }
            }
            else
            {
                return(View("ThanhToan", li));
            }
        }
        public ActionResult LienHe()
        {
            string  name          = Request.Form["userName"];
            string  email         = Request.Form["userEmail"];
            string  phone         = Request.Form["userPhone"];
            string  msg           = Request.Form["userMsg"];
            var     lstItemInCart = Session["CART_SESSION"] as List <CartItem>;
            var     user          = Session["USER_SESSION"] as Khachhang;
            decimal tongtien      = 0;

            #region Phần gửi mail
            string            mailFrom        = "*****@*****.**";
            string            passMail        = "nhom8congngheweb1234";
            NetworkCredential basicCredential = new NetworkCredential(mailFrom, passMail);
            SmtpClient        client          = new SmtpClient("smtp.gmail.com", 25);
            MailMessage       mail            = new MailMessage();
            client.EnableSsl             = true;
            client.UseDefaultCredentials = false;
            client.Credentials           = basicCredential;
            // Mail gui
            if (email != null)
            {
                mail.From = new MailAddress(mailFrom);
                mail.CC.Add(new MailAddress(email.ToLower()));
                mail.Subject = "Thanks for your suggestions! We review and contact back soon";
                string body = "Bạn đã mua những sách sau <br>";
                if (lstItemInCart != null)
                {
                    //add to database
                    Giohangkh hoaDon = new Giohangkh();
                    hoaDon.Makh    = user.Makh;
                    hoaDon.Ngaymua = DateTime.Now;
                    db.Giohangkhs.Add(hoaDon);
                    db.SaveChanges();

                    // add to database and write mail content
                    List <int> tempList = new List <int>();
                    foreach (var item in lstItemInCart)
                    {
                        body     += "- " + item.Product.Tensach + ". Đơn giá: " + item.Product.Dongia + ". Số lượng: " + item.Quantity + " <br>";
                        tongtien += item.Product.Giakm == null ? item.Product.Dongia.Value * item.Quantity : item.Product.Giakm.Value * item.Quantity;
                        tempList.Add(item.Product.Masach);

                        ChiTietGioHang chiTiet = new ChiTietGioHang();
                        chiTiet.GiohangkhID = hoaDon.GiohangkhID;
                        chiTiet.Masach      = item.Product.Masach;
                        chiTiet.Soluong     = item.Quantity;
                        chiTiet.Thanhtien   = item.Product.Giakm == null ? item.Product.Dongia.Value * item.Quantity : item.Product.Giakm.Value * item.Quantity;
                        db.ChiTietGioHangs.Add(chiTiet);
                    }
                    body           += "Tổng tiền thanh toán là: " + tongtien;
                    hoaDon.Tongtien = tongtien;
                    db.SaveChanges();

                    // remove session
                    int[] rmList = tempList.ToArray();
                    foreach (var item in rmList)
                    {
                        var productRemoved = lstItemInCart.Single(x => x.Product.Masach == item);
                        lstItemInCart.Remove(productRemoved);
                    }
                }
                Session["CART_SESSION"] = lstItemInCart;
                mail.Body            = body;
                mail.IsBodyHtml      = true;
                mail.SubjectEncoding = System.Text.Encoding.UTF8;
                mail.BodyEncoding    = System.Text.Encoding.UTF8;
                try
                {
                    client.Send(mail);
                    //isSent = true;
                }
                catch (Exception e)
                {
                }
            }
            #endregion
            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult addCart(int productid, int quantity)
 {
     using (var db = new Context())
     {
         if (checkLogin() == false)
         {
             var    cart    = SanPhamAction.FindSanPham(productid);
             double summary = quantity * cart.gia;
             //var appear = (from a in listcartdetail
             //              where a.masanpham == productid && a.isdeleted == false
             //              select a).ToList();
             if (Session["Cart"] == null)
             {
                 List <ChiTietGioHang> listcartdetail = new List <ChiTietGioHang>();
                 ChiTietGioHang        cartdetail     = new ChiTietGioHang {
                     mactgiohang = listcartdetail.Count + 1, makh = 1, masanpham = productid, soluong = quantity, thanhtien = summary
                 };
                 listcartdetail.Add(cartdetail);
                 Session["Cart"] = listcartdetail;
             }
             else
             {
                 List <ChiTietGioHang> listcartdetail = new List <ChiTietGioHang>();
                 listcartdetail = (List <ChiTietGioHang>)Session["Cart"];
                 var appear = (from a in listcartdetail
                               where a.masanpham == productid && a.isdeleted == false
                               select a).ToList();
                 if (appear.Count == 0)
                 {
                     ChiTietGioHang cartdetail = new ChiTietGioHang {
                         mactgiohang = listcartdetail.Count + 1, makh = 1, masanpham = productid, soluong = quantity, thanhtien = summary
                     };
                     listcartdetail.Add(cartdetail);
                     Session["Cart"] = listcartdetail;
                 }
                 else
                 {
                     foreach (var productappear in listcartdetail)
                     {
                         if (productappear.masanpham == productid)
                         {
                             productappear.soluong   = productappear.soluong + quantity;
                             productappear.thanhtien = productappear.thanhtien + summary;
                         }
                     }
                     Session["Cart"] = listcartdetail;
                 }
             }
         }
         else
         {
             int    userid  = Convert.ToInt32(Session["id"]);
             var    appear  = db.ChiTietGioHang.Where(s => s.masanpham == productid && s.makh == userid).ToList();
             var    cart    = SanPhamAction.FindSanPham(productid);
             double summary = cart.gia * quantity;
             if (appear.Count == 0)
             {
                 ChiTietGioHangAction.addCTGioHang(userid, productid, quantity, summary);
             }
             else
             {
                 ChiTietGioHangAction.DaTonTai(appear[0].mactgiohang, quantity, summary);
             }
         }
         return(RedirectToAction("Feature", "TMDT"));
     }
 }
Beispiel #22
0
        public ActionResult ThanhToan(int?productId, string totalPrice, string tenkhachhang, string sdt, string diachi, string email, string noidung)
        {
            var order = new GioHang();

            order.NgayTao      = DateTime.Now;
            order.IDKhachHang  = Session["UserName"].ToString();
            order.DiaChi       = diachi;
            order.Email        = email;
            order.TenKhachHang = tenkhachhang;
            order.SDTKhachHang = sdt;
            order.NoiDung      = noidung;
            order.status       = true;
            if (Session[CartSession] == null)
            {
                var item = new CartItem();
                item.Product  = _db.products.Find(productId);
                item.Quantity = 1;
                var list = new List <CartItem>();
                list.Add(item);

                Session[CartSession] = list;
            }

            //Lưu ngày đặt hàng, thêm tổng đơn hàng, thêm tổng tiền đã chi
            var user = _db.DangNhaps.Single(x => x.name == tenkhachhang);

            user.buyLastDate  = DateTime.Now;
            user.countOrder  += 1;
            user.amountSpent += float.Parse(totalPrice);
            _db.SaveChanges();
            try
            {
                _db.GioHangs.Add(order);
                _db.SaveChanges();

                var cart = (List <CartItem>)Session[CartSession];
                foreach (var i in cart)
                {
                    var orderDetail = new ChiTietGioHang();
                    orderDetail.IDSanPham = i.Product.id;
                    orderDetail.IDGioHang = order.id;
                    if (i.Product.newprice != null)
                    {
                        orderDetail.Tien = i.Product.newprice * i.Quantity;
                    }
                    else
                    {
                        orderDetail.Tien = i.Product.price * i.Quantity;
                    }

                    orderDetail.SoLuong = i.Quantity;

                    _db.ChiTietGioHangs.Add(orderDetail);
                    _db.SaveChanges();
                }
                //thanh toán thành công thì cho giỏ hàng bằng null
                Session[CartSession] = null;
            }
            catch
            {
                return(Redirect("/loi-thanh-toan"));
            }
            ViewBag.Alert = "Bạn vừa đặt hàng thành công.";
            return(Redirect("/hoan-thanh"));
        }
Beispiel #23
0
        public ActionResult Denied(int?maGH)
        {
            Order order = db.Orders.FirstOrDefault(m => m.OrderID == maGH);

            if (order.MaKH != 3)
            {
                KhachHang khachHang = db.KhachHangs.Find(order.MaKH);
                khachHang.DiemTichLuy -= order.TongTien / 1000;
                db.SaveChanges();
                if (khachHang.DiemTichLuy >= 1000000)
                {
                    khachHang.MaLoaiKH = 5;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 100000)
                {
                    khachHang.MaLoaiKH = 4;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 10000)
                {
                    khachHang.MaLoaiKH = 3;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 1000)
                {
                    khachHang.MaLoaiKH = 2;
                    db.SaveChanges();
                }
                else
                {
                    khachHang.MaLoaiKH = 1;
                    db.SaveChanges();
                }
            }



            var chiTietGioHang = db.ChiTietGioHangs.Where(s => s.OrderID == maGH).ToList();

            foreach (var item in chiTietGioHang)
            {
                SanPham sanPham = db.SanPhams.Find(item.MaSanPham);
                sanPham.SoLuong   = sanPham.SoLuong + item.SoLuong;
                sanPham.TinhTrang = "Hiển Thị";
                db.SaveChanges();

                HuyDonHang huyDonHang = new HuyDonHang();
                huyDonHang.MaDonHang   = order.OrderID.ToString();
                huyDonHang.MaKH        = order.MaKH;
                huyDonHang.TongTien    = order.TongTien;
                huyDonHang.NgayXacNhan = DateTime.Parse(DateTime.Now.ToShortDateString());
                huyDonHang.TinhTrang   = "Đã Từ Chối";
                db.HuyDonHangs.Add(huyDonHang);
                db.SaveChanges();

                ChiTietDonHangHuy chiTietDonHangHuy = new ChiTietDonHangHuy();
                chiTietDonHangHuy.MaHuyDon  = huyDonHang.MaHuyDon;
                chiTietDonHangHuy.MaSanPham = item.MaSanPham;
                chiTietDonHangHuy.SoLuong   = item.SoLuong;
                chiTietDonHangHuy.TinhTrang = "Đã Từ Chối";
                db.ChiTietDonHangHuys.Add(chiTietDonHangHuy);
                db.SaveChanges();

                ChiTietGioHang chiTietGioHangXoa = db.ChiTietGioHangs.FirstOrDefault(m => m.OrderID == maGH);
                db.ChiTietGioHangs.Remove(chiTietGioHangXoa);
                db.SaveChanges();
            }

            Order deleteOrder = db.Orders.Find(maGH);

            db.Orders.Remove(deleteOrder);
            db.SaveChanges();


            return(RedirectToAction("Index"));
        }
Beispiel #24
0
        public ActionResult ConfirmPayment(double?accountNumber, double?total)
        {
            List <CartItem> lstCart = (List <CartItem>)Session[CartSession];
            var             acc     = _db.AccountPayments.Where(x => x.accountNumber == accountNumber).SingleOrDefault();

            //Chuyển thành chuỗi để băm
            string str_cart = acc.accountName + " " + acc.accountNumber + " " + acc.accountBalance;

            foreach (var item in lstCart)
            {
                str_cart += item.Product;
                str_cart += item.Quantity;
            }

            //Băm chuối
            BigInteger arrayhash = sig.HamBam(str_cart);


            //mã hóa chuỗi
            string encrypt_message = sig.Encrypt_MD5(arrayhash.ToString());

            BigInteger pri_key = BigInteger.Parse(sig.Decrypt_MD5(acc.pri_key));

            //Sinh chữ ký
            List <BigInteger> lstRS = sig.SinhChuKy(BigInteger.Parse(acc.so_p), BigInteger.Parse(acc.so_t), BigInteger.Parse(acc.so_q), pri_key, encrypt_message);

            //sinh khóa công khai
            BigInteger pub_key = sig.publicKey(pri_key, BigInteger.Parse(acc.so_p.Trim()), BigInteger.Parse(acc.so_t.Trim()));

            //Gửi xác thực chữ ký
            var res = new AccountPaymentDAO().KiemTraChuKy(encrypt_message, lstRS[0], lstRS[1], pub_key, BigInteger.Parse(acc.so_p.Trim()));

            if (!res)//Bản tin đã bị thay đổi
            {
                return(Redirect("/thanh-toan-loi"));
            }
            else
            {
                //Lưu hóa đơn
                var order = new GioHang();
                order.TenKhachHang = acc.accountName;
                order.NgayTao      = DateTime.Now;
                order.NoiDung      = "Ok";
                order.PayFormat    = 2;
                order.SDTKhachHang = acc.phone;
                order.status       = true;
                try
                {
                    _db.GioHangs.Add(order);
                    _db.SaveChanges();

                    //Lưu vào chi tiết hóa đơn
                    var cart = (List <CartItem>)Session[CartSession];
                    foreach (var i in cart)
                    {
                        var orderDetail = new ChiTietGioHang();
                        orderDetail.IDSanPham = i.Product.id;
                        orderDetail.IDGioHang = order.id;
                        if (i.Product.newprice != null)
                        {
                            orderDetail.Tien = i.Product.newprice * i.Quantity;
                        }
                        else
                        {
                            orderDetail.Tien = i.Product.price * i.Quantity;
                        }

                        orderDetail.SoLuong = i.Quantity;

                        _db.ChiTietGioHangs.Add(orderDetail);
                        _db.SaveChanges();
                    }
                    //thanh toán thành công thì cho giỏ hàng bằng null
                    Session[CartSession] = null;
                }
                catch
                {
                    return(Redirect("/thanh-toan-loi"));
                }

                //Trừ tiền trong tài khoản thanh toán
                acc.accountBalance -= total;

                //Cộng tiền cho admin
                var admin = _db.AccountPayments.Find(1);
                admin.accountBalance += total;
                _db.SaveChanges();

                return(Redirect("/thanh-toan-thanh-cong"));
            }
        }
 public ActionResult Login(string email, string password)
 {
     using (var db = new Context())
     {
         var login = (from a in db.KhachHang
                      where a.email == email && a.matkhau == password
                      select a).ToList();
         if (login.Count() != 0)
         {
             var quyen = (from a in db.KhachHang
                          where a.email == email && a.matkhau == password
                          select a.quyen).FirstOrDefault();
             var id = (from a in db.KhachHang
                       where a.email == email && a.matkhau == password
                       select a.makh).FirstOrDefault();
             var ten = (from a in db.KhachHang
                        where a.email == email && a.matkhau == password
                        select a.ten).FirstOrDefault();
             Session.Add("id", id.ToString());
             Session.Add("taikhoan", email);
             Session.Add("matkhau", password);
             Session.Add("quyen", quyen.ToString());
             Session.Add("ten", ten.ToString());
             var appear = (from a in db.GioHang
                           where a.makh == id
                           select a).ToList();
             var appearproduct = ChiTietGioHangAction.ListCTGioHang();
             if (Session["Cart"] != null)
             {
                 if (appear.Count == 0)
                 {
                     GioHangAction.addGioHang(id, ten);
                     List <ChiTietGioHang> addCart = new List <ChiTietGioHang>();
                     addCart = (List <ChiTietGioHang>)Session["Cart"];
                     foreach (var a in addCart)
                     {
                         foreach (var b in appearproduct)
                         {
                             if (a.mactgiohang != b.mactgiohang)
                             {
                                 ChiTietGioHangAction.addCTGioHang(id, a.masanpham, a.soluong, a.thanhtien);
                             }
                             else
                             {
                                 ChiTietGioHangAction.DaTonTai(a.mactgiohang, a.soluong, a.thanhtien);
                             }
                         }
                     }
                     Session.Remove("Cart");
                 }
                 else
                 {
                     List <ChiTietGioHang> addCart = new List <ChiTietGioHang>();
                     addCart = (List <ChiTietGioHang>)Session["Cart"];
                     ChiTietGioHang findproduct = new ChiTietGioHang();
                     foreach (var a in addCart)
                     {
                         foreach (var b in appearproduct)
                         {
                             if (b.makh == id && b.masanpham == a.masanpham)
                             {
                                 findproduct = new ChiTietGioHang {
                                     mactgiohang = b.mactgiohang, makh = b.makh, masanpham = b.masanpham, soluong = b.soluong, thanhtien = b.thanhtien
                                 };
                             }
                         }
                         if (findproduct.masanpham == 0)
                         {
                             ChiTietGioHangAction.addCTGioHang(id, a.masanpham, a.soluong, a.thanhtien);
                         }
                         else if (findproduct != null)
                         {
                             ChiTietGioHangAction.DaTonTai(findproduct.mactgiohang, a.soluong, a.thanhtien);
                         }
                     }
                     Session.Remove("Cart");
                 }
             }
             else
             {
                 if (appear.Count == 0)
                 {
                     GioHangAction.addGioHang(id, ten);
                 }
             }
             if (quyen.ToString() == "User")
             {
                 return(RedirectToAction("Home", "TMDT"));
             }
             else
             {
                 return(RedirectToAction("DashBoard", "TMDT"));
             }
         }
         else
         {
             TempData["ErrorLogin"] = "******";
             return(RedirectToAction("Login", "TMDT"));
         }
     }
 }
Beispiel #26
0
 public void Them(ChiTietGioHang ct)
 {
     db.ChiTietGioHangs.Add(ct);
     db.SaveChanges();
 }
Beispiel #27
0
        public ActionResult SuccessView()
        {
            List <GioHang> gioHangs = Session["cart"] as List <GioHang>;
            var            result   = from g in gioHangs
                                      join k in db.KhachHangs on g.MaKH equals k.MaKH
                                      join s in db.SanPhams on g.MaSanPham equals s.MaSanPham
                                      select new Tmp4
            {
                Ngay       = Session["OrderTime"].ToString(),
                TenSanPham = s.TenSanPham,
                SoLuong    = g.SoLuong,
                DonGia     = s.GiaBan,
                ThanhTien  = s.GiaBan * g.SoLuong,
                Hinh       = s.Hinh,
                MaSanPham  = s.MaSanPham
            };

            if (Session["TotalMoney"] == null)
            {
                int total = 0;
                foreach (var money in result)
                {
                    total = total + money.ThanhTien;
                }

                if (Session["voucher"] == null)
                {
                    total += 23000;
                    Session["TotalMoney"] = total;
                }
                else
                {
                    Session["TotalMoney"] = total;
                }
            }
            ViewData["data"] = result;


            string tmp1 = Session["TotalMoney"].ToString();
            int    tmp  = int.Parse(tmp1);

            if (Session["kh"] == null)
            {
                ECommerce.Models.Order order = new ECommerce.Models.Order {
                    MaKH = 3, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "PayPal"
                };
                db.Orders.Add(order);
                db.SaveChanges();
                foreach (var item in gioHangs)
                {
                    ChiTietGioHang chiTietGioHang = new ChiTietGioHang {
                        MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID
                    };
                    db.ChiTietGioHangs.Add(chiTietGioHang);
                    db.SaveChanges();

                    SanPham sanPham = db.SanPhams.Find(item.MaSanPham);
                    sanPham.SoLuong = sanPham.SoLuong - item.SoLuong;
                    db.SaveChanges();

                    if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot")
                    {
                        sanPham.TinhTrang = "Không Hiển Thị";
                        db.SaveChanges();
                    }
                }
            }
            else
            {
                string kh   = Session["UserID"].ToString();
                int    maKH = int.Parse(kh);
                ECommerce.Models.Order order = new ECommerce.Models.Order {
                    MaKH = maKH, TongTien = tmp, NgayDatHang = DateTime.Parse(Session["OrderTime"].ToString()), DiaChi = "PayPal", SDT = "PayPal", HoTen = "Payment with PayPal"
                };
                db.Orders.Add(order);
                db.SaveChanges();

                KhachHang khachHang = db.KhachHangs.Find(maKH);
                khachHang.DiemTichLuy += tmp / 1000;
                db.SaveChanges();

                if (khachHang.DiemTichLuy >= 1000000)
                {
                    khachHang.MaLoaiKH = 5;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 100000)
                {
                    khachHang.MaLoaiKH = 4;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 10000)
                {
                    khachHang.MaLoaiKH = 3;
                    db.SaveChanges();
                }
                else if (khachHang.DiemTichLuy >= 1000)
                {
                    khachHang.MaLoaiKH = 2;
                    db.SaveChanges();
                }
                else
                {
                    khachHang.MaLoaiKH = 1;
                    db.SaveChanges();
                }

                foreach (var item in gioHangs)
                {
                    ChiTietGioHang chiTietGioHang = new ChiTietGioHang {
                        MaSanPham = item.MaSanPham, SoLuong = item.SoLuong, OrderID = order.OrderID
                    };
                    db.ChiTietGioHangs.Add(chiTietGioHang);
                    db.SaveChanges();

                    SanPham sanPham = db.SanPhams.Find(item.MaSanPham);
                    sanPham.SoLuong = sanPham.SoLuong - item.SoLuong;
                    db.SaveChanges();

                    if (sanPham.SoLuong == 0 & sanPham.TinhTrang != "Sản Phẩm Hot")
                    {
                        sanPham.TinhTrang = "Không Hiển Thị";
                        db.SaveChanges();
                    }
                }
            }
            ViewBag.total = tmp;
            ViewBag.ds    = gioHangs;

            Session.Remove("cart");
            Session.Remove("TotalMoney");
            if (Session["voucher"] != null)
            {
                Session.Remove("voucher");
            }
            return(View());
        }
Beispiel #28
0
        public ActionResult ConfirmPayment(double?accountNumber, double?total)
        {
            List <CartItem> lstCart = (List <CartItem>)Session[CartSession];
            var             acc     = _db.AccountPayments.Where(x => x.accountNumber == accountNumber).SingleOrDefault();

            byte[] arrayhash;

            //Chuyển thành chuỗi để băm
            string str_cart = String.Join("", lstCart);

            //Băm chuối
            arrayhash = sig.hash(str_cart);
            string str_arrayhash = "";

            foreach (byte a in arrayhash)
            {
                str_arrayhash += a.ToString();
            }

            //mã hóa chuỗi
            string encrypt_message = sig.Encrypt_MD5(str_arrayhash);

            //Tạo chữ ký
            List <long> mang1 = new List <long>();

            foreach (byte k in arrayhash)
            {
                long i = Convert.ToInt64(k);
                long j = sig.TINHA(i, Convert.ToInt64(sig.Decrypt_MD5(acc.pri_key)), Convert.ToInt64(acc.so_n));
                mang1.Add(j);
            }
            //Chuyển thành chuỗi để truyền đi
            string str_signal = "";

            foreach (long k in mang1)
            {
                str_signal += k.ToString() + ' ';
            }

            //Gửi xác thực chữ ký
            var res = new AccountPaymentDAO().CheckSignal(encrypt_message, str_signal, Convert.ToInt64(acc.so_n), Convert.ToInt64(acc.so_e));

            if (res == 0)//Bản tin đã bị thay đổi
            {
                return(Redirect("/thanh-toan-loi"));
            }
            else
            {
                //Lưu hóa đơn
                var order = new GioHang();
                order.TenKhachHang = acc.accountName;
                order.NgayTao      = DateTime.Now;
                order.NoiDung      = "Ok";
                order.PayFormat    = 2;
                order.SDTKhachHang = acc.phone;
                order.status       = true;
                try
                {
                    _db.GioHangs.Add(order);
                    _db.SaveChanges();

                    //Lưu vào chi tiết hóa đơn
                    var cart = (List <CartItem>)Session[CartSession];
                    foreach (var i in cart)
                    {
                        var orderDetail = new ChiTietGioHang();
                        orderDetail.IDSanPham = i.Product.id;
                        orderDetail.IDGioHang = order.id;
                        if (i.Product.newprice != null)
                        {
                            orderDetail.Tien = i.Product.newprice * i.Quantity;
                        }
                        else
                        {
                            orderDetail.Tien = i.Product.price * i.Quantity;
                        }

                        orderDetail.SoLuong = i.Quantity;

                        _db.ChiTietGioHangs.Add(orderDetail);
                        _db.SaveChanges();
                    }
                    //thanh toán thành công thì cho giỏ hàng bằng null
                    Session[CartSession] = null;
                }
                catch
                {
                    return(Redirect("/thanh-toan-loi"));
                }

                //Trừ tiền trong tài khoản thanh toán
                acc.accountBalance -= total;

                //Cộng tiền cho admin
                var admin = _db.AccountPayments.Find(1);
                admin.accountBalance += total;
                _db.SaveChanges();

                return(Redirect("/nhap-ma-otp-token"));
            }
        }