//Hiennv    Tạo mới     25/11/2014   Load ra toàn bộ danh sách phòng còn trống trong khoảng thời gian tìm kiếm
 public List<NewRoomMemberEN> LoadListAvailableRooms(DateTime fromDate, DateTime toDate)
 {
     try
     {
         ReceptionTaskBO aReceptionTaskBO = new ReceptionTaskBO();
         if (this.CheckData() == true)
         {
             aNewBookingEN.aListNewRoomMembers.Clear();
             List<Rooms> aListRooms = aReceptionTaskBO.GetListAvailableRooms(fromDate, toDate, 1).OrderBy(r => r.Sku).ToList(); // 1=IDLang
             NewRoomMemberEN aNewRoomMemberEN;
             for (int i = 0; i < aListRooms.Count; i++)
             {
                 aNewRoomMemberEN = new NewRoomMemberEN();
                 aNewRoomMemberEN.IDBookingRooms = aListRooms[i].ID;
                 aNewRoomMemberEN.RoomCode = aListRooms[i].Code;
                 aNewRoomMemberEN.RoomSku = aListRooms[i].Sku;
                 aNewRoomMemberEN.RoomBed1 = aListRooms[i].Bed1.GetValueOrDefault();
                 aNewRoomMemberEN.RoomBed2 = aListRooms[i].Bed2.GetValueOrDefault();
                 aNewRoomMemberEN.RoomCostRef = aListRooms[i].CostRef.GetValueOrDefault();
                 aNewRoomMemberEN.RoomTypeDisplay = CORE.CONSTANTS.SelectedRoomsType(Convert.ToInt32(aListRooms[i].Type)).Name;
                 this.aListAvaiableRooms.Add(aNewRoomMemberEN);
             }
         }
         return this.aListAvaiableRooms;
     }
     catch (Exception ex)
     {
         MessageBox.Show("frmTsk_BookingForRoom.LoadListAvailableRooms\n" + ex.ToString(), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return null;
     }
 }
        public void LoadListAvailableRooms(DateTime fromDate, DateTime toDate)
        {
            try
            {
                ReceptionTaskBO aReceptionTaskBO = new ReceptionTaskBO();

                if (this.CheckData() == true)
                {
                    this.aCheckInEN.aListRoomMembers.Clear();
                    dgvSelectedRooms.DataSource = null;
                    aListTemp = aReceptionTaskBO.GetListAvailableRooms(fromDate, toDate, 1).OrderBy(r => r.Sku).ToList(); // 1=IDLang
                    RoomsEN aRoomEN;
                    for (int i = 0; i < aListTemp.Count; i++)
                    {
                        aRoomEN = new RoomsEN();
                        aRoomEN.ID = aListTemp[i].ID;
                        aRoomEN.Code = aListTemp[i].Code;
                        aRoomEN.Sku = aListTemp[i].Sku;
                        aRoomEN.Image = aListTemp[i].Image;
                        aRoomEN.Bed1 = aListTemp[i].Bed1;
                        aRoomEN.Bed2 = aListTemp[i].Bed2;
                        aRoomEN.CostRef = aListTemp[i].CostRef;
                        aRoomEN.CostUnit = aListTemp[i].CostUnit;
                        aRoomEN.Info = aListTemp[i].Info;
                        aRoomEN.Intro = aListTemp[i].Intro;
                        aRoomEN.Disable = aListTemp[i].Disable;
                        aRoomEN.IDLang = aListTemp[i].IDLang;
                        aRoomEN.TypeDisplay = CORE.CONSTANTS.SelectedRoomsType(Convert.ToInt32(aListTemp[i].Type)).Name;

                        this.aListAvaiableRooms.Add(aRoomEN);
                    }

                    dgvAvailableRooms.DataSource = aListAvaiableRooms;
                    dgvAvailableRooms.RefreshDataSource();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("frmTsk_CheckIn_Customer_Step1.LoadListAvailableRooms\n" + ex.ToString(), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private List<Rooms> GetAvaiableRoom()
        {
            ReceptionTaskBO aReceptionTaskBO = new ReceptionTaskBO();
            BookingRsBO aBookingRsBO = new BookingRsBO();

            List<Rooms> aListAvaiableRooms = aReceptionTaskBO.GetListAvailableRooms(DateTime.Parse(dtpCheckIn.Text.ToString()), DateTime.Parse(dtpCheckOut.Text.ToString()), 1);
            List<Rooms> aListRoomInBookingR = aBookingRsBO.SelectListRooms_ByIDBookingR(this.aBookingRoom.IDBookingR, 1);

            return aListRoomInBookingR.Union(aListAvaiableRooms).ToList(); // Nối và loại trừ trùng lặp
        }