//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(); }
//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 }