示例#1
0
        //Cập nhật form fmManager cách 2
        //public delegate void Update();
        //public Update UpdatefmManager;

        //Thêm vào csdl rồi load lại từ csdl
        private void btnThemMon_Click(object sender, EventArgs e)
        {
            //Trường hợp người dùng tự nhập bằng tay nếu nhập không có sp thì thông báo. Nếu đúng thì thực hiện thêm món
            if (SanPhamDAO.Instance.KiemTraTenSP(cbbThemMon_Manager.Text))
            {
                string MaBan   = fmManager.getBan.sMaBan;
                int    soluong = (int)nbrSoLuong_Manager.Value; //Số lượng món
                foreach (ListViewItem lvitem in lvHoaDon.Items)
                {
                    //Kiểm tra món chọn trên combobox có trong listview hay không. Nếu có thì cộng với số lượng trên listview
                    if (cbbThemMon_Manager.Text == lvitem.SubItems[0].Text)
                    {
                        soluong += Convert.ToInt32(lvitem.SubItems[1].Text);
                    }
                }
                string KtraMaHD = HoaDonTheoNgayDAO.Instance.getIDTheoHoaDon(MaBan); //Kiểm tra xem bàn hiện tại có hóa đơn hay chưa
                if (KtraMaHD.Equals("NO"))                                           //nếu chưa tồn tại hóa đơn thì tạo hóa đơn mới
                {
                    string MaHDNew = HoaDonTheoNgayBUS.Instance.getMaHDMoi();        //Tự động lấy mã theo //HD+ngày tháng năm giờ phút giây
                    string MaNv    = fmDangNhap.getTaiKhoan.taiKhoan;                //Mã nhân viên đăng nhập hiện tại
                    float  GiamGia = ((float)nbrGiamGia.Value) / 100;
                    float  Vat     = ((float)nbrVAT.Value) / 100;
                    string MaCa    = fmManager.getCa.maca;
                    if (soluong > 0) //Khi thêm món số lượng phải > 0
                    {
                        HoaDonTheoNgayDTO hd = new HoaDonTheoNgayDTO(MaHDNew, "", "", MaNv, MaBan, GiamGia, Vat, 0, "", MaCa);
                        //Thêm hóa đơn vào csdl
                        HoaDonTheoNgayDAO.Instance.ThemHoaDon(hd);
                        //Thêm hóa đơn chi tiết vào csdl
                        HoaDonChiTietDAO.Instance.ThemHoaDonChiTiet(MaHDNew, cbbThemMon_Manager.SelectedValue.ToString(), soluong);
                        //Load lại hóa đơn vừa mới thêm trong csdl ra form
                        HoaDonThanhToanBUS.Instance.LoadHoaDonMenu(lvHoaDon, MaBan, lbnhanvien, lbtime, txtTongTien, nbrGiamGia, nbrVAT);
                    }
                    else
                    {
                        MessageBox.Show("Chưa nhập số lượng", "Thông báo");
                    }
                }
                else
                {
                    if (soluong > 0)
                    {
                        //Nếu mã hóa đơn đã có và chưa thanh toán thì thêm món mới vào hóa đơn chi tiết của hóa đơn đó
                        HoaDonChiTietDAO.Instance.ThemHoaDonChiTiet(KtraMaHD, cbbThemMon_Manager.SelectedValue.ToString(), soluong);
                        //Load lại hóa đơn vừa mới thêm trong csdl ra form
                        HoaDonThanhToanBUS.Instance.LoadHoaDonMenu(lvHoaDon, MaBan, lbnhanvien, lbtime, txtTongTien, nbrGiamGia, nbrVAT);
                    }
                    else
                    {
                        MessageBox.Show("Chưa nhập số lượng", "Thông báo");
                    }
                }
            }
            else
            {
                MessageBox.Show("Sản phẩm không tồn tại", "Thông báo.");
            }
        }
        public List <HoaDonTheoNgayDTO> LoadHoaDonGiaoCa(string Ngay, string MaCa)
        {
            List <HoaDonTheoNgayDTO> hdlist = new List <HoaDonTheoNgayDTO>();
            string    query = "SP_HOADON_GIAOCA @MACA , @NGAY";
            DataTable data  = DataProvider.Instance.ExecuteQuery(query, new object[] { MaCa, Ngay });

            foreach (DataRow items in data.Rows)
            {
                string            maHD      = items["MAHOADON"].ToString();
                string            ngaynhap  = items["NGAYNHAP"].ToString();
                string            ngayxuat  = items["NGAYXUAT"].ToString();
                string            maNVnhap  = items["TENNV"].ToString();
                string            maban     = items["MABAN"].ToString();
                float             giamgia   = (float)Convert.ToDouble(items["GIAMGIA"]) * 100;
                float             vat       = (float)Convert.ToDouble(items["VAT"]) * 100;
                float             thanhtoan = (float)Convert.ToDouble(items["THANHTOAN"]);
                string            ghichu    = items["GHICHU"].ToString();
                string            maca      = items["TENCA"].ToString();
                HoaDonTheoNgayDTO hdnew     = new HoaDonTheoNgayDTO(maHD, ngaynhap, ngayxuat, maNVnhap, maban, giamgia, vat, thanhtoan, ghichu, maca);
                hdlist.Add(hdnew);
            }
            return(hdlist);
        }
        //Thêm hóa đơn
        public void ThemHoaDon(HoaDonTheoNgayDTO hd)
        {
            string sql = "SP_THEMHOADON @MAHOADON , @MANV , @MABAN , @GIAMGIA , @VAT , @MACA";

            DataProvider.Instance.ExecuteNonQuery(sql, new object[] { hd.SMaHD, hd.SMaNVNhap, hd.SMaBan, hd.FGiamGia, hd.FVAT, hd.SMaCa });
        }