Пример #1
0
        private void LoadDichDvu(string ds)
        {
            string[]         _array = ds.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);
                }
            }
            this.panel5.Controls.Remove(_panelDivhVu);
            _panelDivhVu                  = new Panel();
            _panelDivhVu.Location         = new Point(3, 196);
            _panelDivhVu.Size             = new Size(224, 158);
            _panelDivhVu.AutoScroll       = true;
            _panelDivhVu.AutoScrollMargin = new Size(0, 5);

            int height = 0;

            for (int i = 0; i < _dvDTO.Count; i++)
            {
                _panelDivhVu.Controls.Add(DrawPanelDichVu(new Point(0, height), _dvDTO[i].TenDichVu, _dvDTO[i].IdDichVu));
                height += 30;
            }

            this.panel5.Controls.Add(_panelDivhVu);
        }
Пример #2
0
        public DataTable dsDichVu(string[] _arrayDV)
        {
            DataTable        table  = new DataTable();
            List <DichVuDTO> _array = new List <DichVuDTO>();
            DichVuBUS        _dvBus = new DichVuBUS();

            foreach (var item in _arrayDV)
            {
                _array.Add(_dvBus.LayThongTinDichVu(item));
            }

            table.Columns.Add("Tên Dịch Vụ", typeof(string)).ReadOnly = true;
            table.Columns.Add("Đơn Giá", typeof(string));

            //Show data
            foreach (var item in _array)
            {
                if (item != null)
                {
                    string s = Global.Instance().ConvertCurrency(item.Gia.ToString());
                    table.Rows.Add(item.TenDichVu.ToString(), s);
                }
            }

            return(table);
        }
Пример #3
0
        public void ThemDichVu()
        {
            folderDichVu.ChonDichVu chonDichVu = new folderDichVu.ChonDichVu(true);

            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)
                {
                    if (DichVuBUS.LayThongTinDichVu(dichVu_Key).MaLoaiDV == 3)
                    {
                        listKhuyenMai.Add(-(listKhuyenMai.Count + 1), new DichVuPhongDTO(-(listKhuyenMai.Count + 1), thuePhong.MaThuePhong, dichVu_Key, DateTime.Now, chonDichVu.GetSelectedDichVu()[dichVu_Key], DichVuBUS.LayThongTinDichVu(dichVu_Key).DonGia));
                    }
                    else
                    {
                        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();
                CalcTongTienAction();
            }
        }
Пример #4
0
        public void TaoDichVu_2()
        {
            DAL.DataProvider.InitalizeConnection();

            DichVuDTO dichVu = new DichVuDTO(DichVuBUS.PhatSinhMaDichVu(), "xyz", 30000, "Đĩa", BUSTest.Properties.Resources.No_Image_Available, 2);

            DichVuBUS.LuuThongTinDichVu(dichVu);


            DichVuDTO p = DichVuBUS.LayThongTinDichVu(dichVu.MaDV);

            Assert.IsTrue(dichVu.TenDV == p.TenDV);
        }
Пример #5
0
        private void btnChinhSua_Click(object sender, EventArgs e)
        {
            int       tmp       = dataGrdV.CurrentCell.RowIndex;
            string    index     = dataGrdV.Rows[tmp].Cells[0].Value.ToString();
            DichVuDTO idxDichVu = dvBus.LayThongTinDichVu(index);

            txtIdPhong.Text     = idxDichVu.IdDichVu.ToString();
            txtIdPhong.ReadOnly = true;
            txtTenPhong.Text    = idxDichVu.TenDichVu;
            cbbTrangThai.Text   = idxDichVu.TinhTrang;
            txtDonGia.Text      = idxDichVu.Gia.ToString();

            state = 0;
        }
Пример #6
0
        public void SuaDichVu_2()
        {
            DAL.DataProvider.InitalizeConnection();


            DichVuDTO p = DichVuBUS.LayThongTinDichVu(DichVuBUS.PhatSinhMaDichVu() - 1);

            p.TenDV = "abc";
            p.DonVi = "Tô";

            DichVuBUS.CapNhatThongTinDichVu(p);


            DichVuDTO pNew = DichVuBUS.LayThongTinDichVu(p.MaDV);

            Assert.IsTrue(pNew.TenDV == p.TenDV);
        }
Пример #7
0
        public void RefreshDataBinding(int maDV)
        {
            try
            {
                dichVuDTO = DichVuBUS.LayThongTinDichVu(maDV);

                //Lấy tất cả loại phòng vào cmb
                listLoaiDichVu = LoaiDichVuBUS.LayTatCaLoaiDichVu_List();

                //Nếu không có loại phòng, thông báo cần tạo loại phòng trước
                if (listLoaiDichVu.Count == 0)
                {
                    XtraMessageBox.Show("Cần thêm loại dịch vụ trước!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                cmbLoaiDV.Properties.Items.Clear();
                foreach (LoaiDichVuDTO loaiDV in listLoaiDichVu)
                {
                    cmbLoaiDV.Properties.Items.Add(new MyComboBoxItem(loaiDV.TenDV, loaiDV.MaLoaiDV));
                    if (loaiDV.MaLoaiDV == dichVuDTO.MaLoaiDV)
                    {
                        cmbLoaiDV.SelectedIndex = cmbLoaiDV.Properties.Items.Count - 1;
                    }
                }


                txtMaDV.EditValue   = dichVuDTO.MaDV.ToString();
                txtTenDV.EditValue  = dichVuDTO.TenDV;
                txtDonVi.EditValue  = dichVuDTO.DonVi;
                txtDonGia.EditValue = dichVuDTO.DonGia.ToString();

                pictureEdit1.Image = dichVuDTO.HinhAnh;


                ValidateChildren();
            }
            catch (Exception x)
            {
            }
        }
Пример #8
0
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            Control control = sender as Control;
            string  ds      = "";
            //  _phongBUS
            PhongDangSuDungDTO _pdsdDTO = _phongBUS.LayThongTinPhongDangSuDung(idPhongClick);
            int index = _pdsdDTO.DsDichVu.IndexOf(control.Name.ToString());

            // MessageBox.Show(index.ToString());
            string[] array      = _pdsdDTO.DsDichVu.Split(',');
            var      listString = new List <string>(array);

            foreach (var item in listString)
            {
                if (item == control.Name)
                {
                    listString.Remove(item);
                    DichVuBUS dvBus = new DichVuBUS();
                    DichVuDTO dvDTO = dvBus.LayThongTinDichVu(item);
                    _pdsdDTO.GiaDichVu = (Int32.Parse(_pdsdDTO.GiaDichVu) - (int)dvDTO.Gia).ToString();
                    break;
                }
            }
            foreach (var item in listString)
            {
                ds += "," + item.ToString();
            }
            if (ds != "")
            {
                ds = ds.Remove(0, 1);
            }
            _pdsdDTO.DsDichVu = ds;
            _phongBUS.CapNhatThongTinPhongDangSuDung(_pdsdDTO);
            LoadDichDvu(_pdsdDTO.DsDichVu);

            CreateLableChiPhi();
        }
Пример #9
0
        void RefreshDataBindingDichVuPhong()
        {
            dichVuPhong = DichVuPhongBUS.LayTatCaDichVuPhong_DichVu(thuePhong);
            dichVuPhong.Columns.Add(new DataColumn("colType"));
            foreach (DataRow row in dichVuPhong.Rows)
            {
                row["colType"] = "Dịch vụ";
            }

            foreach (DichVuPhongDTO khuyenMai in listKhuyenMai.Values)
            {
                DataRow dr = dichVuPhong.NewRow();

                dr["MaDVP"]       = khuyenMai.MaDVP;
                dr["MaThuePhong"] = khuyenMai.MaThuePhong;
                dr["MaDV"]        = khuyenMai.MaDV;
                dr["ThoiGian"]    = khuyenMai.ThoiGian;
                dr["SoLuong"]     = khuyenMai.SoLuong;
                dr["Gia"]         = khuyenMai.DonGia;

                DichVuDTO thongTinDichVu = DichVuBUS.LayThongTinDichVu(khuyenMai.MaDV);
                dr["TenDV"]   = thongTinDichVu.TenDV;
                dr["DonVi"]   = thongTinDichVu.DonVi;
                dr["MaLDV"]   = thongTinDichVu.MaLoaiDV;
                dr["TenLDV"]  = "Khuyến mãi";
                dr["colType"] = "Khuyến mãi";

                dichVuPhong.Rows.Add(dr);
            }

            gridControl1.DataSource = dichVuPhong;



            gridView1.ExpandAllGroups();
        }
Пример #10
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;
            }
        }
Пример #11
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;
            }
            }
        }
Пример #12
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");
            }
        }