示例#1
0
 private void btnTraPhong_Click(object sender, EventArgs e)
 {
     if (txtMaKhachHang.Text == "")
     {
         MessageBox.Show("Vui lòng chọn phòng để trả");
         return;
     }
     else
     {
         if (lvPhong.SelectedItems.Count > 0)
         {
             PhongBUS     phongBUS = new PhongBUS();
             ListViewItem lv       = lvPhong.SelectedItems[0];
             Phong        p        = new Phong();
             Phong        p2       = new Phong();
             p.Maphong = lv.SubItems[1].Text;
             ThuePhongBUS thuephongbus = new ThuePhongBUS();
             KhachHangBUS khBUS        = new KhachHangBUS();
             ThuePhong    tp           = new ThuePhong();
             tp = thuephongbus.LayThongTinThuePhong(p.Maphong);
             p2 = phongBUS.PhongTheoMa(p.Maphong);
             string      mathuephong = tp.Mathuephong;
             string      maphong     = p.Maphong;
             string      tenphong    = p2.Tenphong;
             decimal     giaphong    = p2.Giaphong;
             string      tenkhach    = txtTenKhachHang.Text;
             DateTime    ngaythue    = DateTime.Parse(txtNgayThue.Text);
             int         tiendichvu  = int.Parse(txtTongTienDV.Text);
             string      manhanvien  = NhanVien.Instance.Manhanvien;
             frmTraPhong frm         = new frmTraPhong(mathuephong, tenphong, giaphong, tenkhach, ngaythue, tiendichvu, manhanvien, maphong);
             frm.ShowDialog();
             LoadDanhSachPhong();
         }
     }
 }
 private void btnThuePhong_Click(object sender, EventArgs e)
 {
     if (dsPhongThue.Count == 0)
     {
         MessageBox.Show("Bạn chưa chọn phòng nào !");
     }
     else if (txtTenKhachHang.Text == "")
     {
         MessageBox.Show("Vui lòng chọn khách hàng !");
     }
     else if (DialogResult.OK == MessageBox.Show("Bạn có chắc chắn thuê phòng không", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
     {
         ThuePhongBUS tp          = new ThuePhongBUS();
         string       makhachhang = dgvKhach.CurrentRow.Cells["Makhachhang"].Value.ToString();
         if (tp.ThuePhong(dsPhongThue, dgvKhach.CurrentRow.Cells["Makhachhang"].Value.ToString(), NhanVien.Instance.Manhanvien, DateTime.Now))
         {
             MessageBox.Show("Thuê phòng thành công!");
             LoadData();
         }
         else
         {
             MessageBox.Show("Thuê phòng không thành công !");
         }
     }
     else
     {
         dsPhongThue.Clear();
         LoadData();
     }
 }
示例#3
0
        public void lblred_MouseHover(object sender, EventArgs e)
        {
            PhongBUS            pbus    = new PhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            KhachHangBUS        khbus   = new KhachHangBUS();
            Label  lbl     = sender as Label;
            string ttPhong = lbl.Text;

            string[] lsPhong     = ttPhong.Split('\r');
            string   mathue      = cttpbus.getMaThue_By_MaPhong_TrangThai(pbus.maPhong_byTen(lsPhong[0].Trim()), false);
            string   ttThuePhong = "";
            int      stt         = 0;

            foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(mathue, pbus.maPhong_byTen(lsPhong[0].Trim())))
            {
                stt++;
                ttThuePhong += "Khách hàng " + stt + " : " + khbus.getenKH_ByID(item.MaKhach) + "\n";
            }
            foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(mathue, pbus.maPhong_byTen(lsPhong[0].Trim())))
            {
                if (item.NgayRa < DateTime.Now.Date)
                {
                    ttThuePhong += "Ngày ra: " + DateTime.Now.Date.ToShortDateString();
                }
                else
                {
                    ttThuePhong += "Ngày ra: " + item.NgayRa.ToShortDateString();
                }
                break;
            }
            toolTipTTThuePhong.SetToolTip(lbl, ttThuePhong);
        }
        private void btnTraDoan_Click(object sender, EventArgs e)
        {
            this.Close();
            ThuePhongBUS    tpbus = new ThuePhongBUS();
            frmTraKhachDoan frm   = new frmTraKhachDoan(home, tpbus.getMaDoan_ByMaThue(MaThue));

            frm.ShowDialog();
        }
示例#5
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":
                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Thuê":


                //NOTE Tài khoản thanh toán
                //BÌNH

                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    if (PhongBUS.LayThongTinPhong(phong.MaPhong).MaTinhTrangPhong != 0)
                    {
                        XtraMessageBox.Show("Phòng " + phong.TenPhong + " hiện không có sẵn! Vui lòng chọn lại phòng khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


                        txtPhong.Properties.DataSource = dtPhong = PhongBUS.LayTatCaPhong_TinhTrangPhong_LoaiPhong_CoSan();


                        selectedPhong.Clear();
                        txtPhong.Refresh();
                        return;
                    }
                }


                ThuePhongDTO tp = null;
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), phong.MaPhong, (DateTime)txtGioVao.EditValue, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                    ThuePhongBUS.LuuThongTinThuePhong(tp);
                    PhongBUS.CapNhatTinhTrangPhong(phong, 1);
                }



                //Thông báo thành công
                onThuePhongSuccess();

                ((FlyoutDialog)this.Parent).Hide();



                break;

            default:
                break;
            }
        }
        public void NhanPhong()
        {
            foreach (ChiTietDatPhongDTO chiTiet in DatPhongBUS.LayTatCaCacChiTietDatPhong(datPhong.MaDatPhong))
            {
                PhongDTO phongDto = PhongBUS.LayThongTinPhong(chiTiet.MaPhong);
                if (phongDto.MaTinhTrangPhong == 1 || phongDto.MaTinhTrangPhong == 7)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang được sử dụng nên không thể nhận được!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 5 || phongDto.MaTinhTrangPhong == 6)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang chờ dọn dẹp! Hãy dọn dẹp trước khi nhận phòng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 2)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đang sửa chữa! Vui lòng chuyển đặt phòng sang phòng khác hoặc chuyển tình trạng phòng sang bình thường!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                else if (phongDto.MaTinhTrangPhong == 3)
                {
                    XtraMessageBox.Show("Phòng " + phongDto.TenPhong + " đã bị xóa, không thể nhận phòng! Vui lòng chuyển đặt phòng sang phòng khác! ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }

            //Phát sinh hóa đơn

            HoaDonDTO hoaDon = new HoaDonDTO(HoaDonBUS.PhatSinhMaHoaDon(), (this.ParentForm as MainForm).nhanVien.MaNhanVien, Double.NaN, datPhong.SoTienDatTruoc, DateTime.MinValue, Double.NaN, datPhong.GhiChu, khachHang.MaKH, datPhong.MaDatPhong);

            HoaDonBUS.LuuThongTinHoaDon(hoaDon);

            ThuePhongDTO tp = null;



            foreach (XtraTabPage xtraTab in this.TabControl.TabPages)
            {
                tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), (xtraTab.Tag as ThongTinChiTietDatPhong).chiTietDatPhong.MaPhong, DateTime.Now, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                ThuePhongBUS.LuuThongTinThuePhong(tp);
                PhongBUS.CapNhatTinhTrangPhong((xtraTab.Tag as ThongTinChiTietDatPhong).chiTietDatPhong.MaPhong, 1);


                (xtraTab.Tag as ThongTinChiTietDatPhong).LuuThongTinDichVuPhong(tp);
            }

            DatPhongBUS.CapNhatTinhTrangDatPhong(2, datPhong.MaDatPhong);
            (this.ParentForm as MainForm).HienThiThongTinPhong(tp);
        }
示例#7
0
        public double tienPhong(ArrayList ds)
        {
            double              tienPhong = 0;
            PhongBUS            pbus      = new PhongBUS();
            ThuePhongBUS        tpbus     = new ThuePhongBUS();
            LoaiPhongBUS        lpbus     = new LoaiPhongBUS();
            ChiTietThuePhongBUS cttpbus   = new ChiTietThuePhongBUS();
            eHoaDonTienPhong    hdtp      = new eHoaDonTienPhong();

            foreach (string item in ds)
            {
                foreach (var cttp in cttpbus.getChiTietThuePhong_By_MaThue(item))
                {
                    tienPhong += hdtp.tinhTienPhong(cttp, lpbus.donGia(pbus.getLoaiPhong_ByID(cttp.MaPhong)), Convert.ToDateTime(cttp.GioVao + " " + cttp.NgayVao.ToShortDateString()), Convert.ToDateTime(cttp.GioRa + " " + cttp.NgayRa.ToShortDateString())) + hdtp.tinhTienPhuThu(cttp, lpbus.donGia(pbus.getLoaiPhong_ByID(cttp.MaPhong))) + cttp.TienKhac;
                }
            }
            return(tienPhong);
        }
示例#8
0
        private void thuePhongToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();

            foreach (eThuePhong item in tpbus.getMaThue(cttpbus.getMaThue_By_MaPhong_TrangThai(pbus.maPhong_byTen(TenPhong), false)))
            {
                if (item.MaDoan != null)
                {
                    frmTraKhachLe frm = new frmTraKhachLe(this, item.MaDoan);
                    frm.ShowDialog();
                }
                else
                {
                    frmTraKhachLe frm = new frmTraKhachLe(this);
                    frm.ShowDialog();
                }
            }
        }
        public DataTable DataTable_DSTP(ArrayList ds)
        {
            KhachHangBUS        khbus   = new KhachHangBUS();
            PhongBUS            pbus    = new PhongBUS();
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            DoanBUS             dbus    = new DoanBUS();
            LoaiPhongBUS        lpbus   = new LoaiPhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
            eHoaDonTienPhong    hdtp    = new eHoaDonTienPhong();
            DataTable           dt      = new DataTable();

            dt.Columns.Add("Tên khách hàng", typeof(string));
            dt.Columns.Add("Tiền phòng", typeof(double));
            dt.Columns.Add("Thời gian vào", typeof(string));
            dt.Columns.Add("Thời gian ra", typeof(string));
            foreach (string item in ds)
            {
                double tienPhong = 0;
                foreach (var cttp in cttpbus.getChiTietThuePhong_By_MaThue(item))
                {
                    tienPhong += hdtp.tinhTienPhong(cttp, lpbus.donGia(pbus.getLoaiPhong_ByID(cttp.MaPhong)), Convert.ToDateTime(cttp.GioVao + " " + cttp.NgayVao.ToShortDateString()), Convert.ToDateTime(cttp.GioRa + " " + cttp.NgayRa.ToShortDateString())) + hdtp.tinhTienPhuThu(cttp, lpbus.donGia(pbus.getLoaiPhong_ByID(cttp.MaPhong))) + cttp.TienKhac;
                }
                if (tpbus.getMaDoan_ByMaThue(item) == null)
                {
                    foreach (var cttp in cttpbus.getChiTietThuePhong_By_MaThue(item))
                    {
                        dt.Rows.Add(khbus.getenKH_ByID(cttp.MaKhach), tienPhong, cttp.GioVao + " " + cttp.NgayVao.ToShortDateString(), cttp.GioRa + " " + cttp.NgayRa.ToShortDateString());
                    }
                }
                else
                {
                    foreach (var cttp in cttpbus.getChiTietThuePhong_By_MaThue(item))
                    {
                        dt.Rows.Add(dbus.getTen_ById(tpbus.getMaDoan_ByMaThue(item)), tienPhong, cttp.GioVao + " " + cttp.NgayVao.ToShortDateString(), cttp.GioRa + " " + cttp.NgayRa.ToShortDateString());
                        break;
                    }
                }
            }
            return(dt);
        }
示例#10
0
        private void LvPhong_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lvPhong.SelectedItems.Count > 0)
            {
                ListViewItem lv = lvPhong.SelectedItems[0];

                if (lv.SubItems[4].Text.Equals("1"))
                {
                    Phong p = new Phong();
                    p.Maphong = lv.SubItems[1].Text;
                    ThuePhongBUS thuephongbus = new ThuePhongBUS();
                    KhachHangBUS khBUS        = new KhachHangBUS();
                    ThuePhong    tp           = new ThuePhong();
                    tp = thuephongbus.LayThongTinThuePhong(p.Maphong);
                    KhachHang kh = new KhachHang();
                    kh = khBUS.LayThongTinKhachHangTheoMa(tp.Makhachhang);
                    txtMaKhachHang.Text  = kh.Makhachhang;
                    txtTenKhachHang.Text = kh.Tenkhachhang;
                    txtNgayThue.Text     = tp.Ngaythue.ToString();
                    txtSoChungMinh.Text  = kh.Sochungminh;

                    // Lay ma su dung dich vu tu thue phong

                    if (tp.Masudungdichvu != null)
                    {
                        masudungdichvu = tp.Masudungdichvu;
                        LoadSuDungDVPhong(masudungdichvu);
                    }
                }
                else
                {
                    txtMaKhachHang.Text  = "";
                    txtTenKhachHang.Text = "";
                    txtNgayThue.Text     = "";
                    txtSoChungMinh.Text  = "";
                }
            }
        }
示例#11
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":
                ((FlyoutDialog)this.Parent).DialogResult = DialogResult.Cancel;
                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Tách":
                //Tạo Hóa Đơn mới
                HoaDonBUS.LuuThongTinHoaDon(new HoaDonDTO(Convert.ToInt32(txtMaHoaDon_2.Text), -1, Double.NaN, Convert.ToDouble(txtTienTraTruoc_2.EditValue), DateTime.MinValue, Double.NaN, txtGhiChu_2.Text, hoaDon.MaKH, hoaDon.MaDatPhong));

                //Cập nhật hóa đơn cũ
                HoaDonBUS.CapNhatGhiChu(hoaDon.MaHoaDon, txtGhiChu_1.Text);
                HoaDonBUS.CapNhatTienTraTruoc(hoaDon, Convert.ToDouble(txtTienTraTruoc_2.EditValue));


                //Sửa các thuê phòng
                foreach (DataRow dr in dtThuePhong.Rows)
                {
                    if (selectedThuePhong.ContainsKey((int)dr["MaThuePhong"]))
                    {
                        ThuePhongBUS.CapNhatHoaDon((int)dr["MaThuePhong"], Convert.ToInt32(txtMaHoaDon_2.Text));
                    }
                }
                XtraMessageBox.Show("Tách hóa đơn thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                callBackSuccess();

                ((FlyoutDialog)this.Parent).Hide();
                break;

            default:
                break;
            }
        }
示例#12
0
        public DataTable DataTable_DSTP(List <eChiTietThuePhong> ds)
        {
            KhachHangBUS        khbus   = new KhachHangBUS();
            PhongBUS            pbus    = new PhongBUS();
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            DoanBUS             dbus    = new DoanBUS();
            LoaiPhongBUS        lpbus   = new LoaiPhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
            eHoaDonTienPhong    hdtp    = new eHoaDonTienPhong();
            DataTable           dt      = new DataTable();

            dt.Columns.Add("Tên phòng", typeof(string));
            dt.Columns.Add("Tên khách hàng", typeof(string));
            dt.Columns.Add("Số CMND", typeof(string));
            dt.Columns.Add("Số điện thoại", typeof(string));
            dt.Columns.Add("Thời gian nhận phòng", typeof(string));
            foreach (eChiTietThuePhong item in ds)
            {
                eKhachHang kh = new eKhachHang();
                kh = khbus.getmaKH(item.MaKhach);
                dt.Rows.Add(pbus.getTenPhong_ByID(item.MaPhong), kh.TenKH, kh.SoCMND, kh.SoDT, item.GioVao + "  " + item.NgayVao.ToShortDateString());
            }
            return(dt);
        }
示例#13
0
        /**Tạo sự kiện kích chuột phải vào label để lấy các thông tin trong label đó
         * ra truyền qua các form khác* */
        public void lblred_Click(object sender, MouseEventArgs e)
        {
            PhongBUS            pbus    = new PhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            Label lbl = sender as Label;

            if (e.Button == MouseButtons.Right)
            {
                string   ttPhong  = lbl.Text;
                string[] lsPhong  = ttPhong.Split('\r');
                string   tenPhong = lsPhong[0].Trim();
                frmTraKhachLe.TenPhong   = tenPhong;
                frmDatPhong.TenLoaiPhong = "Phòng " + lpbus.getTen_Byma(pbus.getLoaiPhong_ByID(pbus.maPhong_byTen(tenPhong)));
                frmTraKhachLe.LoaiPhong  = "Phòng " + lpbus.getTen_Byma(pbus.getLoaiPhong_ByID(pbus.maPhong_byTen(tenPhong)));
                frmDatPhong.TenPhong     = tenPhong;
                frmTraKhachLe.MaThue     = cttpbus.getMaThue_By_MaPhong_TrangThai(pbus.maPhong_byTen(tenPhong), false);
                frmDatPhong.maThue       = cttpbus.getMaThue_By_MaPhong_TrangThai(pbus.maPhong_byTen(tenPhong), false);
                frmDatPhong.maKhachHang  = cttpbus.getMaKhach_By_MaPhong_TrangThai(pbus.maPhong_byTen(tenPhong), false);
                frmDoiPhong.TenPhong     = tenPhong;
                frmDoiPhong.maThue       = cttpbus.getMaThue_By_MaPhong_TrangThai(pbus.maPhong_byTen(tenPhong), false);
                TenPhong = tenPhong;
            }
        }
示例#14
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            ThuePhongBUS        tpbus   = new ThuePhongBUS();
            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
            ChiTietDichVuBUS    ctdvbus = new ChiTietDichVuBUS();
            PhongBUS            pbus    = new PhongBUS();
            int s = 0;

            foreach (eThuePhong item in tpbus.getMaThue(maThue))
            {
                eThuePhong etp = new eThuePhong();
                etp.MaNV         = item.MaNV;
                etp.MaDoan       = item.MaDoan;
                etp.SoLuongPhong = item.SoLuongPhong;
                etp.TrangThai    = false;
                s = tpbus.insertThuePhong(etp);
            }

            if (s != 1)
            {
                return;
            }
            if (s == 1)
            {
                foreach (eChiTietThuePhong item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(maThue, pbus.maPhong_byTen(TenPhong)))
                {
                    eChiTietThuePhong ect = new eChiTietThuePhong();
                    ect.GioRa     = item.GioRa;
                    ect.GioVao    = item.GioVao;
                    ect.MaKhach   = item.MaKhach;
                    ect.MaPhong   = cboPhongTrong.SelectedValue.ToString();
                    ect.NgayRa    = item.NgayRa;
                    ect.NgayVao   = item.NgayVao;
                    ect.TienKhac  = tienkhac;
                    ect.MaThue    = tpbus.getMaThueCuoi();
                    ect.TrangThai = false;
                    ect.GhiChu    = cttpbus.getCTTP_By_MaPhong_TrangThai(pbus.maPhong_byTen(TenPhong), false).GhiChu + lblTenPhong.Text + " (" + item.GioVao + " " + item.NgayVao.ToShortDateString() + ")" + " đến " + cboPhongTrong.Text + " (" + DateTime.Now.ToLongTimeString() + " " + DateTime.Now.ToShortDateString() + ")";
                    cttpbus.insertCTTP(ect);
                }
                foreach (eChiTietThuePhong item in cttpbus.getChiTietThuePhong_By_MaThue_TrangThai(maThue, 0))
                {
                    if (!item.MaPhong.Equals(pbus.maPhong_byTen(TenPhong)))
                    {
                        eChiTietThuePhong ect = new eChiTietThuePhong();
                        ect.GioRa     = item.GioRa;
                        ect.GioVao    = item.GioVao;
                        ect.MaKhach   = item.MaKhach;
                        ect.MaPhong   = item.MaPhong;
                        ect.NgayRa    = item.NgayRa;
                        ect.NgayVao   = item.NgayVao;
                        ect.MaThue    = tpbus.getMaThueCuoi();
                        ect.TrangThai = false;
                        cttpbus.insertCTTP(ect);
                    }
                }
                foreach (eChiTietThuePhong item in cttpbus.getChiTietThuePhong_By_MaThue_TrangThai(maThue, 1))
                {
                    eChiTietThuePhong ect = new eChiTietThuePhong();
                    ect.GioRa     = item.GioRa;
                    ect.GioVao    = item.GioVao;
                    ect.MaKhach   = item.MaKhach;
                    ect.MaPhong   = item.MaPhong;
                    ect.NgayRa    = item.NgayRa;
                    ect.NgayVao   = item.NgayVao;
                    ect.MaThue    = tpbus.getMaThueCuoi();
                    ect.TrangThai = true;
                    cttpbus.insertCTTP(ect);
                }

                foreach (eChiTetDichVu item in ctdvbus.getctdv_byMaThue(maThue))
                {
                    eChiTetDichVu ctdv = new eChiTetDichVu();
                    ctdv.MaThue  = tpbus.getMaThueCuoi();
                    ctdv.MaPhong = cboPhongTrong.SelectedValue.ToString();
                    ctdv.MaKhach = item.MaKhach;
                    ctdv.MaDV    = item.MaDV;
                    ctdv.SoLuong = item.SoLuong;
                    ctdvbus.insertCTDV(ctdv);
                }

                foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue(maThue))
                {
                    if (item.MaPhong.Equals(pbus.maPhong_byTen(TenPhong)))
                    {
                        eChiTietThuePhong ectOld = new eChiTietThuePhong();
                        ectOld.MaThue  = maThue;
                        ectOld.MaPhong = item.MaPhong;
                        //ectOld.MaKhach = cttpbus.getMaKhach_By_MaPhong_TrangThai(ectOld.MaPhong, false);
                        ectOld.MaKhach   = item.MaKhach;
                        ectOld.TrangThai = true;
                        ectOld.GhiChu    = "Đổi phòng";
                        cttpbus.updateTrangThaiChiTietThuePhong(ectOld);
                    }
                    else
                    {
                        eChiTietThuePhong ectOld = new eChiTietThuePhong();
                        ectOld.MaThue    = maThue;
                        ectOld.MaPhong   = item.MaPhong;
                        ectOld.MaKhach   = item.MaKhach;
                        ectOld.TrangThai = true;
                        ectOld.GhiChu    = null;
                        cttpbus.updateTrangThaiChiTietThuePhong(ectOld);
                    }
                }

                eThuePhong tp = new eThuePhong();
                tp.MaThue    = maThue;
                tp.TrangThai = true;
                tpbus.updateThuePhong(tp);

                ePhong ep = new ePhong();
                ep.MaPhong   = pbus.maPhong_byTen(TenPhong);
                ep.TinhTrang = false;
                pbus.updateTinhTrangPhong(ep);

                ePhong newp = new ePhong();
                newp.MaPhong     = cboPhongTrong.SelectedValue.ToString();
                newp.TinhTrang   = true;
                newp.SoNgHienTai = pbus.getEPhong_byID(pbus.maPhong_byTen(TenPhong)).SoNgHienTai;
                pbus.updateTinhTrangPhong(newp);

                MessageBox.Show("Thành công");
                this.Close();
            }
            else
            {
                MessageBox.Show("Không thành công");
                return;
            }
        }
        private void btnLuu_Click(object sender, EventArgs e)
        {
            ThuePhongBUS tpbus = new ThuePhongBUS();
            PhongBUS     pbus  = new PhongBUS();
            LoaiPhongBUS lpbus = new LoaiPhongBUS();
            eThuePhong   tp    = new eThuePhong();
            NhanVienBUS  nvbus = new NhanVienBUS();
            DoanBUS      dbus  = new DoanBUS();
            //Tao Doan
            eDoan doan = new eDoan();

            doan.DiaChi       = txtDiaChi.Text.Trim();
            doan.MaTruongDoan = txtTruongDoan.Text.Trim();
            doan.TenDoan      = txtTenDoan.Text.Trim();
            doan.Sdt          = txtSdtDoan.Text.Trim();
            if (dbus.getdoan_sdt(txtSdtDoan.Text.Trim()) == null)
            {
                int kqTaoDoan = dbus.insertDoan(doan);
            }
            tp.MaNV   = nvbus.getmaNV_byEmail(emailNV);
            tp.MaDoan = dbus.getId_ByTenDoan(txtTenDoan.Text.Trim()); //ma doan
            int soLuongP = 0;

            for (int i = 0; i < gridViewLoaiPhong.RowCount; i++)
            {
                soLuongP += Convert.ToInt32(gridViewLoaiPhong.GetRowCellValue(i, gridViewLoaiPhong.Columns[3]));
            }

            tp.SoLuongPhong = soLuongP;
            tp.TrangThai    = false;
            TimeSpan          gioVao = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            TimeSpan          gioRa  = new TimeSpan(14, 00, 00);
            int               a      = tpbus.insertThuePhong(tp);
            eChiTietThuePhong cttp   = new eChiTietThuePhong();

            if (a == 1)
            {
                ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
                foreach (eKhachHang item in ls)
                {
                    cttp.MaThue    = tpbus.getMaThueCuoi();
                    cttp.MaKhach   = item.MaKH;
                    cttp.MaPhong   = pbus.maPhong_byTen(item.SoPhong);
                    cttp.NgayRa    = Convert.ToDateTime(dtmNgayRa.Text).Date;
                    cttp.NgayVao   = DateTime.Now.Date;
                    cttp.GioRa     = gioRa;
                    cttp.GioVao    = gioVao;
                    cttp.TrangThai = false;
                    cttpbus.insertCTTP(cttp);
                    ePhong p = new ePhong();
                    p.MaPhong   = pbus.maPhong_byTen(item.SoPhong);
                    p.TinhTrang = true;
                    int soPhong = 0;
                    foreach (var kh in ls)
                    {
                        if (kh.SoPhong.Equals(item.SoPhong))
                        {
                            soPhong++;
                        }
                    }
                    p.SoNgHienTai = soPhong;
                    pbus.updateTinhTrangPhong(p);
                }
                MessageBox.Show("Đặt phòng thành công");
                this.Close();
            }
            else
            {
                MessageBox.Show("Không thành công");
                return;
            }
        }
示例#16
0
        private void wbntQuanlyphong_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Thêm Dịch Vụ":
                folderDichVu.ChonDichVu chonDichVu = new folderDichVu.ChonDichVu(false);

                XtraDialogArgs args = new XtraDialogArgs(caption: "Chọn dịch vụ", content: chonDichVu, buttons: new DialogResult[] { DialogResult.OK, DialogResult.Cancel });
                args.Showing += Args_Showing;


                if (XtraDialog.Show(args) == DialogResult.OK)
                {
                    foreach (int dichVu_Key in chonDichVu.GetSelectedDichVu().Keys)
                    {
                        DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), thuePhong.MaThuePhong, dichVu_Key, DateTime.Now, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia));
                        //DichVuBUS.LayThongTinDichVu(dichVu_Key);
                    }

                    RefreshDataBindingDichVuPhong();
                }
                break;

            case "Chuyển Phòng":
                ChuyenPhong formChuyenPhong = new ChuyenPhong(thuePhong);
                if (FlyoutDialog.Show(this.FindForm(), formChuyenPhong) == DialogResult.OK)
                {
                    OnThueThemPhongSuccess();
                }

                break;

            case "Xóa Dịch Vụ":
                if (XtraMessageBox.Show("Bạn có chắc muốn xóa dịch vụ '" + dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["TenDV"] + "' ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                {
                    DichVuPhongBUS.XoaDichVuPhong((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDVP"]);


                    RefreshDataBindingDichVuPhong();
                }

                break;

            case "Hủy Phòng":

                //Thông báo xác nhận
                if (XtraMessageBox.Show("Bạn có chắc hủy thuê phòng này ?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }


                ThuePhongBUS.XoaCacDichVuPhong(thuePhong);
                ThuePhongBUS.XoaThuePhong(thuePhong);
                PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 0);
                if (HoaDonBUS.DemSoLuongThuePhong(hoaDon.MaHoaDon) == 0)
                {
                    HoaDonBUS.XoaHoaDon(hoaDon);
                }

                ((ThongTinChiTietNhieuPhong)Parent.Parent.Parent).OnXoaPhong();

                break;

            case "Trả Phòng":

                //Đếm số lượng phòng đã trả trong hóa đơn / Nếu hóa đơn còn 1 phòng chuyển qua thanh toán
                if (HoaDonBUS.DemSoLuongPhongDangConDuocThueHienTai(hoaDon) == 1)
                {
                    XtraMessageBox.Show("Hóa đơn chỉ còn lại 1 phòng! Vui lòng thanh toán", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                //Xác nhận trả phòng
                if (XtraMessageBox.Show("Bạn có chắc trả phòng này ?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }


                ThuePhongBUS.CapNhatThongTinThuePhong(new ThuePhongDTO(thuePhong.MaThuePhong, thuePhong.MaPhong, thuePhong.GioThuePhong, DateTime.Now, thuePhong.MaHoaDon, Double.NaN));
                switch (PhongBUS.LayThongTinPhong(thuePhong.MaPhong).MaTinhTrangPhong)
                {
                case 1:
                    if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 5);
                    }
                    else
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 0);
                    }
                    break;

                case 7:
                    if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 6);
                    }
                    else
                    {
                        PhongBUS.CapNhatTinhTrangPhong(thuePhong.MaPhong, 4);
                    }
                    break;
                }

                //Thông báo thành công
                XtraMessageBox.Show("Trả phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

                RefreshDataBinding(phong, ThuePhongBUS.LayThongTinThuePhong(thuePhong.MaThuePhong));

                break;

            case "Thanh Toán":
                goToThanhToan(thuePhong);
                break;

            case "Thông tin đặt phòng":
                (this.ParentForm as MainForm).HienThiThongTinDatPhong(HoaDonBUS.LayThongTinHoaDon(thuePhong.MaHoaDon).MaDatPhong);
                break;

            case "Tách Hóa Đơn":
                if (HoaDonBUS.LayTatCaCacThuePhong(hoaDon.MaHoaDon).Count == 1)
                {
                    XtraMessageBox.Show("Hóa đơn chỉ có 1 phòng nên không thể tách!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                FlyoutDialog.Show(this.FindForm(), new TachHoaDon(hoaDon, OnThueThemPhongSuccess));
                break;

            case "Thuê Thêm Phòng":
                FlyoutDialog.Show(this.FindForm(), new ThemPhongVaoHoaDon(hoaDon, OnThueThemPhongSuccess));
                break;
            }
        }
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(txtGiamTru.Text) > 10 && Convert.ToInt32(txtGiamTru.Text) < 0)
            {
                MessageBox.Show("Mức giảm giá phải nhỏ hơn 10%");
                txtGiamTru.Focus();
                return;
            }
            if (txtKhachThanhToan.Text.Equals(""))
            {
                MessageBox.Show("Xin hãy nhập số tiền khách thanh toán");
                return;
            }

            TimeSpan            gioHienTai = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            HoaDonTienPhongBUS  hdtpbus    = new HoaDonTienPhongBUS();
            ThuePhongBUS        tpbus      = new ThuePhongBUS();
            ChiTietThuePhongBUS cttpbus    = new ChiTietThuePhongBUS();
            HoaDonDichVuBUS     hddvbus    = new HoaDonDichVuBUS();
            PhongBUS            pbus       = new PhongBUS();

            int a = 0;
            int b = 0;

            if (cttpbus.getChiTietThuePhong_By_MaThue(MaThue).Count < 2)
            {
                eHoaDonTienPhong tt_ent = new eHoaDonTienPhong();
                tt_ent.MaThue    = lblMaThue.Text.Trim();
                tt_ent.NgayLap   = DateTime.Now;
                tt_ent.GioLap    = gioHienTai;
                tt_ent.ThueVAT   = Convert.ToSingle(10 / 10);
                tt_ent.KhuyenMai = Convert.ToSingle((Convert.ToSingle(txtGiamTru.Text) * tienphong));
                a = hdtpbus.insertThanhToan(tt_ent);
            }

            if (tpbus.getMaDoan_ByMaThue(MaThue) != null || ctdvbus.getctdv_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)).Count != 0)
            {
                b++;
            }

            /* Với a = 1 thanh toán khách lẻ
             *  Với b = 1 thanh toán khách đoàn */

            //Update lại trạng thái phòng
            ePhong phong = new ePhong();

            phong.MaPhong   = pbus.maPhong_byTen(TenPhong);
            phong.TinhTrang = false;
            pbus.updateTinhTrangPhong(phong);

            //Update lại trạng thái chi tiết thuê phòng
            eChiTietThuePhong cttp = new eChiTietThuePhong();

            foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
            {
                cttp.MaThue    = MaThue;
                cttp.MaKhach   = item.MaKhach;
                cttp.MaPhong   = item.MaPhong;
                cttp.TrangThai = true;
                cttpbus.updateTrangThaiChiTietThuePhong(cttp);
            }

            //update lại thông tin thuê phòng
            eThuePhong tp = new eThuePhong();

            tp.MaThue    = MaThue;
            tp.TrangThai = true;
            tpbus.updateThuePhong(tp);

            if (a == 1)
            {
                MessageBox.Show("Đã thanh toán thành công");

                KhachHangBUS          khbus     = new KhachHangBUS();
                NhanVienBUS           nvbus     = new NhanVienBUS();
                LoaiPhongBUS          lpbus     = new LoaiPhongBUS();
                HoaDon                bc        = new HoaDon();
                List <eChiTietBaoCao> listphong = new List <eChiTietBaoCao>();
                foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
                {
                    eChiTietBaoCao ctbc = new eChiTietBaoCao();
                    ctbc.tenPhong     = pbus.getTenPhong_ByID(item.MaPhong);
                    ctbc.tenLoaiPhong = lpbus.getTen_Byma(pbus.getLoaiPhong_ByID(item.MaPhong));
                    ctbc.thoiGianNhan = item.GioVao + " " + item.NgayVao.Date.ToShortDateString();
                    ctbc.thoiGianTra  = item.GioRa + " " + item.NgayRa.Date.ToShortDateString();
                    ctbc.tienPhong    = tienvat + tienphong + tiendv + Convert.ToDouble(phuthu);
                    listphong.Add(ctbc);
                    break;
                }

                if (cttpbus.getChiTietThuePhong_By_MaThue(MaThue).Count < 2)
                {
                    foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
                    {
                        bc.tenNV        = nvbus.getenNV_ByID(maNVThanhToan);
                        bc.tenKH        = khbus.getenKH_ByID(item.MaKhach);
                        bc.soHD         = hdtpbus.gemaHD_BymaThue(MaThue); //Cần xem xét lại
                        bc.thoiGianInHD = DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString();
                    }
                }

                this.Close();
                frmPrint frmp = new frmPrint();
                frmp.InHoaDonInTuReport(bc, listphong.ToList());
                frmp.ShowDialog();
            }

            if (b == 1)
            {
                List <eCTDV> lsctdv = new List <eCTDV>();
                DichVuBUS    dvbus  = new DichVuBUS();
                KhachHangBUS khbus  = new KhachHangBUS();
                NhanVienBUS  nvbus  = new NhanVienBUS();
                LoaiPhongBUS lpbus  = new LoaiPhongBUS();
                HoaDon       bc     = new HoaDon();

                if (ctdvbus.getctdv_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)) != null)
                {
                    foreach (var item in ctdvbus.getctdv_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
                    {
                        eHoaDonDichVu hddv = new eHoaDonDichVu();
                        hddv.MaHDDV  = (DateTime.Now.Day).ToString() + (DateTime.Now.Month).ToString() + (DateTime.Now.Year).ToString() + item.MaThue + item.MaKhach + item.MaPhong;
                        hddv.MaThue  = MaThue;
                        hddv.NgayLap = DateTime.Now.Date;
                        hddv.GioLap  = gioHienTai;
                        hddv.MaKH    = item.MaKhach;
                        hddv.MaPhong = item.MaPhong;
                        hddvbus.insertThanhToanDV(hddv);
                        break;
                    }
                }

                foreach (var item in ctdvbus.getctdv_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
                {
                    eCTDV ctdv = new eCTDV();
                    ctdv.TenDV   = dvbus.getTenDV_byID(item.MaDV);
                    ctdv.SoLuong = item.SoLuong;
                    ctdv.DonGia  = dvbus.getDonGia_byID(item.MaDV);
                    lsctdv.Add(ctdv);
                }

                foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_MaPhong(MaThue, pbus.maPhong_byTen(TenPhong)))
                {
                    if (item.MaPhong.Equals(pbus.maPhong_byTen(TenPhong)))
                    {
                        bc.tenNV        = nvbus.getenNV_ByID(maNVThanhToan);
                        bc.tenKH        = khbus.getenKH_ByID(item.MaKhach);
                        bc.soHD         = hddvbus.gemaHD_BymaThue_maPhong(MaThue, item.MaPhong);
                        bc.thoiGianInHD = DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString();
                        bc.tenPhong     = pbus.getTenPhong_ByID(item.MaPhong);
                    }
                }

                frmPrint frmInDV = new frmPrint();
                frmInDV.InHoaDonInDichVuTuReport(bc, lsctdv.ToList());
                frmInDV.ShowDialog();
                this.Close();
            }
        }
        private void btnThanhToan_Click(object sender, EventArgs e)
        {
            ChiTietThuePhongBUS cttpbus    = new ChiTietThuePhongBUS();
            ThuePhongBUS        tpbus      = new ThuePhongBUS();
            DoanBUS             dbus       = new DoanBUS();
            PhongBUS            pbus       = new PhongBUS();
            HoaDonTienPhongBUS  hdtpbus    = new HoaDonTienPhongBUS();
            TimeSpan            gioHienTai = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            eHoaDonTienPhong    tt_ent     = new eHoaDonTienPhong();

            tt_ent.MaThue    = tpbus.getMaThue_ByMaDoan(dbus.getId_ByTenDoan(txtTenDoan.Text), 0);
            tt_ent.NgayLap   = DateTime.Now;
            tt_ent.GioLap    = gioHienTai;
            tt_ent.ThueVAT   = Convert.ToSingle(txtThueVAT.Text);
            tt_ent.KhuyenMai = Convert.ToSingle(txtKhuyenMai.Text);
            int a = hdtpbus.insertThanhToan(tt_ent);

            if (a == 1)
            {
                foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue(tpbus.getMaThue_ByMaDoan(dbus.getId_ByTenDoan(txtTenDoan.Text), 0)))
                {
                    eChiTietThuePhong ectOld = new eChiTietThuePhong();
                    ectOld.MaThue    = tpbus.getMaThue_ByMaDoan(dbus.getId_ByTenDoan(txtTenDoan.Text), 0);
                    ectOld.MaPhong   = item.MaPhong;
                    ectOld.MaKhach   = item.MaKhach;
                    ectOld.NgayRa    = DateTime.Now.Date;
                    ectOld.GioRa     = gioHienTai;
                    ectOld.TrangThai = true;
                    cttpbus.updateChiTietThuePhong(ectOld);

                    ePhong newp = new ePhong();
                    newp.MaPhong     = item.MaPhong;
                    newp.TinhTrang   = false;
                    newp.SoNgHienTai = 0;
                    pbus.updateTinhTrangPhong(newp);
                }

                eThuePhong tp = new eThuePhong();
                tp.MaThue    = tpbus.getMaThue_ByMaDoan(dbus.getId_ByTenDoan(txtTenDoan.Text), 0);
                tp.TrangThai = true;
                tpbus.updateThuePhong(tp);

                MessageBox.Show("Thanh toán thành công");

                NhanVienBUS           nvbus     = new NhanVienBUS();
                LoaiPhongBUS          lpbus     = new LoaiPhongBUS();
                HoaDon                bc        = new HoaDon();
                List <eChiTietBaoCao> listphong = new List <eChiTietBaoCao>();
                foreach (var item in cttpbus.getChiTietThuePhong_By_MaThue_TrangThai(tp.MaThue, 1))
                {
                    eChiTietBaoCao ctbc = new eChiTietBaoCao();
                    ctbc.tenPhong     = pbus.getTenPhong_ByID(item.MaPhong);
                    ctbc.tenLoaiPhong = lpbus.getTen_Byma(pbus.getLoaiPhong_ByID(item.MaPhong));
                    ctbc.thoiGianNhan = item.GioVao + " " + item.NgayVao.Date.ToShortDateString();
                    ctbc.thoiGianTra  = item.GioRa + " " + item.NgayRa.Date.ToShortDateString();
                    eHoaDonTienPhong hdtp       = new eHoaDonTienPhong();
                    double           tienPhong  = Convert.ToDouble(hdtp.tinhTienPhong(item, lpbus.donGia(pbus.getLoaiPhong_ByID(item.MaPhong)), Convert.ToDateTime(item.GioVao + "   " + item.NgayVao.ToShortDateString()), Convert.ToDateTime(DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString())));
                    double           tienPhuThu = Convert.ToDouble(hdtp.tinhTienPhuThu(item, lpbus.donGia(pbus.getLoaiPhong_ByID(item.MaPhong))));
                    ctbc.tienPhong = tienPhong + tienPhuThu;
                    listphong.Add(ctbc);
                }

                for (int i = 0; i < listphong.Count; i++)
                {
                    for (int j = 1; j < listphong.Count; j++)
                    {
                        if (i == j)
                        {
                            continue;
                        }
                        if (listphong[i].tenPhong.Equals(listphong[j].tenPhong))
                        {
                            listphong.RemoveAt(i);
                        }
                    }
                }

                foreach (var item in tpbus.getMaThue(tp.MaThue))
                {
                    bc.tenNV        = nvbus.getenNV_ByID(maNVThanhToan);
                    bc.tenKH        = dbus.getTen_ById(item.MaDoan);
                    bc.soHD         = hdtpbus.gemaHD_BymaThue(tp.MaThue); //Cần xem xét lại
                    bc.thoiGianInHD = DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString();
                }
                this.Close();
                frmPrint frmp = new frmPrint();
                frmp.InHoaDonInTuReport(bc, listphong.ToList());
                frmp.ShowDialog();

                ChiTietDichVuBUS ctdvbus = new ChiTietDichVuBUS();
                HoaDonDichVuBUS  hddvbus = new HoaDonDichVuBUS();
                DichVuBUS        dvbus   = new DichVuBUS();
                KhachHangBUS     khbus   = new KhachHangBUS();
                if (ctdvbus.getctdv_byMaThue(tt_ent.MaThue) != null)
                {
                    foreach (var item in ctdvbus.getctdv_byMaThue(tt_ent.MaThue))
                    {
                        if (hddvbus.kiemTraTonTai(item.MaThue, item.MaPhong) == false)
                        {
                            eHoaDonDichVu hddv = new eHoaDonDichVu();
                            hddv.MaHDDV  = (DateTime.Now.Day).ToString() + (DateTime.Now.Month).ToString() + (DateTime.Now.Year).ToString() + item.MaThue + item.MaKhach + item.MaPhong;
                            hddv.MaThue  = item.MaThue;
                            hddv.MaKH    = item.MaKhach;
                            hddv.MaPhong = item.MaPhong;
                            hddv.NgayLap = DateTime.Now.Date;
                            hddv.GioLap  = gioHienTai;
                            hddvbus.insertThanhToanDV(hddv);
                            List <eCTDV> lsctdv = new List <eCTDV>();
                            foreach (eChiTetDichVu dv in ctdvbus.getctdv_MaThue_MaPhong(item.MaThue, item.MaPhong))
                            {
                                eCTDV ctdv = new eCTDV();
                                ctdv.TenDV   = dvbus.getTenDV_byID(dv.MaDV);
                                ctdv.SoLuong = dv.SoLuong;
                                ctdv.DonGia  = dvbus.getDonGia_byID(dv.MaDV);
                                lsctdv.Add(ctdv);
                            }

                            bc.tenNV        = nvbus.getenNV_ByID(maNVThanhToan);
                            bc.tenKH        = khbus.getenKH_ByID(item.MaKhach);
                            bc.soHD         = hddvbus.gemaHD_BymaThue_maPhong(item.MaThue, item.MaPhong);
                            bc.thoiGianInHD = DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString();
                            bc.tenPhong     = pbus.getTenPhong_ByID(item.MaPhong);

                            frmPrint frmInDV = new frmPrint();
                            frmInDV.InHoaDonInDichVuTuReport(bc, lsctdv.ToList());
                            frmInDV.ShowDialog();
                            this.Close();
                        }
                    }
                }
            }
        }
示例#19
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":
                ((FlyoutDialog)this.Parent).DialogResult = DialogResult.Cancel;
                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Chuyển":
                if (chiTietDatPhong == null)    //Chuyển phong đang thuê
                {
                    if (PhongBUS.LayThongTinPhong(phongMoi.MaPhong).MaTinhTrangPhong != 0)
                    {
                        XtraMessageBox.Show("Phòng " + PhongBUS.LayThongTinPhong((int)txtMaPhong.EditValue).TenPhong + " hiện không có sẵn! Vui lòng chọn lại phòng khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


                        txtPhong.Properties.DataSource = dtPhong = PhongBUS.LayTatCaPhong_TinhTrangPhong_LoaiPhong_CoSan();

                        txtPhong.EditValue = "";
                        gridView1.ClearSelection();
                        txtPhong.Refresh();

                        txtPhong.ErrorText     = "Không có phòng nào được chọn";
                        txtMaPhong.EditValue   = "";
                        txtLoaiPhong.EditValue = "";
                        txtTang.EditValue      = "";
                        txtGhiChu.EditValue    = "";
                        windowsUIButtonPanel1.Buttons[0].Properties.Visible = false;

                        return;
                    }

                    ThuePhongBUS.CapNhatThongTinThuePhong(new ThuePhongDTO(phongCu.MaThuePhong, phongCu.MaPhong, phongCu.GioThuePhong, DateTime.Now, phongCu.MaHoaDon, Double.NaN));
                    switch (PhongBUS.LayThongTinPhong(phongCu.MaPhong).MaTinhTrangPhong)
                    {
                    case 1:
                        if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                        {
                            PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 5);
                        }
                        else
                        {
                            PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 0);
                        }
                        break;

                    case 7:
                        if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                        {
                            PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 6);
                        }
                        else
                        {
                            PhongBUS.CapNhatTinhTrangPhong(phongCu.MaPhong, 4);
                        }
                        break;
                    }


                    phongMoi = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), (int)txtMaPhong.EditValue, DateTime.Now, DateTime.MinValue, phongCu.MaHoaDon, Double.NaN);
                    ThuePhongBUS.LuuThongTinThuePhong(phongMoi);
                    PhongBUS.CapNhatTinhTrangPhong(phongMoi.MaPhong, 1);
                }
                else     //Chuyển phòng đặt
                {
                    if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 4)
                    {
                        PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 0);
                    }
                    else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 6)
                    {
                        PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 5);
                    }
                    else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 7)
                    {
                        PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 1);
                    }
                    ChiTietDatPhongBUS.CapNhatThongTinDatPhong(new ChiTietDatPhongDTO(chiTietDatPhong.MaChiTietDatPhong, (int)txtMaPhong.EditValue, chiTietDatPhong.MaDatPhong));
                }

                ((FlyoutDialog)this.Parent).DialogResult = DialogResult.OK;
                ((FlyoutDialog)this.Parent).Hide();
                break;

            default:
                break;
            }
        }
        public void loadThuePhong_Doan()
        {
            ChiTietThuePhongBUS      cttpbus  = new ChiTietThuePhongBUS();
            ThuePhongBUS             tpbus    = new ThuePhongBUS();
            DoanBUS                  dbus     = new DoanBUS();
            LoaiPhongBUS             lpbus    = new LoaiPhongBUS();
            PhongBUS                 pbus     = new PhongBUS();
            ChiTietDichVuBUS         ctdvbus  = new ChiTietDichVuBUS();
            DichVuBUS                dvbus    = new DichVuBUS();
            List <eChiTietThuePhong> list_ect = new List <eChiTietThuePhong>();

            list_ect = cttpbus.getChiTietThuePhong_By_MaThue_TrangThai(tpbus.getMaThue_ByMaDoan(dbus.getId_ByTenDoan(txtTenDoan.Text), 0), 0);

            for (int i = 0; i < list_ect.Count; i++)
            {
                for (int j = 1; j < list_ect.Count; j++)
                {
                    if (i == j)
                    {
                        list_ect.RemoveAt(i);
                        continue;
                    }
                    if (list_ect[i].MaPhong.Equals(list_ect[j].MaPhong))
                    {
                        list_ect.RemoveAt(i);
                    }
                }
            }

            List <eThuePhong_Doan> lstp_d = new List <eThuePhong_Doan>();

            foreach (eChiTietThuePhong item in list_ect)
            {
                eThuePhong_Doan  etpd       = new eThuePhong_Doan();
                eHoaDonTienPhong hdtp       = new eHoaDonTienPhong();
                eHoaDonDichVu    hddv       = new eHoaDonDichVu();
                double           tienPhong  = Convert.ToDouble(hdtp.tinhTienPhong(item, lpbus.donGia(pbus.getLoaiPhong_ByID(item.MaPhong)), Convert.ToDateTime(item.GioVao + "   " + item.NgayVao.ToShortDateString()), Convert.ToDateTime(DateTime.Now.ToLongTimeString() + "   " + DateTime.Now.ToShortDateString())));
                double           tienPhuThu = 0;
                if (item.GhiChu.Equals(""))
                {
                    tienPhuThu += Convert.ToDouble(hdtp.tinhTienPhuThu(item, lpbus.donGia(pbus.getLoaiPhong_ByID(item.MaPhong))));
                }
                else
                {
                    tienPhuThu += Convert.ToDouble(hdtp.tinhTienPhuThu(item, lpbus.donGia(pbus.getLoaiPhong_ByID(pbus.maPhong_byTen(item.GhiChu.Substring(0, 8))))));
                }
                etpd.Tenphong  = pbus.getTenPhong_ByID(item.MaPhong);
                etpd.TienPhong = tienPhong + tienPhuThu;
                double tienDV = 0;
                foreach (eChiTetDichVu ctdv in ctdvbus.getctdv_MaThue_MaPhong(item.MaThue, item.MaPhong))
                {
                    tienDV += hddv.tinhDichVu(dvbus.getDonGia_byID(ctdv.MaDV), ctdv.SoLuong);
                }
                etpd.TienDV   = tienDV;
                etpd.TienKhac = item.TienKhac;
                etpd.GhiChu   = item.GhiChu;
                lstp_d.Add(etpd);
            }
            dgvDsThuePhong.DataSource = lstp_d.ToList();
            double tongTienPhong = 0;

            for (int i = 0; i < gridViewDsThuePhong.RowCount; i++)
            {
                tongTienPhong += Convert.ToDouble(gridViewDsThuePhong.GetRowCellValue(i, gridViewDsThuePhong.Columns[1]));
            }
            txtTongTienPhong.Text = string.Format("{0:#,##0}", tongTienPhong).ToString();
            txtThueVAT.Text       = string.Format("{0:#,##0}", tongTienPhong * 0.1).ToString();
            txtKhuyenMai.Text     = string.Format("{0:#,##0}", tongTienPhong * 0.2).ToString();
            txtTienThanhToan.Text = string.Format("{0:#,##0}", tongTienPhong + tongTienPhong * 0.1 - tongTienPhong * 0.2).ToString();
        }
示例#21
0
        //Load giao diện các phòng trống và phòng có chứa khách hàng
        public void TaoGiaoDienPhong(List <ePhong> soPhong, List <ePhong> phongTrong, List <ePhong> coKhach, string title)
        {
            //Tạo ra một flowLayoutPanel để chứa các panel
            PhongBUS        pbus             = new PhongBUS();
            FlowLayoutPanel flowLayoutPanel3 = new FlowLayoutPanel();

            flowLayoutPanel3.AutoSize     = true;
            flowLayoutPanel3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            flowLayoutPanel1.Controls.Add(flowLayoutPanel3);
            Label text = new Label();

            text.Size      = new Size(1850, 30);
            text.TextAlign = ContentAlignment.TopCenter;
            text.Text      = title;
            flowLayoutPanel3.Controls.Add(text);
            //Tạo các label để chứa thông tin, màu sắc thể hiện các phòng
            foreach (var item in soPhong)
            {
                DevExpress.XtraEditors.PanelControl P0001 = new DevExpress.XtraEditors.PanelControl();
                Label lbl = new Label();
                flowLayoutPanel3.Controls.Add(P0001);
                P0001.Appearance.Options.UseBackColor = true;
                P0001.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Style3D;
                P0001.Controls.Add(lbl);
                P0001.Location = new Point(3, 3);
                P0001.Name     = item.MaPhong;
                P0001.Size     = new Size(170, 150);
                lbl.Font       = new Font("Tahoma", 9F);
                lbl.Dock       = DockStyle.Fill;
                lbl.Size       = new Size(150, 120);
                lbl.TextAlign  = ContentAlignment.TopCenter;
            }
            //Load thông tin của phòng trống vào từng label
            foreach (var item in phongTrong)
            {
                foreach (var pnl in flowLayoutPanel3.Controls.OfType <DevExpress.XtraEditors.PanelControl>())
                {
                    if (pnl.Name.Equals(item.MaPhong.Trim()))
                    {
                        pnl.BackColor = Color.LawnGreen;
                        foreach (var lbl in pnl.Controls.OfType <Label>())
                        {
                            string ma = item.MaPhong.Substring(3, 5);
                            lbl.BackColor        = Color.LawnGreen;
                            lbl.Text             = "Phòng " + Convert.ToInt32(ma);
                            lbl.MouseDown       += new MouseEventHandler(lbl_ClickTP);
                            lbl.ContextMenuStrip = cmnstrpSanSang;
                        }
                    }
                }
            }
            //Load thông tin của phòng đang có khách vào từng label
            foreach (var item in coKhach)
            {
                foreach (var pnl in flowLayoutPanel3.Controls.OfType <DevExpress.XtraEditors.PanelControl>())
                {
                    if (pnl.Name.Equals(item.MaPhong.Trim()))
                    {
                        pnl.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
                        foreach (var lbl in pnl.Controls.OfType <Label>())
                        {
                            lbl.BackColor = Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
                            string ma = item.MaPhong.Substring(3, 5);
                            ChiTietThuePhongBUS cttpbus = new ChiTietThuePhongBUS();
                            DoanBUS             dbus    = new DoanBUS();
                            ThuePhongBUS        tpbus   = new ThuePhongBUS();
                            foreach (var thuePhong in tpbus.getMaThue(cttpbus.getMaThue_By_MaPhong_TrangThai(item.MaPhong, false)))
                            {
                                if (thuePhong.MaDoan == null)
                                {
                                    lbl.Text = "Phòng " + Convert.ToInt32(ma);
                                }
                                else
                                {
                                    string tendoan  = dbus.getTen_ById(tpbus.getMaDoan_ByMaThue(cttpbus.getMaThue_By_MaPhong_TrangThai(item.MaPhong, false)));
                                    string tenPhong = "Phòng " + Convert.ToInt32(ma);
                                    lbl.Text = tenPhong + "\n\n\rĐoàn: " + tendoan;
                                }
                            }
                            lbl.MouseDown       += new MouseEventHandler(lblred_Click);
                            lbl.MouseHover      += new EventHandler(lblred_MouseHover);
                            lbl.ContextMenuStrip = cmnstrpCoKhach;
                        }
                    }
                }
            }
        }
示例#22
0
        private void windowsUIButtonPanel1_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Hủy":

                ((FlyoutDialog)this.Parent).Hide();
                break;

            case "Thuê":
                //Kiểm tra khách hàng
                if (khachHang == null)
                {
                    XtraMessageBox.Show("Không có khách hàng nào được chọn!", "Lỗi", MessageBoxButtons.OK);

                    return;
                }

                //Kiểm tra xem phòng vẫn còn trống không
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    if (PhongBUS.LayThongTinPhong(phong.MaPhong).MaTinhTrangPhong != 0)
                    {
                        XtraMessageBox.Show("Phòng " + phong.TenPhong + " hiện không có sẵn! Vui lòng chọn lại phòng khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);


                        txtPhong.Properties.DataSource = dtPhong = PhongBUS.LayTatCaPhong_TinhTrangPhong_LoaiPhong_CoSan();


                        selectedPhong.Clear();
                        txtPhong.Refresh();
                        return;
                    }
                }

                //NOTE Tài khoản thanh toán
                //BÌNH


                //Phát sinh hóa đơn
                HoaDonDTO hoaDon = new HoaDonDTO(HoaDonBUS.PhatSinhMaHoaDon(), -1, Double.NaN, Convert.ToDouble(txtTienTraTruoc.EditValue), DateTime.MinValue, Double.NaN, txtGhiChu.Text, khachHang.MaKH, -1);
                HoaDonBUS.LuuThongTinHoaDon(hoaDon);

                ThuePhongDTO tp = null;
                foreach (PhongDTO phong in selectedPhong.Values)
                {
                    tp = new ThuePhongDTO(ThuePhongBUS.PhatSinhMaThuePhong(), phong.MaPhong, (DateTime)txtGioVao.EditValue, DateTime.MinValue, hoaDon.MaHoaDon, double.NaN);
                    ThuePhongBUS.LuuThongTinThuePhong(tp);
                    PhongBUS.CapNhatTinhTrangPhong(phong, 1);
                }



                //Thông báo thành công
                onThuePhongSuccess(tp);

                ((FlyoutDialog)this.Parent).Hide();



                break;

            default:
                break;
            }
        }
示例#23
0
 internal void CapNhatThongTinThuePhong()
 {
     ThuePhongBUS.CapNhatThongTinThuePhong(new ThuePhongDTO(thuePhong.MaThuePhong, thuePhong.MaPhong, txtGioVao.Time, txtGioRa.Time, thuePhong.MaHoaDon, TongTienGio));
 }