Ejemplo n.º 1
0
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            string maPT = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns[0]).ToString();

            maThuePhong = maPT;
            PHIEU_THUE_PHONG pt = context.PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong.ToLower() == maPT.ToLower());

            if (pt != null)
            {
                NHAN_VIEN nv = context.NHAN_VIEN.FirstOrDefault(p => p.MaNhanVien == pt.MaNhanVien);
                txtNhanVienLap.Text = nv.HoTen;
                //tinh so ngay
                CHI_TIET_PHIEU_THUE_PHONG ctTP = context.CHI_TIET_PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong == pt.MaThuePhong);
                Double milTime = DateTime.Parse(ctTP.NgayTraDuKien.ToString()).Day - DateTime.Parse(ctTP.NgayNhan.ToString()).Day + 1;
                txtSoNgay.Text = milTime.ToString() + " ngày";
            }
        }
Ejemplo n.º 2
0
        private void icoBtnTraphong_Click(object sender, EventArgs e)
        {
            //Check tra chua
            if (maThuePhong == "")
            {
                MessageBox.Show("Vui lòng chọn phiếu thuê trước!", "Thông tin");
            }
            else
            {
                // thanh toan chua
                HOA_DON hd = context.HOA_DON.FirstOrDefault(p => p.MaThuePhong == maThuePhong);
                if (hd == null)
                {
                    HOA_DON hdCuoi = context.HOA_DON.ToList().LastOrDefault();

                    if (hdCuoi == null)
                    {
                        // HD001
                        String           maMoi     = "HD001";
                        PHIEU_THUE_PHONG phieuThue = context.PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong == maThuePhong);
                        //Tinh tien
                        double tongTien = 0;

                        CHI_TIET_PHIEU_THUE_PHONG ctThuePhong = context.CHI_TIET_PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong == maThuePhong);
                        ctThuePhong.NgayTra = DateTime.Now;
                        context.SaveChanges();

                        //tinh so ngay
                        Double milTime = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Day - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Day + 1;
                        Double month   = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Month - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Month;
                        Double year    = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Year - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Year;

                        double dayTime = (milTime + 31 * month + 365 * year);
                        //Tien phong
                        PHONG      phong     = context.PHONG.FirstOrDefault(p => p.MaPhong == ctThuePhong.MaPhong);
                        LOAI_PHONG loaiPhong = context.LOAI_PHONG.FirstOrDefault(p => p.MaLoaiPhong == phong.MaLoaiPhong);
                        double     tienPhong = dayTime * Double.Parse(loaiPhong.DonGia.ToString());

                        //Tien dich vu
                        List <DANH_SACH_SU_DUNG_DICH_VU> ds = context.DANH_SACH_SU_DUNG_DICH_VU.ToList();
                        double tienDV = 0;
                        foreach (var item in ds)
                        {
                            if (item.MaThuePhong == maThuePhong)
                            {
                                tienDV += Double.Parse(loaiPhong.DonGia.ToString()) * Double.Parse(item.SoLuong.ToString());
                            }
                        }
                        tongTien     = tienPhong + tienDV;
                        tongtienthue = tongTien;

                        HOA_DON newHD = new HOA_DON()
                        {
                            MaHoaDon = maMoi, MaNhanVien = phieuThue.MaNhanVien, MaThuePhong = maThuePhong, NgayLap = DateTime.Now, TongTien = long.Parse(tongTien.ToString())
                        };
                        context.HOA_DON.Add(newHD);
                        context.SaveChanges();
                        CHI_TIET_HOA_DON ctHD = new CHI_TIET_HOA_DON()
                        {
                            MaHoaDon = maMoi, MaThuePhong = maThuePhong, SoNgay = int.Parse(dayTime.ToString()), ThanhTien = long.Parse(tongTien.ToString()), TienDichVu = long.Parse(tienDV.ToString()), TienPhong = long.Parse(tienPhong.ToString())
                        };
                        context.CHI_TIET_HOA_DON.Add(ctHD);
                        //Cap nhat lai tinh trang phong
                        phong.MaLoaiTinhTrangPhong = "TP001";
                        context.SaveChanges();
                        loadData();
                        //Tra phong xuat hoa don
                    }
                    else
                    {
                        PHIEU_THUE_PHONG phieuThue = context.PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong == maThuePhong);
                        String           maMoi     = convertNumbtoID(hdCuoi.MaHoaDon.Replace("HD", ""));
                        //Tinh tien
                        Double tongTien = 0;

                        CHI_TIET_PHIEU_THUE_PHONG ctThuePhong = context.CHI_TIET_PHIEU_THUE_PHONG.FirstOrDefault(p => p.MaThuePhong == maThuePhong);
                        ctThuePhong.NgayTra = DateTime.Now;
                        context.SaveChanges();
                        //tinh so ngay
                        Double milTime = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Day - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Day + 1;
                        Double month   = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Month - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Month;
                        Double year    = DateTime.Parse(ctThuePhong.NgayTraDuKien.ToString()).Year - DateTime.Parse(ctThuePhong.NgayNhan.ToString()).Year;

                        double dayTime = (milTime + 31 * month + 365 * year);
                        //Tien phong
                        PHONG      phong     = context.PHONG.FirstOrDefault(p => p.MaPhong == ctThuePhong.MaPhong);
                        LOAI_PHONG loaiPhong = context.LOAI_PHONG.FirstOrDefault(p => p.MaLoaiPhong == phong.MaLoaiPhong);
                        Double     tienPhong = dayTime * Double.Parse(loaiPhong.DonGia.ToString());

                        //Tien dich vu
                        List <DANH_SACH_SU_DUNG_DICH_VU> ds = context.DANH_SACH_SU_DUNG_DICH_VU.ToList();
                        Double tienDV = 0;
                        foreach (var item in ds)
                        {
                            if (item.MaThuePhong == maThuePhong)
                            {
                                tienDV += Double.Parse(loaiPhong.DonGia.ToString()) * Double.Parse(item.SoLuong.ToString());
                            }
                        }
                        tongTien = tienPhong + tienDV;

                        HOA_DON newHD = new HOA_DON()
                        {
                            MaHoaDon = maMoi, MaNhanVien = phieuThue.MaNhanVien, MaThuePhong = maThuePhong, NgayLap = DateTime.Now, TongTien = long.Parse(tongTien.ToString())
                        };
                        context.HOA_DON.Add(newHD);
                        context.SaveChanges();
                        CHI_TIET_HOA_DON ctHD = new CHI_TIET_HOA_DON()
                        {
                            MaHoaDon = maMoi, MaThuePhong = maThuePhong, SoNgay = int.Parse(dayTime.ToString()), ThanhTien = long.Parse(tongTien.ToString()), TienDichVu = long.Parse(tienDV.ToString()), TienPhong = long.Parse(tienPhong.ToString())
                        };
                        context.CHI_TIET_HOA_DON.Add(ctHD);
                        //Cap nhat lai tinh trang phong
                        phong.MaLoaiTinhTrangPhong = "TP001";
                        context.SaveChanges();
                        loadData();
                        //Tra phong xuat hoa don
                    }
                }
                else
                {
                    MessageBox.Show("Phiếu thuê phòng này đã thanh toán", "Thông tin");
                }
            }
        }
        private void icoBtnDatphong_Click(object sender, EventArgs e)
        {
            DateTime ngayden     = DateTime.Parse(dtpNgayden.Text.ToString());
            DateTime ngaydi      = DateTime.Parse(dtpNgaydi.Text.ToString());
            int      compareDate = DateTime.Compare(ngayden, ngaydi);

            if (txtSonguoi.Text == "")
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin!");
            }
            else
            {
                if (txtTimphong.Text != "" && compareDate <= 0)
                {
                    PHIEU_THUE_PHONG itemCuoi = getLastPT();

                    if (itemCuoi != null)
                    {
                        string           maMoi     = convertNumbtoID(itemCuoi.MaThuePhong.Replace("TP", ""));
                        PHIEU_THUE_PHONG phieuThue = new PHIEU_THUE_PHONG()
                        {
                            MaThuePhong = maMoi, MaKhachHang = cboHoTen.SelectedValue.ToString(), MaNhanVien = "NV002", NgayLap = DateTime.Now
                        };
                        context.PHIEU_THUE_PHONG.Add(phieuThue);
                        context.SaveChanges();

                        KHACH_HANG kh = context.KHACH_HANG.FirstOrDefault(p => p.MaKhachHang == cboHoTen.SelectedValue.ToString());

                        CHI_TIET_PHIEU_THUE_PHONG ctThuePhong = new CHI_TIET_PHIEU_THUE_PHONG()
                        {
                            MaThuePhong    = maMoi,
                            MaKhachHang    = kh.MaKhachHang,
                            MaPhong        = txtTimphong.Text,
                            HoTenKhachHang = cboHoTen.Text,
                            CMND           = kh.CMND,
                            NgayNhan       = DateTime.Parse(dtpNgayden.Text.ToString()),
                            NgayTraDuKien  = DateTime.Parse(dtpNgaydi.Text.ToString()),
                            NgayTra        = null
                        };
                        context.CHI_TIET_PHIEU_THUE_PHONG.Add(ctThuePhong);
                        context.SaveChanges();

                        PHONG phong = context.PHONG.FirstOrDefault(p => p.MaPhong == txtTimphong.Text);
                        phong.MaLoaiTinhTrangPhong = "TP003";
                        context.SaveChanges();

                        MessageBox.Show("Đặt phòng thành công!");
                    }
                    else
                    {
                        PHIEU_THUE_PHONG phieuThue = new PHIEU_THUE_PHONG()
                        {
                            MaThuePhong = "PT001", MaKhachHang = cboHoTen.SelectedValue.ToString(), MaNhanVien = "NV002", NgayLap = DateTime.Now
                        };
                        context.PHIEU_THUE_PHONG.Add(phieuThue);
                        context.SaveChanges();

                        KHACH_HANG kh = context.KHACH_HANG.FirstOrDefault(p => p.MaKhachHang == cboHoTen.SelectedValue.ToString());

                        CHI_TIET_PHIEU_THUE_PHONG ctThuePhong = new CHI_TIET_PHIEU_THUE_PHONG()
                        {
                            MaThuePhong    = "PT001",
                            MaKhachHang    = kh.MaKhachHang,
                            MaPhong        = txtTimphong.Text,
                            HoTenKhachHang = cboHoTen.Text,
                            CMND           = kh.CMND,
                            NgayNhan       = DateTime.Parse(dtpNgayden.Text.ToString()),
                            NgayTraDuKien  = DateTime.Parse(dtpNgaydi.Text.ToString()),
                            NgayTra        = null
                        };
                        context.CHI_TIET_PHIEU_THUE_PHONG.Add(ctThuePhong);
                        context.SaveChanges();

                        PHONG phong = context.PHONG.FirstOrDefault(p => p.MaPhong == txtTimphong.Text);
                        phong.MaLoaiTinhTrangPhong = "TP003";
                        context.SaveChanges();

                        MessageBox.Show("Đặt phòng thành công!");
                    }
                }
                else if (compareDate >= 0)
                {
                    MessageBox.Show("Ngày đến không thể lớn hơn ngày đi");
                }
            }
        }