コード例 #1
0
        //Phương thức thanh toán
        void ThanhToan(object sender, EventArgs e)
        {
            //Lấy thông tin
            BanHangThanhToanPresentation wpf = (BanHangThanhToanPresentation)sender;

            _hoaDon.TienKhachTra_HD     = wpf._hoaDon.TienKhachTra_HD;
            _hoaDon.VouCher_HD          = wpf._hoaDon.VouCher_HD;
            _hoaDon.MaGiamGia           = wpf._hoaDon.MaGiamGia;
            _hoaDon.TienMaGiamGia       = wpf._hoaDon.TienMaGiamGia;
            _hoaDon.TienThuaTraLaiKhach = wpf._hoaDon.TienThuaTraLaiKhach;
            _hoaDon.DangDung_HD         = true;

            //Tính lại tiền

            TongTien();

            //Lưu lại phiên bán hàng
            BanHangBusiness.BanHang(_hoaDon, _dsSPMua, true);

            //In hóa đơn
            bool _InHoaDon = wpf._InHoaDon;

            if (_InHoaDon)
            {
                //Chuẩn bị dữ liệu
                Pos_ds    _Pos_ds        = new Pos_ds();
                DataTable _dtHoaDonBanLe = _Pos_ds.tbl_HOADON;
                DataRow   _drHoaDonBanLe;

                foreach (SanPhamPublic _spHoaDon in _dsSPMua)
                {
                    _drHoaDonBanLe                 = _dtHoaDonBanLe.NewRow();
                    _drHoaDonBanLe["MaSP_SP"]      = _spHoaDon.MaSP_SP;
                    _drHoaDonBanLe["TenSP_SP"]     = _spHoaDon.TenSP_SP;
                    _drHoaDonBanLe["GiaBan_SP"]    = _spHoaDon.GiaBan;
                    _drHoaDonBanLe["DVT_SP"]       = _spHoaDon.DVT_SP.TenDVT_DVT;
                    _drHoaDonBanLe["SoLuong_SP"]   = _spHoaDon.SoLuong_SP;
                    _drHoaDonBanLe["ChietKhau_SP"] = _spHoaDon.CKTienMat;
                    _drHoaDonBanLe["ThanhTien_SP"] = _spHoaDon.ThanhTien_SP;

                    _dtHoaDonBanLe.Rows.Add(_drHoaDonBanLe);
                }
                _hoaDon.TongSoLuongSP = _dsSPMua.Sum(item => item.SoLuong_SP);

                HoaDonBanLe_UPresentation wpf_HoaDon = new HoaDonBanLe_UPresentation();
                wpf_HoaDon._status_para = "Bản gốc";
                wpf_HoaDon._dtHoaDon    = _dtHoaDonBanLe;
                wpf_HoaDon._hoaDon      = _hoaDon;
                wpf_HoaDon.ShowDialog();
            }

            //Khởi tạo lại dữ liệu
            _dsSPMua.Clear();
            KhoiTaoDuLieu();
            TongTien();
            txtMaHang.Focus();

            //Xóa thông tin khách hàng vừa mua
            gdKhachHang.Children.Clear();
        }
コード例 #2
0
        //Phương thức thanh toán - trả sp
        private void ThanhToanTraSp(object sender, EventArgs e)
        {
            #region 1.Lấy thông tin

            #endregion

            #region 2. Hủy hóa đơn cũ
            if (_hoaDon != null)
            {
                TraHangBusiness.HuyHoaDon(_hoaDon);
            }
            else
            {
                MessageBox.Show("Hóa đơn hủy rỗng!");
            }
            #endregion

            #region 3.Lưu lịch sử bán hàng

            LichSuBanHangPublic _lsbh = new LichSuBanHangPublic();
            _lsbh.MaLSBH_LSBH           = UntilitiesBusiness.GetNextID("tbl_LICHSUBANHANG", "MaLSBH_LSBH", "LS.", 10);
            _lsbh.NhanVienThucHien_LSBH = _NhanVien;
            _lsbh.SoHD_LSBH.SoHD_HD     = _hoaDon.SoHD_HD;
            _lsbh.MoTa_LSBH             = "Khách trả hàng";
            _lsbh.ThoiGian_LSBH         = DateTime.Now;

            LichSuBanHangBusiness.ThemLichSuBanHang(_lsbh);
            #endregion

            #region 4.Tạo hóa đơn mới nếu còn hàng

            if (_lstHangMua == null)
            {
                goto go;
            }
            if (_lstHangMua.Count == 0)
            {
                goto go;
            }

            //Tạo hóa đơn mới
            _hoaDonMoi.SoHD_HD             = UntilitiesBusiness.GetNextID("tbl_HOADON", "SoHD_HD", "HD.", 10);
            _hoaDonMoi.NgayLap_HD          = DateTime.Now;
            _hoaDonMoi.KhachHang_HD        = _hoaDon.KhachHang_HD;
            _hoaDonMoi.NguoiLap_HD         = _NhanVien;
            _hoaDonMoi.MaGiamGia.MaThe_MGG = _hoaDon.MaGiamGia.MaThe_MGG;
            _hoaDonMoi.BanLe_HD            = _hoaDon.BanLe_HD;
            _hoaDonMoi.DangDung_HD         = true;

            ////Tạo danh sách hàng mua cho hóa đơn mới
            List <SanPhamPublic> _lstSpMua = new List <SanPhamPublic>();
            SanPhamPublic        _sp;
            foreach (HangMuaPubLic _hm in _lstHangMua)
            {
                _sp                   = new SanPhamPublic();
                _sp.MaSP_SP           = _hm.SanPham.MaSP_SP;
                _sp.TenSP_SP          = _hm.SanPham.TenSP_SP;
                _sp.SoLuong_SP        = _hm.SoLuong;
                _sp.CKPhanTram_SP     = _hm.ChietKhauPhanTram;
                _sp.CKTienMat         = _hm.ChietKhauTienMat;
                _sp.GiaNhap_SP        = _hm.GiaNhap_HM;
                _sp.GiaBan            = _hm.GiaBan_HM;
                _sp.DVT_SP.TenDVT_DVT = _hm.SanPham.DVT_SP.TenDVT_DVT;
                _sp.ThanhTien_SP      = UntilitiesBusiness.ThemDauPhay(_hm.ThanhTien.ToString());

                _lstSpMua.Add(_sp);
            }

            ////Lưu hóa đơn mới
            BanHangBusiness.BanHang(_hoaDonMoi, _lstSpMua, false);

            ////Lưu lịch sử bán hàng
            //_lsbh = new LichSuBanHangPublic();
            //_lsbh.MaLSBH_LSBH = UntilitiesBusiness.GetNextID("tbl_LICHSUBANHANG", "MaLSBH_LSBH", "LS.", 10);
            //_lsbh.NhanVienThucHien_LSBH = _NhanVien;
            //_lsbh.SoHD_LSBH.SoHD_HD = _hoaDonMoi.SoHD_HD;
            //_lsbh.MoTa_LSBH = "Khách mua hàng";
            //_lsbh.ThoiGian_LSBH = DateTime.Now;

            //LichSuBanHangBusiness.ThemLichSuBanHang(_lsbh);

            //In hóa đơn mới nếu có
            //Chuẩn bị dữ liệu
            Pos_ds    _Pos_ds        = new Pos_ds();
            DataTable _dtHoaDonBanLe = _Pos_ds.tbl_HOADON;
            DataRow   _drHoaDonBanLe;

            foreach (SanPhamPublic _spHoaDon in _lstSpMua)
            {
                _drHoaDonBanLe                 = _dtHoaDonBanLe.NewRow();
                _drHoaDonBanLe["MaSP_SP"]      = _spHoaDon.MaSP_SP;
                _drHoaDonBanLe["TenSP_SP"]     = _spHoaDon.TenSP_SP;
                _drHoaDonBanLe["GiaBan_SP"]    = _spHoaDon.GiaBan;
                _drHoaDonBanLe["DVT_SP"]       = _spHoaDon.DVT_SP.TenDVT_DVT;
                _drHoaDonBanLe["SoLuong_SP"]   = _spHoaDon.SoLuong_SP;
                _drHoaDonBanLe["ChietKhau_SP"] = _spHoaDon.CKTienMat;
                _drHoaDonBanLe["ThanhTien_SP"] = _spHoaDon.ThanhTien_SP;

                _dtHoaDonBanLe.Rows.Add(_drHoaDonBanLe);
            }
            _hoaDonMoi.TongSoLuongSP = _lstSpMua.Sum(item => item.SoLuong_SP);

            HoaDonBanLe_UPresentation wpf_HoaDon = new HoaDonBanLe_UPresentation();
            wpf_HoaDon._dtHoaDon = _dtHoaDonBanLe;
            wpf_HoaDon._hoaDon   = _hoaDonMoi;
            wpf_HoaDon.ShowDialog();

            #endregion

go:
            #region 5.Khởi tạo lại dữ liệu: danh sách hàng trả hàng mua

            _lstHangMua.Clear();
            _lstHangTra.Clear();
            _hoaDon    = null;
            _hoaDonMoi = null;

            //Hiển thị
            dgHangMua.ItemsSource = _lstHangMua;
            dgHangMua.Items.Refresh();
            libHangTra.ItemsSource = _lstHangTra;
            libHangTra.Items.Refresh();

            lbSoHD.Content      = "";
            lbNgayLap.Content   = "";
            lbNhanVien.Content  = "";
            lbKhachHang.Content = "";

            lbTongTien.Content  = "0";
            lbTongCkSP.Content  = "0";
            lbTongCKHD.Content  = "0";
            lbVoucher.Content   = "0";
            lbMaGiamGia.Content = "0";
            lbThanhTien.Content = "0";

            btnThanhToan.IsEnabled  = false;
            btnTiepTucMua.IsEnabled = false;

            btnHoDon.IsEnabled = true;

            txtSoHD.Focus();
            #endregion
        }