//NgocBM 24/12/2014
        public bool CheckInNewRoom(ItemChangeRoomEN aItem)
        {
            try
            {
                BookingRooms aBookingRooms = new BookingRooms();
                aBookingRooms = aItem.GetBookingRooms();

                BookingRoomsBO aBookingRoomsBO = new BookingRoomsBO();

                int IDBookingRoom = aBookingRoomsBO.Insert(aBookingRooms);

                //-----------------------------------------------------------
                // Cao nhatj danh sach nguoi trong phong
                BookingRoomsMembersBO aBookingRoomsMembersBO = new BookingRoomsMembersBO();

                List<CustomerInfoEN> aList = new List<CustomerInfoEN>();
                aList = aItem.GetAllCustomers();
                for (int i = 0; i < aList.Count; i++)
                {
                    BookingRoomsMembers aBookingRoomsMembers = new BookingRoomsMembers();
                    aBookingRoomsMembers.DateEnterCountry = aList[i].DateEnterCountry;
                    aBookingRoomsMembers.EnterGate = aList[i].EnterGate;
                    aBookingRoomsMembers.LeaveDate = aList[i].LeaveDate;
                    aBookingRoomsMembers.LimitDateEnterCountry = aList[i].LimitDateEnterCountry;
                    aBookingRoomsMembers.Organization = aList[i].Organization;

                    aBookingRoomsMembers.PurposeComeVietnam = aList[i].PurposeComeVietnam;
                    aBookingRoomsMembers.TemporaryResidenceDate = aList[i].TemporaryResidenceDate;

                    aBookingRoomsMembers.IDBookingRoom = IDBookingRoom;

                    aBookingRoomsMembers.IDCustomer = aList[i].ID;

                    aBookingRoomsMembersBO.Insert(aBookingRoomsMembers);
                }
                return true;
            }
            catch (Exception ee)
            {
                return false;
            }
        }
        private void lueRooms_EditValueChanged(object sender, EventArgs e)
        {
            if (this.IsReadyInitData == true)
            {
                // Luu lai thong tin cua chuyen phong cu truoc khi select phong moi
                this.aChangeRoomEn.UpdateItemChangeRooms(this.aCurrentRoomInfo);

                // Chuyen sang select phong moi bang thong tin trong aChangeRoomsEN
                this.aCurrentRoomInfo = this.aChangeRoomEn.GetItemChangeRooms(lueRooms.EditValue.ToString());

                // Get list customer for current room
                dgvSelectCustomers.DataSource = this.GetDataForSelectCustomerGridview(lueRooms.EditValue.ToString());

                if (this.aCurrentRoomInfo == null)
                {
                    //add them mot ItemChangeRooms moi
                    ItemChangeRoomEN aItemChangeRoomEN = new ItemChangeRoomEN();
                    //Kiem tra va danh dau xem phong vua chon co nam trong BookingR ban dau k?
                    //Viec nay lien quan den truong hop chuyen nguoi tu phong A -> B, (A,B cung thuoc BookingR)
                   List<BookingRooms> aList  = (new BookingRoomsBO()).Select_ByIDBookingRs(this.aBookingRs.ID).Where(p => p.CodeRoom == lueRooms.EditValue.ToString()).ToList();
                   int IsSelectRoomInBookingR = aList.Count;
                   int IDBookingRoom = 0;
                    if (IsSelectRoomInBookingR > 0)
                    {
                        aItemChangeRoomEN.IsRoomInBookingR = true;
                        IDBookingRoom = aList.Max(p => p.ID);
                        aItemChangeRoomEN.SetBookingRooms((new BookingRoomsBO()).Select_ByID(IDBookingRoom));
                    }
                    else
                    {
                        aItemChangeRoomEN.IsRoomInBookingR = false;
                        aItemChangeRoomEN.SetBookingRooms(this.aBookingRoom);
                    }
                    //-----------------------------------------------------------

                    aItemChangeRoomEN.SetAddTimeStart(null);
                    aItemChangeRoomEN.SetAddTimeEnd(null);
                    aItemChangeRoomEN.SetTimeInUsed(null);

                    aItemChangeRoomEN.SetCheckInActual(dtpCheckIn.DateTime);
                    aItemChangeRoomEN.SetCheckInPlan(dtpCheckIn.DateTime);
                    aItemChangeRoomEN.SetCheckOutActual(dtpCheckOut.DateTime);
                    aItemChangeRoomEN.SetCheckOutPlan(dtpCheckOut.DateTime);

                    aItemChangeRoomEN.SetTypeBookingRoom(1); // Khong tin chechIn som voi phong chuyen sang sau

                    aItemChangeRoomEN.SetCodeRoom(lueRooms.EditValue.ToString());

                    aItemChangeRoomEN.AddCustomer(this.GetDataForSelectCustomerGridview(lueRooms.EditValue.ToString()));

                    if (aItemChangeRoomEN.GetAllCustomers().Count > 0)
                    {
                        AccountancyBO aAccountancyBO = new AccountancyBO();
                        aItemChangeRoomEN.SetCost(aAccountancyBO.CalculateCostRoom(lueRooms.EditValue.ToString(), this.aBookingRoom.PriceType, aBookingRs.CustomerType.GetValueOrDefault(0), aItemChangeRoomEN.GetAllCustomers().Count).GetValueOrDefault(0));
                    }
                    else
                    {
                        aItemChangeRoomEN.SetCost(0);
                    }

                    this.aChangeRoomEn.InsertItemChangeRooms(aItemChangeRoomEN);
                    this.aCurrentRoomInfo = aItemChangeRoomEN;
                }
            }
        }
        public bool InsertItemChangeRooms(ItemChangeRoomEN cust)
        {
            try
            {
                ItemChangeRoomEN temp = new ItemChangeRoomEN();
                temp.AddCustomer(cust.GetAllCustomers());
                temp.SetBookingRooms(cust.GetBookingRooms());

                this.aListItemChangeRoomEN.Insert(0, temp);
                return true;
            }
            catch (Exception e2)
            {
                return false;
            }
        }