Пример #1
0
        public async Task Create(PhieuDatHangViewModel obj)
        {
            PhieuDatHang order = new PhieuDatHang
            {
                SoPhieuDatHang    = obj.soPhieuDatHang,
                NgayDat           = obj.ngayDat,
                NgayGiao          = obj.ngayGiao,
                MaNhanVien        = obj.maNhanVien,
                TenKhachHang      = obj.tenKhachHang,
                SoDienThoai       = obj.soDienThoai,
                Email             = obj.email,
                HinhThucThanhToan = obj.hinhThucThanhToan,
                Ghichu            = obj.ghiChu,
                DaXacNhan         = obj.daXacNhan,
                DaThanhToan       = obj.daThanhToan,
                Diachi            = obj.diaChi,
                TrangThai         = true,
                NgayChinhSua      = DateTime.Now
            };

            order.ChiTetPhieuDatHangs = new List <ChiTietPhieuDatHang>();

            foreach (var i in obj.chiTietPhieuDatHang)
            {
                order.ChiTetPhieuDatHangs.Add(i);
            }

            await _phieuDatHangRepo.InsertAsync(order);
        }
Пример #2
0
        public async Task Update(PhieuDatHangViewModel model, PhieuDatHang phieu)
        {
            PhieuDatHang edit = phieu;

            phieu.DaXacNhan    = model.daXacNhan;
            phieu.DaThanhToan  = model.daThanhToan;
            phieu.NgayChinhSua = DateTime.Now;
            phieu.TrangThai    = model.trangThai;

            await _phieuDatHangRepo.EditAsync(edit);
        }
Пример #3
0
        public async Task <ActionResult> ThanhToan(PhieuDatHangViewModel datHang)
        {
            var phieuDatHang = new PhieuDatHang();

            phieuDatHang.NgayDat           = DateTime.Now;
            phieuDatHang.TenKhachHang      = datHang.tenKhachHang;
            phieuDatHang.SoDienThoai       = datHang.soDienThoai;
            phieuDatHang.Diachi            = datHang.diaChi;
            phieuDatHang.Email             = datHang.email;
            phieuDatHang.HinhThucThanhToan = datHang.hinhThucThanhToan;
            phieuDatHang.Ghichu            = datHang.ghiChu;
            phieuDatHang.NgayChinhSua      = DateTime.Now;
            phieuDatHang.DaThanhToan       = false;
            phieuDatHang.DaXacNhan         = false;
            phieuDatHang.TrangThai         = true;

            try
            {
                var     soPhieuBanHang = _phieuDatHangBus.Insert(phieuDatHang);
                var     cart           = (List <PhieuDatHangViewModel>)Session[CartSession];
                decimal total          = 0;
                foreach (var item in cart)
                {
                    var chiTietPhieuDatHang = new ChiTietPhieuDatHang();
                    chiTietPhieuDatHang.MaHangHoa      = item.maHangHoa;
                    chiTietPhieuDatHang.SoPhieuDatHang = soPhieuBanHang;
                    chiTietPhieuDatHang.SoLuong        = item.soLuong;
                    if (item.giamGia <= 0)
                    {
                        chiTietPhieuDatHang.Gia       = item.giaBan;
                        chiTietPhieuDatHang.ThanhTien = item.giaBan * item.soLuong;
                        total += (item.giaBan * item.soLuong);
                    }
                    else
                    {
                        chiTietPhieuDatHang.Gia       = item.giamGia;
                        chiTietPhieuDatHang.ThanhTien = item.giamGia * item.soLuong;
                        total += (item.giamGia * item.soLuong);
                    }

                    _chiTietPhieuDatHangBus.Insert(chiTietPhieuDatHang);
                }
                phieuDatHang.TongTien = total;
                _phieuDatHangBus.UpdateTongTien(phieuDatHang);
            }
            catch (Exception)
            {
                SetAlert("Đã xảy ra lỗi trong quá trình đặt hàng! Vui lòng thực hiện lại!!!", "error");
                return(RedirectToAction("ThanhToan"));
            }
            Session[CartSession] = null;
            return(RedirectToAction("ThongBaoThanhCong"));
        }
Пример #4
0
        public ActionResult DatHang(int maHangHoa, int soLuong)
        {
            // Kiểm tra Session cart xem có sản phẩm không
            // Nếu có thì chỉ tăng số lượng
            var product = _hangHoaBus.ViewDetail(maHangHoa);
            var cart    = Session[CartSession];

            if (cart != null)
            {
                var list = (List <PhieuDatHangViewModel>)cart;
                if (list.Exists(x => x.maHangHoa == maHangHoa))
                {
                    foreach (var item in list)
                    {
                        if (item.maHangHoa == maHangHoa)
                        {
                            item.soLuong += soLuong;
                        }
                    }
                }
                else
                {
                    //tạo mới đối tượng cart item
                    var item = new PhieuDatHangViewModel();
                    item.maHangHoa  = product.MaHangHoa;
                    item.soLuong    = soLuong;
                    item.tenHangHoa = product.TenHangHoa;
                    item.hinhAnh    = product.HinhAnh;
                    item.giaBan     = product.GiaBan;
                    item.giamGia    = product.GiamGia;
                    list.Add(item);
                }
                //Gán vào session
                Session[CartSession] = list;
            }
            else
            {
                //tạo mới đối tượng cart item
                var item = new PhieuDatHangViewModel();
                item.maHangHoa  = product.MaHangHoa;
                item.soLuong    = soLuong;
                item.tenHangHoa = product.TenHangHoa;
                item.hinhAnh    = product.HinhAnh;
                item.giaBan     = product.GiaBan;
                item.giamGia    = product.GiamGia;
                var list = new List <PhieuDatHangViewModel>();
                list.Add(item);
                //Gán vào session
                Session[CartSession] = list;
            }
            return(RedirectToAction("Index"));
        }