Пример #1
0
        private void RefreshDataBinding()
        {
            txtPhong_2.Properties.DataSource = dtThuePhong = HoaDonBUS.LayTatCaCacThuePhong_Phong_LoaiPhong_DataTable(hoaDon.MaHoaDon);

            txtMaHoaDon_Goc.Text          = hoaDon.MaHoaDon.ToString();
            txtTienTraTruoc_Goc.EditValue = hoaDon.TienTraTruoc;
            txtKhachHang_Goc.Text         = KhachHangBUS.LayKhachHang(hoaDon.MaKH).TenKH;
            txtGhiChu_Goc.Text            = hoaDon.GhiChu;

            foreach (DataRow dr in dtThuePhong.Rows)
            {
                txtPhong_Goc.Text += PhongBUS.LayThongTinPhong((int)dr["MaPhong"]).TenPhong;

                txtPhong_Goc.Text += "; ";
            }

            txtMaHoaDon_1.Text          = txtMaHoaDon_Goc.Text;
            txtTienTraTruoc_1.EditValue = txtTienTraTruoc_Goc.EditValue;
            txtKhachHang_1.Text         = txtKhachHang_Goc.Text;
            txtGhiChu_1.Text            = txtGhiChu_Goc.Text;

            txtMaHoaDon_2.Text  = HoaDonBUS.PhatSinhMaHoaDon().ToString();
            txtKhachHang_2.Text = txtKhachHang_Goc.Text;
            txtGhiChu_2.Text    = txtGhiChu_Goc.Text;
            txtTienTraTruoc_2.Properties.MaxValue = Convert.ToDecimal(hoaDon.TienTraTruoc);
        }
Пример #2
0
        private void TruyenDataVao()
        {
            _ChiTietDTO              = _bus.LayThongTinBaoBieu(this._Id);
            lblIDBaoBieu.Text        = _ChiTietDTO.IdBaoBieu;
            lblIDPhong.Text          = _ChiTietDTO.IdPhong;
            lblThoiGianDatPhong.Text = _ChiTietDTO.ThoiGianBatDau;
            lblThoiGianTraPhong.Text = _ChiTietDTO.ThoiGianKetThuc;
            lblChiPhi.Text           = Global.Instance().ConvertCurrency(_ChiTietDTO.TongTien.ToString()) + " VND";

            PhongBUS phongBus = new PhongBUS();
            PhongDTO _phong   = phongBus.LayThongTinPhong(_ChiTietDTO.IdPhong);

            lblIDPhong.Text   = _phong.IdPhong;
            lblLoaiPhong.Text = _phong.LoaiPhong.ToString();

            KhachHangBUS khBus = new KhachHangBUS();
            KhachHangDTO _kh   = khBus.LayThongTinKhachHang(_ChiTietDTO.IdKhachHang);

            lblTenKhach.Text  = _kh.HoTen;
            lblCMNDKhach.Text = _kh.Cmnd.ToString();

            string[] _arrayDV = _ChiTietDTO.DsDichVu.Split(',');

            dataGridView1.AutoSizeRowsMode      = DataGridViewAutoSizeRowsMode.None;
            dataGridView1.AllowUserToResizeRows = false;
            dataGridView1.DataSource            = dsDichVu(_arrayDV);
            //dataGridView1.Columns[0].Visible = false;
        }
Пример #3
0
        void RefreshDataBindingTienGio()
        {
            tienGio = new DataTable();
            tienGio.Columns.Add(new DataColumn("Ngay"));
            tienGio.Columns.Add(new DataColumn("KhoangThoiGian"));
            tienGio.Columns.Add(new DataColumn("DonGia"));
            tienGio.Columns.Add(new DataColumn("SoLuong"));
            tienGio.Columns.Add(new DataColumn("GioBD", typeof(double)));
            tienGio.Columns.Add(new DataColumn("Phong"));
            tienGio.Columns.Add(new DataColumn("colType"));

            TongTienGio = 0;
            foreach (DTO.ThongTinThanhToanTheoNgay ngay in ThanhToanBUS.TinhTienThuePhong(thuePhong, txtGioRa.Time).listThongTin)
            {
                TongTienGio += ngay.TongThanhTien;
                foreach (LoaiPhongDTO.DonGiaTheoKhoangThoiGian dongia in ngay.listDonGiaTheoKhoangThoiGian)
                {
                    DataRow dr = tienGio.NewRow();

                    dr["Ngay"]           = ngay.ngay.Thu + " (" + ngay.ngay.date.ToString("dd-MM-yyyy") + ")";
                    dr["KhoangThoiGian"] = dongia.GioBatDau + " - " + dongia.GioKetThuc;
                    dr["GioBD"]          = dongia.GioBatDau.hour * 3600 + dongia.GioBatDau.minute * 60 + dongia.GioBatDau.second;
                    dr["DonGia"]         = dongia.DonGia;
                    dr["SoLuong"]        = Math.Round(ThongTinThanhToanTheoNgay.Gio.CalcTimeSpan(dongia.GioBatDau, dongia.GioKetThuc).TotalHours, 2);
                    dr["Phong"]          = PhongBUS.LayThongTinPhong(thuePhong.MaPhong).TenPhong;

                    tienGio.Rows.Add(dr);
                }
            }

            txtTienGio.Properties.DataSource = tienGio;
            txtTienGio.Properties.NullText   = TongTienGio.ToString("###,###,###,##0 VNĐ");
        }
Пример #4
0
        private void LoadData()
        {
            _phongDTO        = _phongBus.LayThongTinPhong(idPhong);
            txtIDPhong.Text  = _phongDTO.IdPhong;
            lblTenPhong.Text = _phongDTO.TenPhong;
            string s = Global.Instance().ConvertCurrency(_phongDTO.Dongia.ToString());

            lblChiPhi.Text   = s + " VND";
            txtNgay.Text     = DateTime.Now.ToString();
            txtNgay.ReadOnly = true;
        }
Пример #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;
            }
        }
Пример #6
0
        private void txtPhong1_Properties_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e)
        {
            foreach (DataRow dr in dtThuePhong.Rows)
            {
                if (!selectedThuePhong.ContainsKey((int)dr["MaThuePhong"]))
                {
                    e.DisplayText += PhongBUS.LayThongTinPhong((int)dr["MaThuePhong"]).TenPhong;

                    e.DisplayText += "; ";
                }
            }
        }
Пример #7
0
        public void TaoPhong_1()
        {
            DAL.DataProvider.InitalizeConnection();

            PhongDTO phongDto = new PhongDTO(PhongBUS.PhatSinhMaPhong(), "abc", 1, "Tầng 1", "", 1, 15);

            PhongBUS.LuuThongTinPhong(phongDto);


            PhongDTO p = PhongBUS.LayThongTinPhong(phongDto.MaPhong);

            Assert.IsTrue(phongDto.TenPhong == p.TenPhong);
        }
Пример #8
0
        internal void RefreshDataBinding(ChiTietDatPhongDTO chiTiet)
        {
            chiTietDatPhong = chiTiet;

            phong = PhongBUS.LayThongTinPhong(chiTiet.MaPhong);
            txtMaPhong.EditValue        = phong.MaPhong;
            txtTenPhong.EditValue       = phong.TenPhong;
            txtLoaiPhong.EditValue      = LoaiPhongBUS.LayLoaiPhong(phong).TenLoaiPhong;
            txtTang.EditValue           = phong.Tang;
            txtTinhTrangPhong.EditValue = PhongBUS.LayTinhTrangPhong(phong.MaTinhTrangPhong).TinhTrangPhong;
            txtGhiChu.EditValue         = phong.GhiChu;

            RefreshDataBindingDichVuPhong();
        }
        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);
        }
        public void RefreshDataBinding(ThuePhongDTO thuePhongDTO, Action <ThuePhongDTO> goToThanhToan)
        {
            this.goToThanhToan = goToThanhToan;
            this.thuePhongDTO  = thuePhongDTO;

            TabControl.TabPages.Clear();

            this.hoaDon = BUS.HoaDonBUS.LayThongTinHoaDonDangThue(thuePhongDTO.MaHoaDon);


            foreach (ThuePhongDTO thuePhong in HoaDonBUS.LayTatCaCacThuePhong(hoaDon.MaHoaDon))
            {
                ThongTinChiTietPhong thongTinChiTietPhong = new ThongTinChiTietPhong();
                thongTinChiTietPhong.RefreshDataBinding(PhongBUS.LayThongTinPhong(thuePhong.MaPhong), thuePhong);
                thongTinChiTietPhong.SetActionThanhToanButton(goToThanhToan);
                DevExpress.XtraTab.XtraTabPage xtraTab = new DevExpress.XtraTab.XtraTabPage();

                //
                // thongTinChiTietPhong1
                //
                thongTinChiTietPhong.Appearance.BackColor            = System.Drawing.Color.White;
                thongTinChiTietPhong.Appearance.Options.UseBackColor = true;
                thongTinChiTietPhong.Dock     = System.Windows.Forms.DockStyle.Fill;
                thongTinChiTietPhong.Location = new System.Drawing.Point(0, 0);
                thongTinChiTietPhong.Name     = "thongTinChiTietPhong1";
                thongTinChiTietPhong.Size     = new System.Drawing.Size(989, 591);
                thongTinChiTietPhong.TabIndex = 0;
                thongTinChiTietPhong.Load    += new System.EventHandler(this.thongTinChiTietPhong1_Load);

                //
                // tab1
                //
                xtraTab.Controls.Add(thongTinChiTietPhong);
                xtraTab.Name = thongTinChiTietPhong.phong.MaPhong.ToString();
                xtraTab.Size = new System.Drawing.Size(989, 591);
                xtraTab.Text = thongTinChiTietPhong.phong.TenPhong;
                xtraTab.Tag  = thongTinChiTietPhong.phong.MaPhong;
                //
                this.TabControl.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { xtraTab });
            }

            foreach (XtraTabPage tab in this.TabControl.TabPages)
            {
                if ((int)tab.Tag == thuePhongDTO.MaPhong)
                {
                    this.TabControl.SelectedTabPage = tab;
                    break;
                }
            }
        }
Пример #11
0
        private void txtPhong_Properties_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e)
        {
            var editor            = sender as GridLookUpEdit;
            var view              = editor.Properties.View;
            var selectedRowsCount = view.GetSelectedRows().Count();



            e.DisplayText = "";

            if (selectedThuePhong.Count == 0)
            {
                windowsUIButtonPanel1.Buttons[0].Properties.Visible = false;
                txtPhong_2.ErrorText = "Không có thuê phòng nào được chọn";
                return;
            }
            else if (selectedThuePhong.Count == dtThuePhong.Rows.Count)
            {
                windowsUIButtonPanel1.Buttons[0].Properties.Visible = false;
                txtPhong_1.ErrorText = "Thuê phòng không được rỗng";
            }
            else
            {
                windowsUIButtonPanel1.Buttons[0].Properties.Visible = true;
                txtPhong_2.ErrorText = "";
            }



            for (int i = 0; i < selectedThuePhong.Values.Count; i++)
            {
                e.DisplayText += PhongBUS.LayThongTinPhong(selectedThuePhong.Values.ToList()[i].MaPhong).TenPhong;
                if (i != selectedThuePhong.Values.Count - 1)
                {
                    e.DisplayText += "; ";
                }
            }

            txtPhong_1.Text = "";

            foreach (DataRow dr in dtThuePhong.Rows)
            {
                if (!selectedThuePhong.ContainsKey((int)dr["MaThuePhong"]))
                {
                    txtPhong_1.Text += PhongBUS.LayThongTinPhong((int)dr["MaPhong"]).TenPhong;

                    txtPhong_1.Text += "; ";
                }
            }
        }
Пример #12
0
        private void RefreshDataBinding_ChuyenPhong()
        {
            PhongDTO phongDto = PhongBUS.LayThongTinPhong(phongCu.MaPhong);

            txtLoaiPhong_Old.EditValue = LoaiPhongBUS.LayLoaiPhong(phongDto).TenLoaiPhong;
            txtMaPhong_Old.EditValue   = phongDto.MaPhong;
            txtTang_Old.EditValue      = phongDto.Tang;
            txtTenPhong_Old.EditValue  = phongDto.TenPhong;
            txtGhiChu_Old.EditValue    = phongDto.GhiChu;

            txtPhong.Properties.DataSource    = dtPhong = PhongBUS.LayTatCaPhong_TinhTrangPhong_LoaiPhong_CoSan();
            txtPhong.Properties.DisplayMember = "TenPhong";
            txtPhong.Properties.ValueMember   = "MaPhong";
        }
Пример #13
0
        void RefreshDataBinding_ChuyenDatPhong()
        {
            PhongDTO phongDto = PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong);

            txtLoaiPhong_Old.EditValue = LoaiPhongBUS.LayLoaiPhong(phongDto).TenLoaiPhong;
            txtMaPhong_Old.EditValue   = phongDto.MaPhong;
            txtTang_Old.EditValue      = phongDto.Tang;
            txtTenPhong_Old.EditValue  = phongDto.TenPhong;
            txtGhiChu_Old.EditValue    = phongDto.GhiChu;

            txtPhong.Properties.DataSource    = dtPhong = DatPhongBUS.LayCacPhongConTrongTrongThoiGian(DatPhongBUS.LayThongTinDatPhong(chiTietDatPhong.MaDatPhong).ThoiGianDatPhong, ThamSoBUS.LayKhoangThoiGianToiThieuGiuaHaiLanThue());
            txtPhong.Properties.DisplayMember = "TenPhong";
            txtPhong.Properties.ValueMember   = "MaPhong";
        }
Пример #14
0
        private void btnChinhSua_Click(object sender, EventArgs e)
        {
            int      tmp      = dataGrdV.CurrentCell.RowIndex;
            string   index    = dataGrdV.Rows[tmp].Cells[0].Value.ToString();
            PhongDTO idxPhong = phongBUS.LayThongTinPhong(index);

            txtIdPhong.Text     = idxPhong.IdPhong.ToString();
            txtIdPhong.ReadOnly = true;

            txtTenPhong.Text           = idxPhong.TenPhong;
            cbbTrangThai.Text          = idxPhong.TrangThai;
            txtDonGia.Text             = idxPhong.Dongia.ToString();
            cbbLoaiPhong.SelectedIndex = idxPhong.LoaiPhong;

            state = 0;
        }
Пример #15
0
        private void CreateLableChiPhi()
        {
            this.panel6.Controls.Remove(cp);
            PhongBUS _phongBus = new PhongBUS();
            PhongDTO _phongDTO = _phongBus.LayThongTinPhong(idPhongClick);

            cp          = new Label();
            cp.Location = new Point(35, 34);
            cp.Size     = new Size(0, 17);
            cp.AutoSize = true;
            cp.Font     = new Font("Microsoft Sans Serif", 10, FontStyle.Bold | FontStyle.Italic);
            if (_phongDTO.TrangThai == "Đang Sử Dụng")
            {
                PhongDangSuDungDTO phong = _phongBUS.LayThongTinPhongDangSuDung(idPhongClick);
                int cpInt = Int32.Parse(phong.GiaDichVu) + (int)_phongDTO.Dongia;
                cp.Text = _phongDTO.Dongia.ToString() + " + " + phong.GiaDichVu.ToString() + "DV";
            }
            else
            {
                cp.Text = _phongDTO.Dongia.ToString();
            }
            this.panel6.Controls.Add(cp);
        }
Пример #16
0
        protected void pnlPhong_Click(object sender, EventArgs e)
        {
            this.panel5.Controls.Remove(_panelDivhVu);

            Control control = sender as Control;

            // string idPhong = sender;
            //MessageBox.Show(control.Name);
            _panelData.Controls.Remove(_panelActive);

            idPhongClick = control.Name;

            Control _controlParent = control.Parent;

            _panelActive           = new Panel();
            _panelActive.Location  = new Point(control.Parent.Location.X - 5, control.Parent.Location.Y - 5);
            _panelActive.BackColor = Color.Orange;
            _panelActive.Size      = new Size(130, 130);
            _panelData.Controls.Add(_panelActive);
            CreateLableChiPhi();
            //MessageBox.Show(control.Parent.Location.X.ToString());

            PhongBUS _phongBus = new PhongBUS();
            PhongDTO _phongDTO = _phongBus.LayThongTinPhong(idPhongClick);

            txtIDPhong.Text = _phongDTO.IdPhong;

            //Cong voi DIch vu


            txtLoaiPhong.Text = _phongDTO.LoaiPhong.ToString();
            txtTinhTrang.Text = _phongDTO.TrangThai;

            if (_phongDTO.TrangThai == "Đang Sử Dụng")
            {
                trangThaiPhong = 1;
                PhongDangSuDungDTO _p = _phongBUS.LayThongTinPhongDangSuDung(idPhongClick);
                txtThoiGianDatPhong.Text = _p.ThoiGianBatDau;


                KhachHangBUS _khBus = new KhachHangBUS();
                KhachHangDTO _KhDTO = _khBus.LayThongTinKhachHang(_p.IdKhachHang.ToString());
                txtTenKH.Text = _KhDTO.HoTen;

                //Load Dich Vu
                LoadDichDvu(_p.DsDichVu);
            }
            else
            {
                txtThoiGianDatPhong.Text = "Trống";
                txtTenKH.Text            = "Trống";
                if (_phongDTO.TrangThai == "Còn Trống")
                {
                    trangThaiPhong = 0;
                }
                else
                {
                    trangThaiPhong = -1;
                }
            }
        }
Пример #17
0
        public void UpdateTimeNotify()
        {
            Dictionary <int, PhongDTO> tempSapDat = BUS.ThuePhongBUS.LayCacPhongDangSapDuocDat(ThamSoBUS.LayKhoangThoiGianChoDatPhong());
            //Dictionary<int, PhongDTO> tempSapDat = BUS.ThuePhongBUS.LayCacPhongDangSapDuocDat(-5);
            Dictionary <int, DatPhongDTO> tempDatPhongHetHanDat = BUS.DatPhongBUS.LayCacDatPhongDangHetHanDat(ThamSoBUS.LayKhoangThoiGianTuDongHuyDatPhong());

            if (listDanhSachPhongDangDat == null)
            {
                return;
            }



            foreach (PhongDTO phong in tempSapDat.Values)
            {
                if (!listDanhSachPhongDangDat.ContainsKey(phong.MaPhong))
                {
                    //if(!listThoiGianDat.ContainsKey(phong.MaPhong))
                    //{
                    //    listThoiGianDat.Add(phong.MaPhong, DatPhongBUS.LayThongTinThuePhongCuaPhongDangDat(phong.MaPhong,DateTime.Now).ThoiGianDatPhong);
                    //}
                    //else
                    //{

                    //}

                    if (phong.MaTinhTrangPhong == 0)
                    {
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG SẮP ĐƯỢC ĐẶT";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + phong.TenPhong + " được đặt trong " + ThamSoBUS.LayKhoangThoiGianChoDatPhong() + " phút nữa!";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                        (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                        BUS.PhongBUS.CapNhatTinhTrangPhong(phong.MaPhong, 4);
                    }
                    else if (phong.MaTinhTrangPhong == 5)
                    {
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG SẮP ĐƯỢC ĐẶT";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + phong.TenPhong + " được đặt trong " + ThamSoBUS.LayKhoangThoiGianChoDatPhong() + " phút nữa! Phòng vẫn đang trong trạng thái chờ dọn dẹp!";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                        (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                        BUS.PhongBUS.CapNhatTinhTrangPhong(phong.MaPhong, 6);
                    }
                    else if (phong.MaTinhTrangPhong == 1)
                    {
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG SẮP ĐƯỢC ĐẶT";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + phong.TenPhong + " được đặt trong " + ThamSoBUS.LayKhoangThoiGianChoDatPhong() + " phút nữa! Phòng vẫn đang trong trạng thái sử dụng!";
                        (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                        (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                        BUS.PhongBUS.CapNhatTinhTrangPhong(phong.MaPhong, 7);
                    }
                }
            }


            foreach (DatPhongDTO datPhong in tempDatPhongHetHanDat.Values)
            {
                foreach (ChiTietDatPhongDTO chiTiet in DatPhongBUS.LayTatCaCacChiTietDatPhong(datPhong.MaDatPhong))
                {
                    //if (listThoiGianDat.ContainsKey(chiTiet.MaPhong))
                    //{
                    //    listThoiGianDat.Remove(chiTiet.MaPhong);
                    //}

                    if (listDanhSachPhongDangDat.ContainsKey(chiTiet.MaPhong))
                    {
                        if (PhongBUS.LayThongTinPhong(chiTiet.MaPhong).MaTinhTrangPhong == 4)
                        {
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG ĐƯỢC ĐẶT QUÁ THỜI GIAN CHỜ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + BUS.PhongBUS.LayThongTinPhong(chiTiet.MaPhong).TenPhong + " được đặt quá thời gian chờ nên sẽ chuyển về trạng thái trống và đặt phòng được tự động hủy. ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                            (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                            BUS.PhongBUS.CapNhatTinhTrangPhong(chiTiet.MaPhong, 0);
                        }
                        else if (PhongBUS.LayThongTinPhong(chiTiet.MaPhong).MaTinhTrangPhong == 6)
                        {
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG ĐƯỢC ĐẶT QUÁ THỜI GIAN CHỜ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + BUS.PhongBUS.LayThongTinPhong(chiTiet.MaPhong).TenPhong + " được đặt quá thời gian chờ nên sẽ chuyển về trạng thái trống và đặt phòng được tự động hủy. ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                            (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                            BUS.PhongBUS.CapNhatTinhTrangPhong(chiTiet.MaPhong, 5);
                        }
                        else if (PhongBUS.LayThongTinPhong(chiTiet.MaPhong).MaTinhTrangPhong == 7)
                        {
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Header = "THÔNG BÁO PHÒNG ĐƯỢC ĐẶT QUÁ THỜI GIAN CHỜ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body   = "Phòng " + BUS.PhongBUS.LayThongTinPhong(chiTiet.MaPhong).TenPhong + " được đặt quá thời gian chờ nên sẽ chuyển về trạng thái trống và đặt phòng được tự động hủy. ";
                            (this.ParentForm as MainForm).GeToastNotifications().Notifications[0].Body2  = "";
                            (this.ParentForm as MainForm).GeToastNotifications().ShowNotification((this.ParentForm as MainForm).GeToastNotifications().Notifications[0]);

                            BUS.PhongBUS.CapNhatTinhTrangPhong(chiTiet.MaPhong, 1);
                        }
                    }
                    DatPhongBUS.CapNhatTinhTrangDatPhong(3, chiTiet.MaDatPhong);
                }
            }



            RefreshDataBinding();

            //MessageBox.Show("Notification #2 Clicked");
        }
Пример #18
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;
            }
        }
Пример #19
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)
                    {
                        DichVuDatPhongBUS.LuuThongTinDichVuDatPhong(new DichVuDatPhongDTO(DichVuDatPhongBUS.PhatSinhMaDichVuPhong(), dichVu_Key, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia, chiTietDatPhong.MaChiTietDatPhong));
                        //DichVuBUS.LayThongTinDichVu(dichVu_Key);
                    }

                    RefreshDataBindingDichVuPhong();
                }
                break;

            case "Chuyển Phòng":
                ChuyenPhong formChuyenPhong = new ChuyenPhong(chiTietDatPhong);


                if (FlyoutDialog.Show(this.FindForm(), formChuyenPhong) == DialogResult.OK)
                {
                    XtraMessageBox.Show("Chuyển phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                }

                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)
                {
                    DichVuDatPhongBUS.XoaDichVuDatPhong((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDichVuDatPhong"]);


                    RefreshDataBindingDichVuPhong();
                }

                break;

            case "Nhận Phòng":

                //Thông báo xác nhận
                if (XtraMessageBox.Show("Xác nhận nhận đặt phòng?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }

                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).NhanPhong();
                break;

            case "Hủy Phòng":

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


                Dictionary <int, DatPhongDTO> tempSapDat_1 = BUS.DatPhongBUS.LayCacDatPhongDangSapDuocDatVaDangDuocDat(ThamSoBUS.LayKhoangThoiGianChoDatPhong());
                //Hủy đặt phòng
                if (DatPhongBUS.DemSoLuongChiTietDatPhong(chiTietDatPhong.MaDatPhong) == 1)
                {
                    foreach (ChiTietDatPhongDTO dp in DatPhongBUS.LayTatCaCacChiTietDatPhong(chiTietDatPhong.MaDatPhong))
                    {
                        if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 4 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 0);
                        }
                        else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 6 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 5);
                        }
                        else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 7 && tempSapDat_1.ContainsKey(dp.MaDatPhong))
                        {
                            PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 1);
                        }
                    }

                    DatPhongBUS.CapNhatTinhTrangDatPhong(3, chiTietDatPhong.MaDatPhong);
                    (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                    break;
                }

                //Hủy phòng
                if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 4 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 0);
                }
                else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 6 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 5);
                }
                else if (PhongBUS.LayThongTinPhong(chiTietDatPhong.MaPhong).MaTinhTrangPhong == 7 && tempSapDat_1.ContainsKey(chiTietDatPhong.MaDatPhong))
                {
                    PhongBUS.CapNhatTinhTrangPhong(chiTietDatPhong.MaPhong, 1);
                }

                DatPhongBUS.XoaCacDichVuDatPhong(chiTietDatPhong);
                DatPhongBUS.XoaDatChiTietDatPhong(chiTietDatPhong);
                //if (DatPhongBUS.DemSoLuongChiTietDatPhong(chiTietDatPhong.MaDatPhong) == 0)
                //{
                //    DatPhongBUS.XoaDatPhong(chiTietDatPhong.MaDatPhong);
                //}
                XtraMessageBox.Show("Xóa đặt phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();

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

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

                break;

            case "Hủy Đặt Phòng":

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

                //BUS.PhongBUS.CapNhatTinhTrangPhong(chiTiet.MaPhong, 0);



                Dictionary <int, DatPhongDTO> tempSapDat = BUS.DatPhongBUS.LayCacDatPhongDangSapDuocDatVaDangDuocDat(ThamSoBUS.LayKhoangThoiGianChoDatPhong());

                foreach (ChiTietDatPhongDTO dp in DatPhongBUS.LayTatCaCacChiTietDatPhong(chiTietDatPhong.MaDatPhong))
                {
                    if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 4 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 0);
                    }
                    else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 6 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 5);
                    }
                    else if (PhongBUS.LayThongTinPhong(dp.MaPhong).MaTinhTrangPhong == 7 && tempSapDat.ContainsKey(dp.MaDatPhong))
                    {
                        PhongBUS.CapNhatTinhTrangPhong(dp.MaPhong, 1);
                    }
                }

                DatPhongBUS.CapNhatTinhTrangDatPhong(3, chiTietDatPhong.MaDatPhong);
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).RefreshData();
                break;

            case "In phiếu đặt":
            {
                (Parent.Parent.Parent as ThongTinChiTietDatNhieuPhong).InPhieuDat();
                break;
            }
            }
        }
Пример #20
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;
            }
        }
Пример #21
0
        private void wbntQuanlyphong_ButtonClick(object sender, DevExpress.XtraBars.Docking2010.ButtonEventArgs e)
        {
            switch (e.Button.Properties.Tag.ToString())
            {
            case "Thêm Dịch Vụ":
                ((ChiTietThanhToanPhong)tabbedControlGroup1.SelectedTabPage.Tag).ThemDichVu();
                break;

            case "Xóa Dịch Vụ":
                ((ChiTietThanhToanPhong)tabbedControlGroup1.SelectedTabPage.Tag).XoaDichVu();
                break;

            case "Thanh toán":

                //hoaDon.TienGio = (double)txtTongTienGio.EditValue;

                HoaDonBUS.CapNhatHoaDonDaThanhToan(hoaDon);
                foreach (DevExpress.XtraLayout.LayoutControlGroup layoutGroup in this.tabbedControlGroup1.TabPages)
                {
                    ((ChiTietThanhToanPhong)layoutGroup.Tag).LuuKhuyenMai();
                    ((ChiTietThanhToanPhong)layoutGroup.Tag).LuuTienGio();
                    ((ChiTietThanhToanPhong)layoutGroup.Tag).CapNhatThongTinThuePhong();

                    switch (PhongBUS.LayThongTinPhong(thuePhong.MaPhong).MaTinhTrangPhong)
                    {
                    case 1:
                    case 5:
                        if (ThamSoBUS.LayChuyenSangChoDonDepSauKhiThanhToan())
                        {
                            PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 5);
                        }
                        else
                        {
                            PhongBUS.CapNhatTinhTrangPhong(((ChiTietThanhToanPhong)layoutGroup.Tag).thuePhong.MaPhong, 0);
                        }
                        break;

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

                if (khachHang.MaLoaiKH != 0)
                {
                    KhachHangBUS.CapNhatDiemTichLuy(khachHang.MaKH, khachHang.DiemTichLuy + ThamSoBUS.QuyDoiDiem((double)txtTongTienThanhToan.EditValue));
                    khachHang.DiemTichLuy = khachHang.DiemTichLuy + ThamSoBUS.QuyDoiDiem((double)txtTongTienThanhToan.EditValue);

                    LoaiKhachHangDTO loaiKhachHangCoThe = KhachHangBUS.LayLoaiKhachHangCoTheDatDuoc(khachHang);
                    if (loaiKhachHangCoThe != null && loaiKhachHangCoThe.MaLoaiKH != 0)
                    {
                        if (khachHang.MaLoaiKH != loaiKhachHangCoThe.MaLoaiKH)
                        {
                            KhachHangBUS.CapNhatLoaiKhachHang(khachHang.MaKH, loaiKhachHangCoThe.MaLoaiKH);
                            XtraMessageBox.Show("Khách hàng được cập nhật lên loại '" + loaiKhachHangCoThe.TenLoaiKH + "'! ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }


                goBackHome();

                break;

            case "In hóa đơn":

                XtraDialogArgs args = new XtraDialogArgs(caption: "Chọn dịch vụ", content: new ReportViewer(reportHoaDon), buttons: new DialogResult[] { DialogResult.OK });
                XtraDialog.Show(args);

                // DevExpress.XtraBars.Docking2010.Customization.FlyoutDialog.Show(this.FindForm(),new ReportViewer(reportHoaDon));
                break;

            case "In hóa đơn tạm tính":
                double TongTienGio = 0, TongTienKhuyenMai = 0, TongTienDichVu = 0;
                dsDichVuPhong.Tables.Clear();


                for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++)
                {
                    TongTienGio       += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienGio();
                    TongTienKhuyenMai += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienKhuyenMai();
                    TongTienDichVu    += ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienDichVu();

                    dsHoaDon.Tables[1].Rows[i]["TienPhong"] = ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienGio() + ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienDichVu() + ((ChiTietThanhToanPhong)this.tabbedControlGroup1.TabPages[i].Tag).GetTongTienKhuyenMai();

                    dsDichVuPhong.Tables.Add(((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetDichVuPhong_DataTable());
                }


                DataTable MergedDataTable = new DataTable("dichvuphong");

                MergedDataTable.Merge(dsDichVuPhong.Tables[0]);

                if (!ReadOnlyMode)     //ReadOnly Mode
                {
                    MergedDataTable.Columns.Add(new DataColumn("MaTemp"));
                    for (int i = 0; i < MergedDataTable.Rows.Count; i++)
                    {
                        MergedDataTable.Rows[i]["MaTemp"] = i;
                    }
                    MergedDataTable.PrimaryKey = new DataColumn[] { MergedDataTable.Columns["MaTemp"] };
                    for (int i = 1; i < dsDichVuPhong.Tables.Count; i++)
                    {
                        foreach (DataRow dr in dsDichVuPhong.Tables[i].Rows)
                        {
                            DataRow row = MergedDataTable.NewRow();
                            row["MaTemp"]      = MergedDataTable.Rows.Count;
                            row["MaDVP"]       = dr["MaDVP"];
                            row["MaThuePhong"] = dr["MaThuePhong"];
                            row["MaDV"]        = dr["MaDV"];
                            row["ThoiGian"]    = dr["ThoiGian"];
                            row["SoLuong"]     = dr["SoLuong"];
                            row["Gia"]         = dr["Gia"];
                            row["TenDV"]       = dr["TenDV"];
                            row["DonVi"]       = dr["DonVi"];
                            row["colType"]     = dr["colType"];
                            MergedDataTable.Rows.Add(row);
                        }
                    }

                    for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++)
                    {
                        foreach (DataRow dr in ((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetTienGio_DataTable().Rows)
                        {
                            DataRow row = MergedDataTable.NewRow();
                            row["MaTemp"]      = MergedDataTable.Rows.Count;
                            row["MaDVP"]       = -1;
                            row["MaThuePhong"] = ((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetThuePhong().MaThuePhong;
                            row["MaDV"]        = -1;
                            row["ThoiGian"]    = DateTime.MinValue;
                            row["SoLuong"]     = dr["SoLuong"];
                            row["Gia"]         = dr["DonGia"];
                            row["TenDV"]       = dr["Ngay"] + " " + dr["KhoangThoiGian"];
                            row["DonVi"]       = "VNĐ/Giờ";
                            row["colType"]     = "Tiền Giờ";
                            MergedDataTable.Rows.Add(row);
                        }
                    }
                }
                else
                {
                    for (int i = 1; i < dsDichVuPhong.Tables.Count; i++)
                    {
                        MergedDataTable.Merge(dsDichVuPhong.Tables[i]);
                    }

                    MergedDataTable.Columns.Add(new DataColumn("MaTemp"));
                    for (int i = 0; i < MergedDataTable.Rows.Count; i++)
                    {
                        MergedDataTable.Rows[i]["MaTemp"] = i;
                    }
                    MergedDataTable.PrimaryKey = new DataColumn[] { MergedDataTable.Columns["MaTemp"] };

                    for (int i = 0; i < this.tabbedControlGroup1.TabPages.Count; i++)
                    {
                        foreach (DataRow dr in BUS.TienGio_ThuePhongBUS.LayTienGio_ThuePhong_DataTable(((ChiTietThanhToanPhong)tabbedControlGroup1.TabPages[i].Tag).GetThuePhong().MaThuePhong).Rows)
                        {
                            DataRow row = MergedDataTable.NewRow();
                            row["MaTemp"]      = MergedDataTable.Rows.Count;
                            row["MaDVP"]       = -1;
                            row["MaThuePhong"] = dr["MaThuePhong"];
                            row["MaDV"]        = -1;
                            row["ThoiGian"]    = DateTime.MinValue;
                            row["SoLuong"]     = dr["SoLuong"];
                            row["Gia"]         = dr["DonGia"];
                            row["TenDV"]       = dr["Ngay"] + " " + dr["KhoangThoiGian"];
                            row["DonVi"]       = "VNĐ/Giờ";
                            row["colType"]     = "Tiền Giờ";
                            MergedDataTable.Rows.Add(row);
                        }
                    }
                }


                if (dsHoaDon.Tables.Count == 3)
                {
                    dsHoaDon.Relations.RemoveAt(1);
                    dsHoaDon.Tables[2].Constraints.Clear();
                    dsHoaDon.Tables.RemoveAt(2);
                }
                dsHoaDon.Tables.Add(MergedDataTable);
                dsHoaDon.Relations.Add("chitietdichvu", dsHoaDon.Tables[1].Columns["MaThuePhong"], dsHoaDon.Tables[2].Columns["MaThuePhong"]);



                txtTongTienGio.EditValue       = TongTienGio;
                txtTongTienKhuyenMai.EditValue = TongTienKhuyenMai;
                txtTongTienDichVu.EditValue    = TongTienDichVu;
                txtTongTienThanhToan.EditValue = TongTienGio + TongTienKhuyenMai + TongTienDichVu - Convert.ToDouble(txtTienTraTruoc.EditValue);


                hoaDon.MaNhanVienThanhToan = (this.ParentForm as MainForm).nhanVien.MaNhanVien;
                hoaDon.TongTienThanhToan   = (double)txtTongTienThanhToan.EditValue;
                hoaDon.NgayThanhToan       = txtNgayThanhToan.Time;
                hoaDon.SoTienKhuyenMai     = (double)txtTongTienKhuyenMai.EditValue;

                reportHoaDon HoaDon = new reportHoaDon();
                HoaDon.BindingData(dsHoaDon, khachHang, hoaDon, TongTienGio, TongTienKhuyenMai, TongTienDichVu, Convert.ToDouble(txtTienTraTruoc.EditValue), txtGhiChu.Text, true);

                XtraDialogArgs phieudatphong = new XtraDialogArgs(caption: "Hóa đơn tạm tính", content: new ReportViewer(HoaDon), buttons: new DialogResult[] { DialogResult.OK });
                XtraDialog.Show(phieudatphong);
                break;
            }
        }
Пример #22
0
        public void RefreshDataBinding(ThuePhongDTO thuePhongDTO)
        {
            ReadOnlyMode = false;

            wbntQuanlyphong.Buttons[0].Properties.Visible = true;
            wbntQuanlyphong.Buttons[1].Properties.Visible = true;
            wbntQuanlyphong.Buttons[2].Properties.Visible = true;
            wbntQuanlyphong.Buttons[3].Properties.Visible = true;
            wbntQuanlyphong.Buttons[5].Properties.Visible = true;

            this.hoaDon    = BUS.HoaDonBUS.LayThongTinHoaDonDangThue(thuePhongDTO.MaHoaDon);
            this.thuePhong = thuePhongDTO;
            this.khachHang = BUS.KhachHangBUS.LayKhachHang(hoaDon.MaKH);

            txtMaHoaDon.Text      = hoaDon.MaHoaDon.ToString();
            txtNgayThanhToan.Time = DateTime.Now;
            hoaDon.NgayThanhToan  = DateTime.Now;


            dsHoaDon = new DataSet();
            dsHoaDon.Tables.Add(HoaDonBUS.LayThongTinHoaDon_DataTable(hoaDon.MaHoaDon));
            dsHoaDon.Tables.Add(HoaDonBUS.LayTatCaCacThuePhong_Phong_LoaiPhong_DataTable(hoaDon.MaHoaDon));
            dsHoaDon.Tables[1].Columns.Add(new DataColumn("TienPhong", typeof(double)));
            dsHoaDon.Tables[1].Columns.Add(new DataColumn("TienGioTamTinh", typeof(double)));
            dsHoaDon.Relations.Add("Danh sách thuê phòng", dsHoaDon.Tables[0].Columns["MaHoaDon"], dsHoaDon.Tables[1].Columns["MaHoaDon"]);



            this.tabbedControlGroup1.Clear();
            List <ThuePhongDTO> listThuePhong = HoaDonBUS.LayTatCaCacThuePhong(hoaDon.MaHoaDon);

            for (int i = 0; i < listThuePhong.Count; i++)
            {
                ChiTietThanhToanPhong chiTietThanhToanPhongThanhToan = new ChiTietThanhToanPhong();
                DevExpress.XtraLayout.LayoutControlGroup layoutGrp   = new DevExpress.XtraLayout.LayoutControlGroup();
                DevExpress.XtraLayout.LayoutControlItem  layoutItem  = new DevExpress.XtraLayout.LayoutControlItem();
                chiTietThanhToanPhongThanhToan.CalcTongTienAction = CalcTongTien_UpdateHoaDon;
                chiTietThanhToanPhongThanhToan.AddButtonXoaDichVu((WindowsUIButton)wbntQuanlyphong.Buttons[1], ReadOnlyMode);
                chiTietThanhToanPhongThanhToan.RefreshDataBinding(listThuePhong[i], khachHang);
                dsHoaDon.Tables[1].Rows[i]["GioTraPhong"] = chiTietThanhToanPhongThanhToan.thuePhong.GioTraPhong;



                //thongTinChiTietPhong.SetActionThanhToanButton(goToThanhToan);
                //DevExpress.XtraTab.XtraTabPage xtraTab = new DevExpress.XtraTab.XtraTabPage();

                //
                // chiTietThanhToanPhongThanhToan
                //
                chiTietThanhToanPhongThanhToan.Location = new System.Drawing.Point(37, 187);
                chiTietThanhToanPhongThanhToan.Name     = "chiTietThanhToanPhong1";
                chiTietThanhToanPhongThanhToan.Size     = new System.Drawing.Size(867, 414);
                chiTietThanhToanPhongThanhToan.TabIndex = 25;
                //
                // layoutItem
                //
                layoutItem.Control     = chiTietThanhToanPhongThanhToan;
                layoutItem.Location    = new System.Drawing.Point(0, 0);
                layoutItem.Name        = "layoutControlItem8";
                layoutItem.Size        = new System.Drawing.Size(873, 420);
                layoutItem.TextSize    = new System.Drawing.Size(0, 0);
                layoutItem.TextVisible = false;
                //
                // layoutGrp
                //
                layoutGrp.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutItem });
                layoutGrp.Location = new System.Drawing.Point(0, 0);
                layoutGrp.Name     = "layoutControlGroup2";
                layoutGrp.OptionsItemText.TextToControlDistance = 4;
                layoutGrp.Size = new System.Drawing.Size(873, 420);
                layoutGrp.Text = PhongBUS.LayThongTinPhong(listThuePhong[i].MaPhong).TenPhong;
                layoutGrp.Tag  = chiTietThanhToanPhongThanhToan;


                this.tabbedControlGroup1.AddTabPage(layoutGrp);
            }

            this.tabbedControlGroup1.SelectedTabPageIndex = 0;

            CalcTongTien_UpdateHoaDon();

            txtMaHoaDon.Text          = hoaDon.MaHoaDon.ToString();
            txtNgayThanhToan.Time     = DateTime.Now;
            txtTienTraTruoc.EditValue = hoaDon.TienTraTruoc;
            txtMaKhachHang.EditValue  = khachHang.MaKH;
            txtTenKhachHang.EditValue = khachHang.TenKH;
            txtGhiChu.EditValue       = hoaDon.GhiChu;

            txtTienTraTruoc.ReadOnly = false;
            txtGhiChu.ReadOnly       = false;
        }
Пример #23
0
        //Tra Phong
        private void button11_Click(object sender, EventArgs e)
        {
            if (trangThaiPhong == 1)
            {
                PhongDTO phong = _phongBUS.LayThongTinPhong(idPhongClick);

                DateTime dtNow = DateTime.Now;

                PhongDangSuDungDTO _pdsdDTO = new PhongDangSuDungDTO();
                _pdsdDTO = _phongBUS.LayThongTinPhongDangSuDung(idPhongClick);

                string[]         _array = _pdsdDTO.DsDichVu.Split(',');
                DichVuBUS        _dvBus = new DichVuBUS();
                List <DichVuDTO> _dvDTO = new List <DichVuDTO>();

                foreach (var item in _array)
                {
                    DichVuDTO _dv = _dvBus.LayThongTinDichVu(item);
                    if (_dv != null)
                    {
                        _dvDTO.Add(_dv);
                    }
                }

                string idPhong        = "\n ID Phòng: " + idPhongClick;
                string tenPhong       = "\n Tên Phòng: " + phong.TenPhong;
                string ngayDatPhong   = "\n Thời gian Đặt Phòng: " + txtThoiGianDatPhong.Text;
                string ngayTraPhong   = "\n Thời gian Trả Phòng: " + dtNow.ToString();
                string dsDV_ThanhToan = "\n Danh sách dịch vụ sử dụng:";
                int    sDichVu        = 0;
                foreach (var item in _dvDTO)
                {
                    dsDV_ThanhToan += "\n       + " + item.TenDichVu;


                    sDichVu += (int)item.Gia;
                }
                DateTime dtBatDau = DateTime.Parse(txtThoiGianDatPhong.Text);

                TimeSpan span       = dtNow - dtBatDau;
                double   TongHoaDon = (span.TotalMinutes / 60) * (phong.Dongia) + sDichVu;
                string   s          = Global.Instance().ConvertCurrency(TongHoaDon.ToString());


                string chiphi = "\n Tổng hóa đơn: " + s + " VND";

                DialogResult dialogResult = MessageBox.Show("Bạn muốn thanh toán hóa đơn với:" + idPhong + tenPhong + ngayDatPhong + ngayTraPhong + dsDV_ThanhToan + chiphi, "Thanh Toán", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    BaoBieuDTO baoBieu = new BaoBieuDTO();
                    baoBieu.IdBaoBieu       = Global.Instance().idBaoBieu();
                    baoBieu.IdPhong         = idPhongClick;
                    baoBieu.IdNhanVien      = "1";
                    baoBieu.IdKhachHang     = _pdsdDTO.IdKhachHang;
                    baoBieu.DsDichVu        = _pdsdDTO.DsDichVu;
                    baoBieu.ThoiGianBatDau  = txtThoiGianDatPhong.Text;
                    baoBieu.ThoiGianKetThuc = dtNow.ToString();
                    baoBieu.TongTien        = (float)TongHoaDon;

                    BaoBieuBUS _baobieuBUs = new BaoBieuBUS();
                    _baobieuBUs.ThemThongTinBaoBieu(baoBieu);

                    _phongBUS.XoaThongTinPhongDangSuDung(idPhongClick);

                    //Cap nhat thong tin Phong
                    PhongDTO _phongCapNhat = _phongBUS.LayThongTinPhong(idPhongClick);
                    _phongCapNhat.TrangThai = "Còn Trống";
                    _phongBUS.CapNhatThongTinPhong(_phongCapNhat);

                    LoadData(state);
                }
                else if (dialogResult == DialogResult.No)
                {
                    //do something else
                }
            }
            else
            {
                MessageBox.Show("Phòng đang sử dụng mới được trả phòng", "Thông báo");
            }
        }
Пример #24
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;
            }
        }