private void gridView2_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
 {
     if (e.Column.FieldName == "colSoLuong")
     {
         if (e.IsGetData)
         {
             e.Value = dichVuPhong.Rows[e.ListSourceRowIndex]["SoLuong"];
         }
         if (e.IsSetData)
         {
             DichVuPhongBUS.UpdateDichVuPhong(new DichVuPhongDTO((int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaDVP"], (int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaThuePhong"], (int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaDV"], DateTime.Parse(dichVuPhong.Rows[e.ListSourceRowIndex]["ThoiGian"].ToString()), Convert.ToDouble(e.Value), (double)dichVuPhong.Rows[e.ListSourceRowIndex]["Gia"]));
             RefreshDataBindingDichVuPhong();
         }
     }
     else if (e.Column.FieldName == "colDonGia")
     {
         if (e.IsGetData)
         {
             e.Value = Convert.ToInt32(dichVuPhong.Rows[e.ListSourceRowIndex]["Gia"]);
         }
         if (e.IsSetData)
         {
             DichVuPhongBUS.UpdateDichVuPhong(new DichVuPhongDTO((int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaDVP"], (int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaThuePhong"], (int)dichVuPhong.Rows[e.ListSourceRowIndex]["MaDV"], DateTime.Parse(dichVuPhong.Rows[e.ListSourceRowIndex]["ThoiGian"].ToString()), (double)dichVuPhong.Rows[e.ListSourceRowIndex]["SoLuong"], Convert.ToDouble(e.Value)));
             RefreshDataBindingDichVuPhong();
         }
     }
     else if (e.Column.FieldName == "colThanhTien")
     {
         if (e.IsGetData)
         {
             e.Value = Convert.ToInt32(dichVuPhong.Rows[e.ListSourceRowIndex]["SoLuong"]) * (double)dichVuPhong.Rows[e.ListSourceRowIndex]["Gia"];
         }
     }
 }
Esempio n. 2
0
 public void LuuKhuyenMai()
 {
     foreach (DichVuPhongDTO dichVuPhong in listKhuyenMai.Values)
     {
         DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), thuePhong.MaThuePhong, dichVuPhong.MaDV, dichVuPhong.ThoiGian, dichVuPhong.SoLuong, dichVuPhong.DonGia));
     }
 }
Esempio n. 3
0
        public void XoaDichVu()
        {
            if (gridView1.RowCount == 0)
            {
                XtraMessageBox.Show("Không có dịch vụ/Khuyến mãi nào được chọn", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (XtraMessageBox.Show("Bạn có chắc muốn xóa dịch vụ/khuyến mãi " + dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["TenDV"] + "' ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)
            {
                return;
            }

            if (dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["colType"].ToString() == "Khuyến mãi")
            {
                listKhuyenMai.Remove((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDVP"]);
            }
            else
            {
                DichVuPhongBUS.XoaDichVuPhong((int)dichVuPhong.Rows[gridView1.GetFocusedDataSourceRowIndex()]["MaDVP"]);
            }


            RefreshDataBindingDichVuPhong();
            CalcTongTienAction();
        }
Esempio n. 4
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();
            }
        }
Esempio n. 5
0
        public void RefreshDataBinding_ReadOnly(ThuePhongDTO thuePhong)
        {
            this.thuePhong = thuePhong;

            txtGioVao.Time = thuePhong.GioThuePhong;
            txtGioRa.Time  = (thuePhong.GioTraPhong == DateTime.MinValue) ? DateTime.Now : thuePhong.GioTraPhong;
            txtTienGio.Properties.NullText = thuePhong.TienGio.ToString("###,###,##0 VNĐ");
            TongTienGio = thuePhong.TienGio;

            txtTienGio.ReadOnly = true;
            gridView1.OptionsBehavior.ReadOnly = true;

            dichVuPhong = DichVuPhongBUS.LayTatCaDichVuPhong_DichVu(thuePhong);
            dichVuPhong.Columns.Add(new DataColumn("colType"));
            foreach (DataRow row in dichVuPhong.Rows)
            {
                if ((int)row["MaLDV"] == 3)
                {
                    row["colType"] = "Khuyến mãi";
                }
                else
                {
                    row["colType"] = "Dịch vụ";
                }
            }

            gridControl1.DataSource = dichVuPhong;
        }
Esempio n. 6
0
 public void LuuThongTinDichVuPhong(ThuePhongDTO tp)
 {
     foreach (DataRow dr in dichVuPhong.Rows)
     {
         DichVuPhongBUS.LuuThongTinDichVuPhong(new DichVuPhongDTO(DichVuPhongBUS.PhatSinhMaDichVuPhong(), tp.MaThuePhong, (int)dr["MaDichVu"], DateTime.Now, (double)dr["SoLuong"], (double)dr["Gia"]));
     }
 }
        void RefreshDataBindingDichVuPhong()
        {
            dichVuPhong             = DichVuPhongBUS.LayTatCaDichVuPhong_DichVu(thuePhong);
            gridControl1.DataSource = dichVuPhong;

            if (gridView1.RowCount == 0)
            {
                wbntQuanlyphong.Buttons["Xóa Dịch Vụ"].Properties.Visible = false;
            }
            else
            {
                wbntQuanlyphong.Buttons["Xóa Dịch Vụ"].Properties.Visible = true;
            }
        }
        public void RefreshDataBinding()
        {
            dtHoaDon           = DichVuPhongBUS.LayThongKeTatCaCacDichVu_TrongThang(datepickerNam.DateTime);
            dtHoaDon.TableName = "hoadon";

            dtChiTietDichVu           = DichVuPhongBUS.LayTatCaCacDichVu_TrongNam(datepickerNam.DateTime);
            dtChiTietDichVu.TableName = "chitiet";

            dsHoaDon = new DataSet();
            dsHoaDon.Tables.Add(dtHoaDon);
            dsHoaDon.Tables.Add(dtChiTietDichVu);

            dsHoaDon.Relations.Add("Thông tin chi tiết", dsHoaDon.Tables["hoadon"].Columns["Thang"], dsHoaDon.Tables["chitiet"].Columns["Thang"]);

            GridControlHoaDon.DataSource = dsHoaDon.Tables["hoadon"];
            GridControlHoaDon.LevelTree.Nodes.Add("Thông tin chi tiết", gridView1);


            chartControl.Series[1].Points.Clear();
            Dictionary <int, double> doanhThuNam = DichVuPhongBUS.GetTongDoanhThuTheoThang(datepickerNam.DateTime);

            for (int i = 1; i <= 12; i++)
            {
                if (doanhThuNam.ContainsKey(i))
                {
                    chartControl.Series[1].Points.Add(new DevExpress.XtraCharts.SeriesPoint("Tháng " + i, doanhThuNam[i]));
                }
                else
                {
                    chartControl.Series[1].Points.Add(new DevExpress.XtraCharts.SeriesPoint("Tháng " + i, 0));
                }
            }



            //rangeControl1.SelectAll();
            gridViewHoaDon.ActiveFilterString = "";

            gridViewHoaDon.ExpandAllGroups();
            gridViewHoaDon.FocusedRowHandle = -1;

            //foreach (DevExpress.XtraCharts.Series series in chartControl.Series)
            //{
            //    series.Visible = false;
            //}
            //chartControl.Series["Doanh thu theo tháng"].Visible = true;
            chartControl.Animate();
        }
Esempio n. 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();
        }
Esempio n. 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;
            }
        }