//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();
        }
Beispiel #2
0
        //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;
            }
        }
Beispiel #3
0
        //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);
        }
Beispiel #4
0
        //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);
                }
            }
        }