//wpf loaded private void Window_Loaded(object sender, RoutedEventArgs e) { //Lấy thông tin sp trong hệ thống _dtSPSua = BanHangBusiness.LaySpTheoMa(_sp.MaSP_SP).Tables[0]; if (_dtSPSua.Rows.Count == 0) { MessageBox.Show("Lỗi: Không tìm thấy sp trong hệ thống!"); this.Close(); } //Hiển thị lbTenSP.Content = _sp.TenSP_SP; lbGiaBan.Content = _sp.GiaBan; lbDonVi.Content = _sp.DVT_SP.TenDVT_DVT; txtSoLuong.Text = _sp.SoLuong_SP.ToString(); txtCKTienMat.Text = _sp.CKTienMat; txtSoLuong.Focus(); txtSoLuong.SelectAll(); //Bật tắt chiết khấu sản phẩm ThietLapHeThongPublic _thietLap = ThietLapHeThongBusiness.LayThietLapHeThong(); txtCKTienMat.IsEnabled = _thietLap.ChietKhauSanPham; TongTien(); }
//Timfm kiếm sản phẩm private void TimKiemSP(object sender, EventArgs e) { NhapMua_TimKiemSPPresentation wpf_tim = (NhapMua_TimKiemSPPresentation)sender; List <SanPhamPublic> _lstSPTim = wpf_tim._ListSPChon; if (_lstSPTim.Count > 0) { foreach (SanPhamPublic _sp in _lstSPTim) { //Kiểm tra xem trong hệ thống có sản phẩm này không? DataTable _dtSp = BanHangBusiness.LaySpTheoMa(_sp.MaSP_SP).Tables[0];//Chứa toàn bộ sản phẩm của hệ thống if (_dtSp.Rows.Count == 0) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Mã sản phẩm không tồn tại. Vui lòng kiểm tra lại!"; txtMaHang.Focus(); txtMaHang.SelectAll(); return; } //Kiểm tra số lượng hàng có đủ ko? int _SoLuongCon = Convert.ToInt32(_dtSp.Rows[0]["SoLuong_SP"].ToString()); if (_SoLuongCon < 1) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Hết sản phẩm."; txtMaHang.Focus(); txtMaHang.SelectAll(); return; } _dtSp.Dispose(); ThemHangVaoDsHangMua(_sp.MaSP_SP); } //Hiển thị giỏ hàng dgDanhSachSanPham.ItemsSource = _dsSPMua; dgDanhSachSanPham.Items.Refresh(); //Tính tổng tiền hóa đơn TongTien(); //Đặt con trỏ vào ô nhập mã hàng khác txtMaHang.Focus(); txtMaHang.Text = ""; btnThanhToan.IsEnabled = true; btnChietKhau.IsEnabled = true; btnHuy.IsEnabled = true; } }
//Kiểm tra mã hàng nhập vào private bool KiemTraSP(string _MaSp) { //Kiểm tra xem mã có hợp lệ không(Mã chỉ chứa chữ cái, dấu chấm và dấu gạch dưới) string _checkMaSp = @"^([a-zA-Z0-9._]+)$"; if (!Regex.IsMatch(_MaSp, _checkMaSp)) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Mã sản phẩm không hợp lệ!"; txtMaHang.Focus(); txtMaHang.SelectAll(); return(false); } //Kiểm tra xem trong hệ thống có sản phẩm này không? DataTable _dtSp = BanHangBusiness.LaySpTheoMa(_MaSp).Tables[0];//Chứa toàn bộ sản phẩm của hệ thống if (_dtSp.Rows.Count == 0) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Mã sản phẩm không tồn tại. Vui lòng kiểm tra lại!"; txtMaHang.Focus(); txtMaHang.SelectAll(); return(false); } //Kiểm tra số lượng hàng có đủ ko? int _SoLuongCon = Convert.ToInt32(_dtSp.Rows[0]["SoLuong_SP"].ToString()); if (_SoLuongCon < 1) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Hết sản phẩm."; txtMaHang.Focus(); txtMaHang.SelectAll(); return(false); } _dtSp.Dispose(); lbWarning.Visibility = System.Windows.Visibility.Hidden; return(true); }
//Thêm hàng vào danh sách hàng mua private void ThemHangVaoDsHangMua(string _MaSP) { //Lấy thông tin sp SanPhamPublic _sp = new SanPhamPublic(); DataTable _dtSp = BanHangBusiness.LaySpTheoMa(_MaSP).Tables[0]; DataView _dvSP = new DataView(_dtSp); _dvSP.Sort = "MaSP_SP"; int _index = _dvSP.Find(_MaSP); if (_index == -1) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Mã sản phẩm không tồn tại. Vui lòng kiểm tra lại!"; txtMaHang.Focus(); txtMaHang.SelectAll(); return; } int _soLuongConTrongKho = Convert.ToInt32(_dvSP[_index]["SoLuong_SP"].ToString()); _sp.STT = _dsSPMua.Count + 1; _sp.MaSP_SP = _dvSP[_index]["MaSP_SP"].ToString(); _sp.TenSP_SP = _dvSP[_index]["TenSP_SP"].ToString(); _sp.GiaNhap_SP = _dvSP[_index]["GiaNhap_SP"].ToString(); _sp.GiaBanLe_SP = _dvSP[_index]["GiaBanLe_SP"].ToString(); _sp.GiaBanSi_SP = _dvSP[_index]["GiaBanSi_SP"].ToString(); _sp.NCC_SP.MaNCC_NCC = _dvSP[_index]["MaNCC_SP"].ToString(); _sp.NSP_SP.MaNSP_NSP = _dvSP[_index]["MaNSP_SP"].ToString(); _sp.DVT_SP.MaDVT_DVT = _dvSP[_index]["MaDVT_SP"].ToString(); _sp.DVT_SP.TenDVT_DVT = _dvSP[_index]["TenDVT_DVT"].ToString(); _sp.GhiChu_SP = _dvSP[_index]["GhiChu_SP"].ToString(); _sp.SoLuong_SP = 1; _sp.CKPhanTram_SP = Convert.ToInt32(_dvSP[_index]["CKPhanTram_SP"].ToString()); _sp.Anh_SP = _dvSP[_index]["Anh_SP"].ToString(); _sp.NgayTao_SP = Convert.ToDateTime(_dvSP[_index]["NgayTao_SP"].ToString()); //Thêm hàng vào giỏ hàng if (_dsSPMua.Count == 0)//trong giỏ chưa có sp nào { //Tắt kiểu bán - 1 hóa đơn chỉ 1 kiểu bán rdBanLe.IsEnabled = false; rdBanBuon.IsEnabled = false; _hoaDon.BanLe_HD = rdBanLe.IsChecked == true ? true : false; //Tính thành tiền sp _sp.GiaBan = UntilitiesBusiness.ThemDauPhay(_hoaDon.BanLe_HD == true ? _sp.GiaBanLe_SP : _sp.GiaBanSi_SP); int _giaBan = Convert.ToInt32(UntilitiesBusiness.BoDauPhay(_sp.GiaBan)); int _soLuong = _sp.SoLuong_SP; float _chietKhau = _sp.CKPhanTram_SP; int _chietKhauTienMat = (int)(_giaBan * _chietKhau) / 100; _sp.CKTienMat = UntilitiesBusiness.ThemDauPhay(_chietKhauTienMat.ToString()); _sp.ThanhTien_SP = UntilitiesBusiness.ThemDauPhay(ThanhTien1Sp(_giaBan, _soLuong, _chietKhau).ToString()); _dsSPMua.Add(_sp); } else { //Kiểm tra trong giỏ hàng có sp này chưa: có thì công số lượng, chưa thì thêm vào giỏ hàng SanPhamPublic _result = _dsSPMua.Find(item => item.MaSP_SP == _sp.MaSP_SP); if (_result != null)//Đã có trong giỏ hàng => cộng thêm số lượng { //Kiểm tra số lượng sp trong kho if (_result.SoLuong_SP == _soLuongConTrongKho) { lbWarning.Visibility = System.Windows.Visibility.Visible; lbWarning.Text = "Chỉ còn " + _result.SoLuong_SP + " " + _result.TenSP_SP + "trong kho."; txtMaHang.Focus(); txtMaHang.SelectAll(); return; } //Cộng số lượng _result.SoLuong_SP = _result.SoLuong_SP + _sp.SoLuong_SP; //Tính lại ck tiền mặt và thành tiền int _giaBan = Convert.ToInt32(UntilitiesBusiness.BoDauPhay(_result.GiaBan)); int _soLuong = _dsSPMua.Where(item => item.MaSP_SP == _sp.MaSP_SP).First().SoLuong_SP; float _chietKhau = _result.CKPhanTram_SP; int _chietKhauTienMat = (int)(_soLuong * (_giaBan * _chietKhau) / 100); _result.CKTienMat = UntilitiesBusiness.ThemDauPhay(_chietKhauTienMat.ToString()); _result.ThanhTien_SP = UntilitiesBusiness.ThemDauPhay(ThanhTien1Sp(_giaBan, _soLuong, _chietKhau).ToString()); } else//Chưa có trong giỏ hàng { //Tính thành tiền sp _sp.GiaBan = UntilitiesBusiness.ThemDauPhay(_hoaDon.BanLe_HD == true ? _sp.GiaBanLe_SP : _sp.GiaBanSi_SP); int _giaBan = Convert.ToInt32(UntilitiesBusiness.BoDauPhay(_sp.GiaBan)); int _soLuong = _sp.SoLuong_SP; float _chietKhau = _sp.CKPhanTram_SP; int _chietKhauTienMat = (int)(_giaBan * _chietKhau) / 100; _sp.CKTienMat = UntilitiesBusiness.ThemDauPhay(_chietKhauTienMat.ToString()); _sp.ThanhTien_SP = UntilitiesBusiness.ThemDauPhay(ThanhTien1Sp(_giaBan, _soLuong, _chietKhau).ToString()); _dsSPMua.Add(_sp); } } }