// Mehod that is populating the RoomControl Panel user controls base on the amount of the available data private void PopulateItems() { _cleaners.Clear(); List <Room> rooms = RoomsDAO.GetRoomsOfResidence(); _cleaners = CleaningStaffDAO.GetCleaningStaffList(); List <Reservation> reservations = ReservationDAO.GetReservationDetails(); int amount = rooms.Count; if (flowLayoutPanel1.Controls.Count != 0) { flowLayoutPanel1.Controls.Clear(); } RoomControlPanel[] listItems = new RoomControlPanel[amount]; for (int i = 0; i < listItems.Length; i++) { listItems[i] = new RoomControlPanel { RoomNumber = rooms[i].GetRoomID, Services1 = GetService3(reservations[i].EndOfReservation), Services2 = GetService2(reservations[i].StartOfReservation), Services3 = GetService1(reservations[i].StartOfReservation), Status = rooms[i].GetState, NumberWorking = rooms[i].GetNumber, Cleaners = _cleaners[0].ReturnIDList(_cleaners) }; if (flowLayoutPanel1.Controls.Count < 0) { flowLayoutPanel1.Controls.Clear(); } else { flowLayoutPanel1.Controls.Add(listItems[i]); } } }