Esempio n. 1
0
        public void GopBan()
        {
            int IDHoaDon = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? DAO_BanHang.IDHoaDon(frmBanHang.IDBan) : DAO_BanHang.IDHoaDon(frmBanHang2.IDBan);
            int IDBan    = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? frmBanHang.IDBan : frmBanHang2.IDBan;

            if (listChiTietHoaDonA1.Count > 0 && listChiTietHoaDonB1.Count > 0)
            {
                MessageBox.Show("Bạn chưa gộp bàn. Vui lòng kiểm tra lại?", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (listChiTietHoaDonB1.Count > 0)
            {
                int IDBanA    = IDBan;
                int IDBanB    = Int32.Parse(cmbBanB.EditValue.ToString());
                int IDHoaDonB = DAO_BanHang.IDHoaDon(IDBanB);
                int IDHoaDonA = IDHoaDon;

                // A Chuyển sang B, xóa toàn bộ hóa đơn A, cập nhật hóa đơn B, đưa trạng thái bàn A về null, xóa chi tiết bàn B
                if (DAO_BAN.XoaBanVeMatDinh(IDBanA, frmDangNhap.NguoiDung.Idchinhanh) == true && DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDonA, IDBanA) == true && DAO_GopBan.XoaHoaDonCu(IDHoaDonA, IDBanA) == true && DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDonB, IDBanB) == true)
                {
                    //Thêm lại chi tiết bàn B,
                    foreach (ChiTietHoaDonB1 item in listChiTietHoaDonB1)
                    {
                        string MaHang      = item.MaHangHoa;
                        float  TrongLuong  = item.TrongLuong;
                        int    SL          = item.SoLuong;
                        float  DonGia      = item.DonGia;
                        float  ThanhTien   = item.ThanhTien;
                        int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                        int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);

                        if (DAO_ChiTietHoaDon.KiemTraHangHoa(IDHoaDonB, IDHangHoa, IDBanB, TrongLuong, IDChiNhanh) == false)
                        {
                            DAO_GoiMon.ThemChiTietHoaDon(IDHoaDonB, IDHangHoa, SL, DonGia, ThanhTien, IDBanB, MaHang, IDDonViTinh, TrongLuong, frmDangNhap.NguoiDung.Idchinhanh); // thêm chi tiết hóa đơn mới
                        }
                        else
                        {
                            DAO_GoiMon.CapNhatChiTietHoaDon(IDHoaDonB, SL, ThanhTien, IDHangHoa, IDBanB, IDChiNhanh);
                        }
                    }
                    if (MyGetDataGopBan != null)
                    {
                        MyGetDataGopBan(1, IDBanA, IDBanB, IDHoaDonB);
                        this.Close();
                    }
                }
            }
            else if (listChiTietHoaDonA1.Count > 0)
            {
                // B Chuyển sang A, xóa toàn bộ hóa đơn B, cập nhật hóa đơn A
                int IDBanA    = IDBan;
                int IDBanB    = Int32.Parse(cmbBanB.EditValue.ToString());
                int IDHoaDonB = DAO_BanHang.IDHoaDon(IDBanB);
                int IDHoaDonA = IDHoaDon;
                if (DAO_BAN.XoaBanVeMatDinh(IDBanB, frmDangNhap.NguoiDung.Idchinhanh) == true && DAO_ChuyenBan.XoaChiTietBanCu(IDBanB, IDBanB) && DAO_GopBan.XoaHoaDonCu(IDHoaDonB, IDBanB) && DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDonA, IDBanA))
                {
                    foreach (ChiTietHoaDonA1 item in listChiTietHoaDonA1)
                    {
                        string MaHang      = item.MaHangHoa;
                        float  TrongLuong  = item.TrongLuong;
                        int    SL          = item.SoLuong;
                        float  DonGia      = item.DonGia;
                        float  ThanhTien   = item.ThanhTien;
                        int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                        int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);
                        if (DAO_ChiTietHoaDon.KiemTraHangHoa(IDHoaDonA, IDHangHoa, IDBanA, TrongLuong, IDChiNhanh) == false)
                        {
                            DAO_GoiMon.ThemChiTietHoaDon(IDHoaDonA, IDHangHoa, SL, DonGia, ThanhTien, IDBanA, MaHang, IDDonViTinh, TrongLuong, frmDangNhap.NguoiDung.Idchinhanh); // thêm chi tiết hóa đơn mới
                        }
                        else
                        {
                            DAO_GoiMon.CapNhatChiTietHoaDon(IDHoaDonA, SL, ThanhTien, IDHangHoa, IDBanA, IDChiNhanh);
                        }
                    }
                    if (MyGetDataGopBan != null)
                    {
                        MyGetDataGopBan(1, IDBanA, IDBanB, IDHoaDonA);
                        this.Close();
                    }
                }
            }
            else
            {
                MessageBox.Show("Gộp bàn thất bại. Vui lòng kiểm tra lại?", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 2
0
        public void ThanhToanBill()
        {
            // thanh toán... đưa dữ liệu lai from chính, laod lại món ăn, tiền giờ.OK
            if (MessageBox.Show("Thanh Toán", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
            {
                if (listChiTietMonAnThanhToan.Count > 0)
                {
                    bool     KT         = true;
                    int      IDHoaDon   = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? DAO_BanHang.IDHoaDon(frmBanHang.IDBan) : DAO_BanHang.IDHoaDon(frmBanHang2.IDBan);
                    int      IDBan      = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? frmBanHang.IDBan : frmBanHang2.IDBan;
                    int      IDNhanVien = frmDangNhap.NguoiDung.Id;
                    DateTime GioVao     = DAO_ChiTietHoaDonChinh.LayGioVao(IDHoaDon);
                    object   ID         = DAO_ChiTietHoaDonChinh.ThemMoiHoaDon(IDBan, IDNhanVien, GioVao, frmDangNhap.NguoiDung.Idchinhanh);
                    if (listChiTietMonAnThanhToan.Count > 0 && KT == true && ID != null)// thanh toán món ăn
                    {
                        double TongTien = 0;
                        foreach (ChiTietHoaDonB1 item in listChiTietMonAnThanhToan)
                        {
                            TongTien = TongTien + item.ThanhTien;
                            double TrongLuong  = item.TrongLuong;
                            string MaHang      = item.MaHangHoa;
                            int    SoLuong     = item.SoLuong;
                            int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                            double DonGia      = item.DonGia;
                            double ThanhTien   = TrongLuong > 0 ? (SoLuong * (TrongLuong * DonGia)) : (SoLuong * DonGia);
                            int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);

                            //thêm vào chi tiết hóa đơn chính, cập nhật chi tiết hóa đơn củ, if  Sl = nhau xóa hóa đơn củ
                            // kiểm tra thêm chi tiết
                            if (DAO_ChiTietHoaDonChinh.KiemTraHangHoa(Int32.Parse(ID.ToString()), IDHangHoa, IDBan, float.Parse(TrongLuong.ToString()), frmDangNhap.NguoiDung.Idchinhanh) == false)
                            {
                                DAO_ChiTietHoaDonChinh.ThemChiTietHoaDonChinh(Int32.Parse(ID.ToString()), IDHangHoa, SoLuong, DonGia, ThanhTien, IDBan, MaHang, IDDonViTinh, float.Parse(TrongLuong.ToString()), frmDangNhap.NguoiDung.Idchinhanh);
                            }
                            else
                            {
                                DAO_ChiTietHoaDonChinh.CapNhatChiTietHoaDon(Int32.Parse(ID.ToString()), SoLuong, ThanhTien, IDHangHoa, IDBan, frmDangNhap.NguoiDung.Idchinhanh);
                            }
                            //if (TrongLuong == 0)
                            //{
                            //    List<DTO_NguyenLieu> ListNguyenLieu = DAO_NguyenLieu.Instance.LoadNguyenLieu(IDHangHoa);// trừ nguyên liệu tồn kho
                            //    if (ListNguyenLieu.Count > 0)
                            //    {
                            //        foreach (DTO_NguyenLieu itemNL in ListNguyenLieu)
                            //        {
                            //            double SLTru = (itemNL.TrongLuong * SoLuong);
                            //            DAO_Setting.TruTonKho(itemNL.IDNguyenLieu, frmDangNhap.NguoiDung.Idchinhanh, SLTru);
                            //            // trừ tồn kho
                            //        }
                            //    }
                            //}
                            //else if (TrongLuong > 0)
                            //{
                            //    DAO_Setting.TruTonKho(IDHangHoa, frmDangNhap.NguoiDung.Idchinhanh, SoLuong * TrongLuong);
                            //}
                        }
                        if (ID != null)
                        {
                            DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDon, IDBan);
                            foreach (ChiTietHoaDonA1 item in listChiTietMonAn)
                            {
                                string MaHang      = item.MaHangHoa;
                                int    SoLuong     = item.SoLuong;
                                float  DonGia      = item.DonGia;
                                float  TrongLuong  = item.TrongLuong;
                                float  ThanhTien   = TrongLuong > 0 ? (SoLuong * (TrongLuong * DonGia)) : (SoLuong * DonGia);
                                int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                                int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);
                                DAO_GoiMon.ThemChiTietHoaDon(IDHoaDon, IDHangHoa, SoLuong, DonGia, ThanhTien, IDBan, MaHang, IDDonViTinh, TrongLuong, frmDangNhap.NguoiDung.Idchinhanh);
                            }

                            DAO_ChiTietHoaDonChinh.CapNhatTongTienHoaDonChinh(Int32.Parse(ID.ToString()), IDBan, TongTien, frmDangNhap.NguoiDung.Idchinhanh);
                        }
                    }

                    if (KT == true && ID != null)
                    {
                        if (MyGetData != null)
                        {
                            MyGetData(1, IDHoaDon, IDBan);
                            this.Close();
                        }

                        if (MessageBox.Show("In hóa đơn", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
                        {
                            // in hóa đớn, cập nhật hóa đơn
                            DAO_ConnectSQL connect = new DAO_ConnectSQL();

                            // Tên máy in
                            string NamePrinter = DAO_Setting.LayTenMayInBill(frmDangNhap.NguoiDung.Idchinhanh);

                            // Lấy máy in bill..
                            int IDBill = DAO_Setting.ReportBill(frmDangNhap.NguoiDung.Idchinhanh);
                            if (IDBill == 58)
                            {
                                rpHoaDonBanHang_581 rp            = new rpHoaDonBanHang_581();
                                SqlDataSource       sqlDataSource = rp.DataSource as SqlDataSource;
                                sqlDataSource.Connection.ConnectionString += connect.ConnectString();

                                rp.Parameters["ID"].Value           = ID;
                                rp.Parameters["ID"].Visible         = false;
                                rp.Parameters["IDChiNhanh"].Value   = frmDangNhap.NguoiDung.Idchinhanh;
                                rp.Parameters["IDChiNhanh"].Visible = false;
                                //rp.ShowPreviewDialog();
                                rp.Print(NamePrinter);
                            }
                            else
                            {
                                rpHoaDonBanHang1 rp            = new rpHoaDonBanHang1();
                                SqlDataSource    sqlDataSource = rp.DataSource as SqlDataSource;
                                sqlDataSource.Connection.ConnectionString += connect.ConnectString();

                                rp.Parameters["ID"].Value           = ID;
                                rp.Parameters["ID"].Visible         = false;
                                rp.Parameters["IDChiNhanh"].Value   = frmDangNhap.NguoiDung.Idchinhanh;
                                rp.Parameters["IDChiNhanh"].Visible = false;
                                //rp.ShowPreviewDialog();
                                rp.Print(NamePrinter);
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Lỗi thanh toán. Danh sách hóa đơn trống?", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Esempio n. 3
0
        public void TachBan()
        {
            // lấy lại dữ liệu A và B, xóa chi tiết A, thêm lại A, Thêm B + Hóa Đơn Mới(if đã tồn tại thêm chèn vào)
            if (listChiTietHoaDonB1.Count > 0)
            {
                int IDBan     = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? frmBanHang.IDBan : frmBanHang2.IDBan;
                int IDHoaDonA = DAO_Setting.KiemtraGiaDien(frmDangNhap.NguoiDung.Idchinhanh) == 0 ? DAO_BanHang.IDHoaDon(frmBanHang.IDBan) : DAO_BanHang.IDHoaDon(frmBanHang2.IDBan);
                int IDBanA    = IDBan;
                int IDBanB    = Int32.Parse(cmbBanB.EditValue.ToString());
                int IDHoaDonB = DAO_BanHang.IDHoaDon(IDBanB);// nếu idhoadonb = 0 thì tạo IDHoaDonMoi
                if (IDHoaDonB == 0)
                {
                    int    IDNhanVien = frmDangNhap.NguoiDung.Id;
                    object ID         = DAO_GoiMon.ThemHoaDon(IDBanB, IDNhanVien, frmDangNhap.NguoiDung.Idchinhanh);
                    if (ID != null)
                    {
                        IDHoaDonB = Int32.Parse(ID.ToString());
                    }
                }
                // Xóa A Lưu Lại A, XÓa B Lưu Lại B

                if (DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDonA, IDBanA) == true && DAO_ChuyenBan.XoaChiTietBanCu(IDHoaDonB, IDBanB))
                {
                    foreach (ChiTietHoaDonA1 item in listChiTietHoaDonA1)
                    {
                        float  TrongLuong  = item.TrongLuong;
                        string MaHang      = item.MaHangHoa;
                        int    SoLuong     = item.SoLuong;
                        float  DonGia      = item.DonGia;
                        float  ThanhTien   = TrongLuong > 0 ? (SoLuong * (TrongLuong * DonGia)) : (SoLuong * DonGia);
                        int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                        int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);
                        // xóa a. Lưu lại A.
                        DAO_GoiMon.ThemChiTietHoaDon(IDHoaDonA, IDHangHoa, SoLuong, DonGia, ThanhTien, IDBanA, MaHang, IDDonViTinh, TrongLuong, frmDangNhap.NguoiDung.Idchinhanh);
                    }
                    foreach (ChiTietHoaDonB1 item in listChiTietHoaDonB1)
                    {
                        string MaHang      = item.MaHangHoa;
                        int    SoLuong     = item.SoLuong;
                        float  DonGia      = item.DonGia;
                        float  TrongLuong  = item.TrongLuong;
                        float  ThanhTien   = TrongLuong > 0 ? (SoLuong * (TrongLuong * DonGia)) : (SoLuong * DonGia);
                        int    IDHangHoa   = TrongLuong > 0 ? DAO_Setting.LayIDHangHoaTuChon(MaHang) : DAO_Setting.LayIDHangHoa(MaHang);
                        int    IDDonViTinh = TrongLuong > 0 ? DAO_Setting.LayIDDonViTinhTuChon(MaHang) : DAO_Setting.LayIDDonViTinh(MaHang);
                        // xóa B. Lưu lại B.
                        if (DAO_ChiTietHoaDon.KiemTraHangHoa(IDHoaDonB, IDHangHoa, IDBanB, TrongLuong, IDChiNhanh) == false)
                        {
                            DAO_GoiMon.ThemChiTietHoaDon(IDHoaDonB, IDHangHoa, SoLuong, DonGia, ThanhTien, IDBanB, MaHang, IDDonViTinh, TrongLuong, frmDangNhap.NguoiDung.Idchinhanh);
                        }
                        else
                        {
                            DAO_GoiMon.CapNhatChiTietHoaDon(IDHoaDonB, SoLuong, ThanhTien, IDHangHoa, IDBanB, IDChiNhanh);
                        }
                        DAO_BAN.DoiTrangThaiBanCoNguoi(IDBanB);
                    }
                    if (MyGetDataTachBan != null)
                    {
                        MyGetDataTachBan(1, IDHoaDonA, IDHoaDonB);
                        this.Close();
                    }
                }
            }
            else
            {
                MessageBox.Show("Danh sách món ăn rỗng. Vui lòng kiểm tra lại?", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }