Пример #1
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;
        }
        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);
        }