private void btnHoanTat_Click(object sender, EventArgs e)
        {
            //kiểm tra chưa nhập thông tin khách hàng
            if (dtgKhachThuePhong.Rows.Count == 0)
            {
                MessageBox.Show("Chưa thông tin khách hàng!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            //insert phiếu thuê phòng
            //DateTime now = DateTime.Now;

            int idPhieuThue = PhieuThueDAO.ThemPhieuThue(idPhong, this.dtNgayThue.Value.ToString("yyyy/MM/dd HH:mm"), GlobalVar.idTaiKhoan);//id nhân viên tạm thời cho là 1

            //insert chi tiết phiếu thuê phòng
            for (int i = 0; i < dsKhach.Count; i++)
            {
                PhieuThueDAO.ThemChiTietPhieuThue(idPhieuThue, dsKhach[i]);
            }

            //set lại tình trang phòng là 1: đã thuê
            PhongDAO.setTinhTrangPhong(idPhong, 1);
            MessageBox.Show("Thuê phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            ucQuanLyPhong.success = true;
            this.Close();
        }
Example #2
0
        private void btnHoanTat_Click(object sender, EventArgs e)
        {
            if (GlobalVar.listChiTietHD.Count <= 0)
            {
                MessageBox.Show("Danh sách phiếu thuê rỗng!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (txtTenKhachHang.Text == "")
            {
                MessageBox.Show("Chưa nhập tên khách hàng!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            string DiaChi;

            if (txtDiaChi.Text == "")
            {
                DiaChi = "Chưa nhập";
            }
            else
            {
                DiaChi = txtDiaChi.Text;
            }

            // insert hóa đơn
            int idHoaDon = HoaDonDAO.ThemHoaDon(txtTenKhachHang.Text, DiaChi, GlobalVar.TongTien, GlobalVar.idTaiKhoan);

            //insert chi tiết hóa đơn
            for (int i = 0; i < GlobalVar.listChiTietHD.Count; i++)
            {
                HoaDonDAO.ThemChiTietHoaDon(idHoaDon, i + 1, GlobalVar.listChiTietHD[i]);
                //cập nhập lại tình trạng phiếu thuê là 2: Đã thanh toán
                PhieuThueDAO.setTinhTrangPhieuThue(GlobalVar.listChiTietHD[i].MaPhieuThue, 2);//2: Đã trả phòng
            }

            //xuất bill
            DGVPrinter printer = new DGVPrinter();

            printer.Title             = "\r\n\r\n HÓA ĐƠN THANH TOÁN";
            printer.SubTitleAlignment = 0;
            printer.SubTitle          = "\n\n\nKhách hàng/Cơ quan: " + txtTenKhachHang.Text + ".\nĐịa chỉ: " + txtDiaChi.Text + ".\nTrị giá: "
                                        + convertFloatToString(GlobalVar.TongTien) + " đồng.\n\nChi tiết hóa đơn:\n";
            printer.SubTitleFormatFlags = StringFormatFlags.LineLimit | StringFormatFlags.NoClip;
            printer.PageNumbers         = true;
            printer.PageNumberInHeader  = false;
            printer.PorportionalColumns = true;
            printer.HeaderCellAlignment = StringAlignment.Near;
            printer.Footer        = "Khách sạn Silver\r\n12 Nguyễn Thị Thập, Quận 7, TP.HCM\r\nĐiện thoại: 0367376455\r\n\nCảm ơn quý khách đã sử dụng dịch vụ";
            printer.FooterSpacing = 15;

            printer.SubTitleFont = new Font("Arial Unicode", 12, FontStyle.Regular);
            printer.PrintDataGridView(dtgDSPhieuThue);
            //printer.printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
            //printer.printDocument.PrinterSettings.PrintToFile = true;
            //printer.printDocument.PrinterSettings.PrintFileName = Path.Combine(Application.StartupPath + "\\HD"+idHoaDon.ToString() + ".pdf");

            //Đặt lại
            DatLaiHoaDon();
        }
Example #3
0
 void DatLaiGiaTriKiemTra()
 {
     maPhieuThueHienTai        = -1;
     txtTenPhong.Text          = "";
     txtNgayThue.Text          = "";
     txtTinhTrang.Text         = "";
     dtgDSKhachThue.DataSource = PhieuThueDAO.KiemTraDSKhachThue(maPhieuThueHienTai);
 }
Example #4
0
 private void btnPrevious_Click(object sender, EventArgs e)
 {
     offset--;
     if (offset < 0)
     {
         offset++;
         return;
     }
     dtgDSPhieuThue.DataSource = PhieuThueDAO.LayDSPhieuThue(limit, offset);
 }
Example #5
0
        public static bool ThemPhieuThuePhong(ChiTietPhieuThueDTO ct, PhieuThuePhongDTO p)
        {
            int i = DateTime.Compare(p.NgayThue, p.NgayTraPhong.Value);

            if (i <= 0)
            {
                return(PhieuThueDAO.ThemPhieuThuePhong(ct, p));
            }
            return(false);
        }
Example #6
0
        private void btnDuyet_Click(object sender, EventArgs e)
        {
            int    tinhTrang = int.Parse(cmbTinhTrang.SelectedValue.ToString());
            string DateFrom  = this.dateFrom.Value.ToString("yyyy/MM/dd HH:mm");
            string DateTo    = this.dateTo.Value.ToString("yyyy/MM/dd HH:mm");

            total = PhieuThueDAO.LaySoLuongPhieuThue(DateFrom, DateTo, tinhTrang);
            dtgDSPhieuThue.DataSource      = PhieuThueDAO.DuyetDSPhieuThue(DateFrom, DateTo, tinhTrang, limit, offset);
            dtgChiTietPhieuThue.DataSource = PhieuThueDAO.LayChiTietPhieuThue(-1);//load lại bảng chi tiết phiếu thuê
        }
Example #7
0
 private void btnNext_Click(object sender, EventArgs e)
 {
     offset++;
     if (offset * limit >= total)
     {
         offset--;
         return;
     }
     dtgDSPhieuThue.DataSource = PhieuThueDAO.LayDSPhieuThue(limit, offset);
 }
Example #8
0
        void addListChiTietHDByIDPhieuThue(int idPhieuThue)
        {
            DataTable dt = PhieuThueDAO.LayDuLieuThuePhong(idPhieuThue);

            if (dt.Rows.Count <= 0)
            {
                return;
            }
            DuLieuThuePhong duLieu = new DuLieuThuePhong(dt.Rows[0]);

            //Kiểm tra phiếu thuê đã tồn tại trong list hóa đơn
            for (int i = 0; i < GlobalVar.listChiTietHD.Count; i++)
            {
                if (duLieu.MaPhieuThue == GlobalVar.listChiTietHD[i].MaPhieuThue)
                {
                    MessageBox.Show("Phiếu thuê đã có trong danh sách!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
            }

            //Chỉ cần một loại khách nước ngoài thì sẽ phụ thu thêm 1.5
            duLieu.PhuThuLoaiKhach = PhieuThueDAO.LayPhuThuLoaiKhachCaoNhatTheoPhieuThue(idPhieuThue);
            //Mã phiếu thuê, Tên phòng, số ngày, đơn giá, phụ thu, tiền
            ChiTietHoaDon chiTiet = new ChiTietHoaDon();

            chiTiet.MaPhieuThue = duLieu.MaPhieuThue;
            chiTiet.TenPhong    = duLieu.TenPhong;

            TimeSpan totaldays = duLieu.NgayKetThuc.Subtract(duLieu.NgayThue);

            chiTiet.SoNgay = (int)Math.Ceiling(totaldays.TotalDays);
            chiTiet.DonGia = duLieu.DonGia;

            //nếu số lượng khách vượt quá mức quy định thì sẽ phụ thu thêm
            if (duLieu.Sl_Khach > duLieu.Sl_KhachBinhThuong)
            {
                chiTiet.Tien = chiTiet.DonGia * chiTiet.SoNgay * duLieu.PhuThuLoaiPhong * duLieu.PhuThuLoaiKhach;
            }
            else
            {
                chiTiet.Tien = chiTiet.DonGia * chiTiet.SoNgay * duLieu.PhuThuLoaiKhach;
            }
            chiTiet.PhuThu = chiTiet.Tien - chiTiet.DonGia * chiTiet.SoNgay;
            //chiTiet.SoNgay = PhieuThueDAO.LaySoNgayThuePhong(idPhieuThue);
            //add vào list danh sách chi tiết hóa đơn
            GlobalVar.listChiTietHD.Add(chiTiet);

            //cập nhập lại tổng tiền
            GlobalVar.TongTien += chiTiet.Tien;
            lblTongTien.Text    = convertFloatToString(GlobalVar.TongTien);
            //reload danh sách phiếu thuê
            dtgDSPhieuThue.DataSource = GlobalVar.tmp;
            dtgDSPhieuThue.DataSource = GlobalVar.listChiTietHD;
        }
Example #9
0
        private void btnKiemTra_Click(object sender, EventArgs e)
        {
            if (txtMaPhieuThue.Text == "")
            {
                MessageBox.Show("Chưa nhập mã phiếu thuê!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //Kiểm tra phiếu thuê
            if (!int.TryParse(txtMaPhieuThue.Text, out maPhieuThueHienTai))
            {
                DatLaiGiaTriKiemTra();
                MessageBox.Show("Mã phiếu thuê không hợp lệ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                return;
            }

            DataTable dt = PhieuThueDAO.KiemTraPhieuThue(maPhieuThueHienTai);

            if (dt.Rows.Count <= 0)
            {
                DatLaiGiaTriKiemTra();
                MessageBox.Show("Phiếu thuê không tồn tại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            txtTenPhong.Text = dt.Rows[0]["TenPhong"].ToString();
            DateTime date = (DateTime)dt.Rows[0]["NgayThue"];

            txtNgayThue.Text = date.ToString("dd/MM/yyyy HH:mm");
            int tinhTrang = int.Parse(dt.Rows[0]["TinhTrang"].ToString());

            if (tinhTrang == 0)
            {
                txtTinhTrang.Text = "Đang thuê";
            }
            else if (tinhTrang == 1)
            {
                txtTinhTrang.Text = "Đã trả phòng";
            }
            else
            {
                txtTinhTrang.Text = "Đã thanh toán";
            }

            //Kiểm tra danh sách khách thuê

            dt = PhieuThueDAO.KiemTraDSKhachThue(maPhieuThueHienTai);
            dtgDSKhachThue.DataSource = dt;
        }
Example #10
0
        private void dtgDSPhieuThue_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView dgv = sender as DataGridView;

            if (dgv == null)
            {
                return;
            }
            if (dgv.CurrentRow.Selected)
            {
                if (int.TryParse(dgv["maPhieu", e.RowIndex].Value.ToString(), out int idPhieuThue))
                {
                    dtgChiTietPhieuThue.DataSource = PhieuThueDAO.LayChiTietPhieuThue(idPhieuThue);
                }
            }
        }
        private void btnTraPhong_Click(object sender, EventArgs e)
        {
            if (lblTenPhong.Text == "")
            {
                MessageBox.Show("Bạn chưa chọn phòng\nHãy chọn 1 phòng bất kỳ!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (txtTinhTrang.Text != "Đã thuê")
            {
                MessageBox.Show("Phòng trống!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            DialogResult res1 = MessageBox.Show("Trả phòng " + lblTenPhong.Text + "?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (res1 == DialogResult.No)
            {
                return;
            }
            DialogResult res = MessageBox.Show("Bạn có muốn thêm vào hóa đơn " + lblTenPhong.Text + " không ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (res == DialogResult.Yes)
            {
                //từ id phòng lấy được id_phiếu thuê nhờ xét tình trạng phòng là 0: Đang thuê
                int idPhieuThue = PhieuThueDAO.LayPhieuThueHienTaiCuaPhong(idPhong);
                //cập nhập lại tình trạng phòng là 0:trống, tình trạng phiếu thuê là 1: chưa thanh toán, set ngày kết thúc
                PhongDAO.setTinhTrangPhong(idPhong, 0);
                string ngayKetThuc = DateTime.Now.ToString("yyyy/MM/dd HH:mm");
                PhieuThueDAO.CapNhapPhieuThueKhiTraPhong(idPhieuThue, ngayKetThuc);


                addListChiTietHDByIDPhieuThue(idPhieuThue);
            }
            else
            {
                //từ id phòng lấy được id_phiếu thuê nhờ xét tình trạng phòng là 0: Đang thuê
                int idPhieuThue = PhieuThueDAO.LayPhieuThueHienTaiCuaPhong(idPhong);
                //cập nhập lại tình trạng phòng là 0:trống, tình trạng phiếu thuê là 1: chưa thanh toán, set ngày kết thúc
                PhongDAO.setTinhTrangPhong(idPhong, 0);
                string ngayKetThuc = DateTime.Now.ToString("yyyy/MM/dd HH:mm");
                PhieuThueDAO.CapNhapPhieuThueKhiTraPhong(idPhieuThue, ngayKetThuc);

                MessageBox.Show("Trả phòng thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            LoadDSPhong();
            DatLai();
        }
        void addListChiTietHDByIDPhieuThue(int idPhieuThue)
        {
            DataTable dt = PhieuThueDAO.LayDuLieuThuePhong(idPhieuThue);

            if (dt.Rows.Count <= 0)
            {
                return;
            }
            DuLieuThuePhong duLieu = new DuLieuThuePhong(dt.Rows[0]);

            //Chỉ cần một loại khách nước ngoài thì sẽ phụ thu thêm 1.5
            duLieu.PhuThuLoaiKhach = PhieuThueDAO.LayPhuThuLoaiKhachCaoNhatTheoPhieuThue(idPhieuThue);
            //Mã phiếu thuê, Tên phòng, số ngày, đơn giá, phụ thu, tiền
            ChiTietHoaDon chiTiet = new ChiTietHoaDon();

            chiTiet.MaPhieuThue = duLieu.MaPhieuThue;
            chiTiet.TenPhong    = duLieu.TenPhong;

            TimeSpan totaldays = duLieu.NgayKetThuc.Subtract(duLieu.NgayThue);

            chiTiet.SoNgay = (int)Math.Ceiling(totaldays.TotalDays);
            chiTiet.DonGia = duLieu.DonGia;

            //nếu số lượng khách vượt quá mức quy định thì sẽ phụ thu thêm
            if (duLieu.Sl_Khach > duLieu.Sl_KhachBinhThuong)
            {
                chiTiet.Tien = chiTiet.DonGia * chiTiet.SoNgay * duLieu.PhuThuLoaiPhong * duLieu.PhuThuLoaiKhach;
            }
            else
            {
                chiTiet.Tien = chiTiet.DonGia * chiTiet.SoNgay * duLieu.PhuThuLoaiKhach;
            }
            chiTiet.PhuThu = chiTiet.Tien - chiTiet.DonGia * chiTiet.SoNgay;
            //chiTiet.SoNgay = PhieuThueDAO.LaySoNgayThuePhong(idPhieuThue);
            //add vào list danh sách chi tiết hóa đơn
            GlobalVar.listChiTietHD.Add(chiTiet);

            //cập nhập lại tổng tiền
            GlobalVar.TongTien += chiTiet.Tien;

            MessageBox.Show("Thêm vào hóa đơn thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Example #13
0
 public static PhieuThueDTO layPT(string MPT)
 {
     return(PhieuThueDAO.layPT(MPT));
 }
        private void btnLuu2_Click(object sender, EventArgs e)
        {
            KhachHangDAO    dao_kh  = new KhachHangDAO();
            ChiTietPhieuDAO dao_ctp = new ChiTietPhieuDAO();
            PhieuThueDAO    dao_pt  = new PhieuThueDAO();

            if (luu == choice_them)
            {
                DataGridViewRow dr = dgvDoDung.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDPhong"].Value.ToString());
                // lay duoc idphong, lay soluong va sua vao phong
                DataGridViewRow dr2 = dgvKhachHang.SelectedRows[0];
                int             id2 = int.Parse(dr2.Cells["IDKhach"].Value.ToString());

                /*********************(that bai)
                 * // tim ra duoc chitietphieu ung voi phong co ID, sua so luong
                 * var y = (from a in db.tblKhaches
                 *        join b in db.tblPhieuThues on a.IDKhach equals b.IDKhach
                 *        join c in db.tblChiTietPhieux on b.IDPhieuThue equals c.IDPhieuThue
                 *        where c.IDPhong == id && a.IDKhach == id2
                 *        select new
                 *        {
                 *            IDPhieuThue = c.IDPhieuThue,
                 *            IDPhong = c.IDPhong,
                 *            IDDichVu = c.IDDichVu,
                 *            IDDoDung = c.IDDoDung,
                 *            SoLuong = c.SoLuong,
                 *            ThanhTien = c.ThanhTien,
                 *            IDChiTietPhieu = c.IDChiTietPhieu
                 *        }).AsEnumerable().Select(x => new tblChiTietPhieu
                 *        {
                 *            IDPhieuThue = x.IDPhieuThue,
                 *            IDPhong = x.IDPhong,
                 *            IDDichVu = x.IDDichVu,
                 *            IDDoDung = x.IDDoDung,
                 *            SoLuong = x.SoLuong,
                 *            ThanhTien = x.ThanhTien,
                 *            IDChiTietPhieu = x.IDChiTietPhieu
                 *        });
                 *
                 * // x.toList() co the gan vao datasource
                 * // sua so luong
                 *
                 * foreach ( tblChiTietPhieu ctp in y)
                 * {
                 *   ctp.SoLuong = int.Parse(txtSoLuongDoDung.Text);
                 *   //co ten do dung, bh lay id do dung
                 *   var dodung = from a in db.tblDoDungs where a.TenDoDung == cbDoDung.Text select a;
                 *
                 *   foreach ( var i in dodung)
                 *   {
                 *       ctp.IDDoDung = i.IDDoDung;
                 *   }
                 *
                 *   dao_ctp.Edit(ctp, id);
                 * }
                 * //db.SaveChanges();
                 * //them mot ban ghi chitietphieuthue moi;
                 **************************************/

                // sinh ra chitietphieu, giu nguyen idphieu,
                var phieu = from u in db.tblPhieuThues
                            join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                            where u1.IDKhach == id2
                            select new
                {
                    u.IDPhieuThue
                };
                foreach (var y in phieu)
                {
                    tblChiTietPhieu ctp = new tblChiTietPhieu();
                    if (db.tblChiTietPhieux.Count() == db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                    {
                        var temp = db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu) + 1;
                        ctp.IDChiTietPhieu = temp;
                    }
                    if (db.tblChiTietPhieux.Count() != db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                    {
                        while (true)
                        {
                            if (db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) > 1)
                            {
                                var temp1 = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) - 1;
                                ctp.IDChiTietPhieu = temp1;
                                break;
                            }
                            for (int i = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu); i <= db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu); i++)
                            {
                                if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) != null)
                                {
                                    continue;
                                }
                                if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) == null)
                                {
                                    ctp.IDChiTietPhieu = i;
                                    break;
                                }
                            }
                        }
                        break;
                    }
                    ctp.IDPhieuThue = y.IDPhieuThue;
                    ctp.SoLuong     = int.Parse(txtSoLuongDoDung.Text);
                    var dodung = from a in db.tblDoDungs where a.TenDoDung == cbDoDung.Text select a;

                    foreach (var i in dodung)
                    {
                        ctp.IDDoDung = i.IDDoDung;
                    }
                    var dichvu = from a in db.tblDichVus where a.TenDichVu == cbDichVu.Text select a;

                    foreach (var i in dichvu)
                    {
                        ctp.IDDichVu = i.IDDichVu;
                    }

                    ctp.IDPhong   = id;
                    ctp.ThanhTien = ctp.SoLuong * int.Parse(txtGiaDoDung.Text) + int.Parse(txtGiaDichVu.Text);
                    dao_ctp.Insert(ctp);
                    luu = 0;
                    LoadBangDichVu();
                    LoadBangDoDung();
                }
            }
            if (luu == choice_sua)
            {
            }
            if (luu == choice_xoa)
            {
                if (DialogResult.Yes == MessageBox.Show("Bạn chắc không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    DataGridViewRow dr = dgvDoDung.SelectedRows[0];
                    int             id = int.Parse(dr.Cells["IDChiTietPhieu"].Value.ToString());
                    var             k  = db.tblChiTietPhieux.Where(x => x.IDChiTietPhieu == id).First();
                    // so luong bao nhieu thanh tien tru di bay nhieu
                    db.tblChiTietPhieux.Remove(k);
                    //  k.ThanhTien -= k.SoLuong * int.Parse(dr.Cells["DonGia"].Value.ToString());
                    // k.IDDoDung = 0;
                    //k.SoLuong = 0;
                    db.SaveChanges();
                }
                luu = 0;
                LoadBangDichVu();
                LoadBangDoDung();
                MoKhoaAll();
            }
        }
        /*
         * private void lvPhong_MouseClick(object sender, MouseEventArgs e)
         * {
         *  foreach (ListViewItem item in lvPhong.Items)
         *  {
         *      if(item.Checked== true)
         *      {
         *          int a = int.Parse(item.SubItems[1].Text);
         *          txtTen.Text = a.ToString();
         *      }
         *  }
         * }
         */
        private void btnLuu_Click(object sender, EventArgs e)
        {
            /*foreach (ListViewItem item in lvPhong.Items)
             * {
             *  if(item.Checked== true)
             *  {
             *      int a = int.Parse(item.SubItems[1].Text);
             *      txtTen.Text = a.ToString();
             *  }
             * }*/
            KhachHangDAO    dao_kh  = new KhachHangDAO();
            ChiTietPhieuDAO dao_ctp = new ChiTietPhieuDAO();
            PhieuThueDAO    dao_pt  = new PhieuThueDAO();

            if (luu == choice_them)
            {
                // them khach hang
                tblKhach k = new tblKhach();
                k.TenKhach = txtTen.Text;
                k.SDT      = txtSDT.Text;
                k.DiaChi   = txtDiaChi.Text;
                k.SoNguoi  = int.Parse(txtSoLuongNguoi.Text);
                if (db.tblKhaches.Count() == db.tblKhaches.Max(x => x.IDKhach))
                {
                    var temp = db.tblKhaches.Max(x => x.IDKhach) + 1;
                    k.IDKhach = temp;
                }
                if (db.tblKhaches.Count() != db.tblKhaches.Max(x => x.IDKhach))
                {
                    while (true)
                    {
                        if (db.tblKhaches.Min(x => x.IDKhach) > 1)
                        {
                            var temp1 = db.tblKhaches.Min(x => x.IDKhach) - 1;
                            k.IDKhach = temp1;
                            break;
                        }
                        for (int i = db.tblKhaches.Min(x => x.IDKhach); i <= db.tblKhaches.Max(x => x.IDKhach); i++)
                        {
                            if (db.tblKhaches.SingleOrDefault(x => x.IDKhach == i) != null)
                            {
                                continue;
                            }
                            if (db.tblKhaches.SingleOrDefault(x => x.IDKhach == i) == null)
                            {
                                k.IDKhach = i;
                                break;
                            }
                        }
                        break;
                    }
                }

                dao_kh.Insert(k);

                // them vao trong phieuthue
                tblPhieuThue pt = new tblPhieuThue();
                pt.IDKhach      = k.IDKhach;
                pt.ThoiGianThue = DateTime.Now;
                pt.ThoiGianTra  = DateTime.Now;
                pt.TongTien     = 0;

                /*for( int i=1; i<db.tblPhieuThues.Max(x=>x.IDPhieuThue);i++)
                 * {
                 *  if( db.tblPhieuThues.SingleOrDefault(x=>x.IDPhieuThue==i)==null)
                 *  {
                 *      pt.IDPhieuThue = i;
                 *  }
                 * }*/
                if (db.tblPhieuThues.Count() == db.tblPhieuThues.Max(x => x.IDPhieuThue))
                {
                    var temp = db.tblPhieuThues.Max(x => x.IDPhieuThue) + 1;
                    pt.IDPhieuThue = temp;
                }
                if (db.tblPhieuThues.Count() != db.tblPhieuThues.Max(x => x.IDPhieuThue))
                {
                    while (true)
                    {
                        if (db.tblPhieuThues.Min(x => x.IDPhieuThue) > 1)
                        {
                            var temp1 = db.tblPhieuThues.Min(x => x.IDPhieuThue) - 1;
                            pt.IDPhieuThue = temp1;
                            break;
                        }
                        for (int i = db.tblPhieuThues.Min(x => x.IDPhieuThue); i <= db.tblPhieuThues.Max(x => x.IDPhieuThue); i++)
                        {
                            if (db.tblPhieuThues.SingleOrDefault(x => x.IDPhieuThue == i) != null)
                            {
                                continue;
                            }
                            if (db.tblPhieuThues.SingleOrDefault(x => x.IDPhieuThue == i) == null)
                            {
                                pt.IDPhieuThue = i;
                                break;
                            }
                        }
                        break;
                    }
                }
                //

                dao_pt.Insert(pt);


                // them phong voi id khach da cho va them vao o tong tien
                // them vao chitietphieuthue
                foreach (ListViewItem item in lvPhong.Items)
                {
                    if (item.Checked == true)
                    {
                        int i_room = int.Parse(item.SubItems[1].Text);

                        tblChiTietPhieu ctp = new tblChiTietPhieu();
                        ctp.IDPhong     = i_room;
                        ctp.IDDichVu    = 0;
                        ctp.IDDoDung    = 0;
                        ctp.SoLuong     = 0;
                        ctp.ThanhTien   = 0;
                        ctp.IDPhieuThue = pt.IDPhieuThue;

                        if (db.tblChiTietPhieux.Count() == db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                        {
                            var temp = db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu) + 1;
                            ctp.IDChiTietPhieu = temp;
                        }
                        if (db.tblChiTietPhieux.Count() != db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                        {
                            while (true)
                            {
                                if (db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) > 1)
                                {
                                    var temp1 = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) - 1;
                                    ctp.IDChiTietPhieu = temp1;
                                    break;
                                }
                                for (int i = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu); i <= db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu); i++)
                                {
                                    if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) != null)
                                    {
                                        continue;
                                    }
                                    if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) == null)
                                    {
                                        ctp.IDChiTietPhieu = i;
                                        break;
                                    }
                                }
                            }
                            break;
                        }
                        dao_ctp.Insert(ctp);
                    }
                }
                //luu xong
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }

            if (luu == choice_sua)
            {
                // sua trong bang khachhang
                // sua trong bang co idphong, tuc la bang chitietphieuthue( ma muon co bang chi tiet phieu thue de sua thi lai
                // phai lay duoc idphieuthue co ma khach hang
                DataGridViewRow dr = dgvKhachHang.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDKhach"].Value.ToString());
                tblKhach        k  = new tblKhach();
                k.IDKhach  = id;
                k.SDT      = txtSDT.Text;
                k.SoNguoi  = int.Parse(txtSoLuongNguoi.Text);
                k.TenKhach = txtTen.Text;
                k.DiaChi   = txtDiaChi.Text;
                dao_kh.Edit(k);
                MessageBox.Show("Bạn sửa thành công!");

                /*
                 * // lay idphieu thue co makhach hang
                 * var phieu = from u in db.tblPhieuThues
                 *          join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                 *          where u1.IDKhach == id
                 *          select new
                 *          {
                 *              u.IDPhieuThue
                 *          };
                 * foreach( var u in phieu)
                 * {
                 *  int a = u.IDPhieuThue;
                 *  // sua trong bang chitietphieuthue co IDPhieuThue, IDPhong=
                 * }
                 */
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }

            if (luu == choice_xoa)
            {
                // xoa thi phai xoa o trong khach, phieu, chitietphieu
                DataGridViewRow dr = dgvKhachHang.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDKhach"].Value.ToString());
                if (DialogResult.Yes == MessageBox.Show("Bạn chắc không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    //xoa kh
                    dao_kh.Delete(id);
                    //xoa  phieu
                    var phieu = from u in db.tblPhieuThues
                                join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                                where u1.IDKhach == id
                                select new
                    {
                        u.IDPhieuThue
                    };
                    foreach (var u in phieu)
                    {
                        int a = u.IDPhieuThue;
                        // sua trong bang chitietphieuthue co IDPhieuThue, IDPhong=
                        dao_pt.Delete(a);
                        // xoa trong chi tiet phieu
                        dao_ctp.Delete(a);
                    }
                }
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }
        }
Example #16
0
 public static List <PhieuThueDTO> layDSPT()
 {
     return(PhieuThueDAO.layDSPT());
 }
Example #17
0
 private void ucThuePhong_Load(object sender, EventArgs e)
 {
     setUpCMBTinhTrangPhieuThue();
     total = PhieuThueDAO.LaySoLuongPhieuThue();
     dtgDSPhieuThue.DataSource = PhieuThueDAO.LayDSPhieuThue(limit, offset);
 }
Example #18
0
 public static bool ThemPhieu(string MPT, string MP, DateTime day, string TT, KhachHangDTO KH)
 {
     return(PhieuThueDAO.ThemPhieu(MPT, MP, day, TT, KH));
 }
Example #19
0
 public static bool ThemCTPhieuThuePhong(ChiTietPhieuThueDTO ct, KhachHangDTO kh)
 {
     return(PhieuThueDAO.ThemCTPhieuThuePhong(ct, kh));
 }
Example #20
0
 public static List <KhachHangDTO> LayMaKHKeTiep()
 {
     return(PhieuThueDAO.LayMaKHKeTiep());
 }
Example #21
0
 public static List <PhieuThuePhongDTO> LayMaCTPTKeTiep()
 {
     return(PhieuThueDAO.LayMaCTPTKeTiep());
 }
Example #22
0
 public static List <PhieuThuePhongDTO> LayPhongTuongUng(int makh)
 {
     return(PhieuThueDAO.LayPhongTuongUng(makh));
 }
Example #23
0
 public static void CapNhat(string MPT, string TT)
 {
     PhieuThueDAO.CapNhat(MPT, TT);
 }