Ejemplo n.º 1
0
 // Method to get rooms from DB and add into the list
 public void initializeDirectoryOfRoom()
 {
     foreach (KeyValuePair <int, Room> room in getAllRooms())
     {
         DirectoryOfRooms.getInstance().roomList.Add(room.Value);
     }
 }
Ejemplo n.º 2
0
        /**
         * Retrieve all rooms
         */
        public Dictionary <int, Room> getAllRooms()
        {
            // Get all rooms from the identity map
            Dictionary <int, Room> rooms = roomIdentityMap.findAll();

            // Get all rooms in the database
            Dictionary <int, Object[]> result = tdgRoom.getAll();

            // If it's empty, simply return those from the identity map
            if (result == null)
            {
                return(rooms);
            }

            // Loop through each of the result:
            foreach (KeyValuePair <int, Object[]> record in result)
            {
                // The room is not in the identity map. Create an instance, add it to identity map and to the return variable
                if (!rooms.ContainsKey(record.Key))
                {
                    Room room = DirectoryOfRooms.getInstance().makeNewRoom((int)record.Key, (String)record.Value[1]);

                    roomIdentityMap.addTo(room);

                    rooms.Add(room.roomID, room);
                }
            }

            return(rooms);
        }
Ejemplo n.º 3
0
        /**
         * Handles the creation of a new room
         */
        public Room makeNew(String roomNum)
        {
            int  nextID = getNextID();
            Room room   = DirectoryOfRooms.getInstance().makeNewRoom(nextID, roomNum);

            // Add it to the identity map
            roomIdentityMap.addTo(room);

            // Register as a new room
            UnitOfWork.getInstance().registerNew(room);

            return(room);
        }
Ejemplo n.º 4
0
        /**
         * Initialize the list of rooms, used for instantiating console
         * */
        public void initializeDirectory()
        {
            // Get all rooms in the database
            Dictionary <int, Object[]> result = tdgRoom.getAll();

            //Loop through each of the result:
            foreach (KeyValuePair <int, Object[]> record in result)
            {
                Room room = DirectoryOfRooms.getInstance().makeNewRoom((int)record.Key, (String)record.Value[1]);

                roomIdentityMap.addTo(room);
            }
        }
Ejemplo n.º 5
0
        // I commented it out because this is not used right now.
        //The list of reservation is updated upon calling updateDirectories()
        //
        ///**
        // * Set room attributes, mainly to update list of reservations
        // */
        //public void setRoom(int roomID, String roomNum, List<Reservation> reservations)
        //{

        //    Room room = DirectoryOfRooms.getInstance().modifyRoom(roomID, roomNum, reservations);

        //    // Register it to the unit of work
        //    UnitOfWork.getInstance().registerDirty(room);
        //}

        /**
         * Delete room
         */
        public void delete(int roomID)
        {
            // Get the room to be deleted
            Room room = roomIdentityMap.find(roomID);

            // If found, remove it from identity map
            if (room != null)
            {
                roomIdentityMap.removeFrom(room);
            }

            // Register as deleted
            UnitOfWork.getInstance().registerDeleted(room);
            DirectoryOfRooms.getInstance().deleteRoom(roomID);
        }
Ejemplo n.º 6
0
        /**
         * Retrieve a room given its ID
         */
        public Room getRoom(int roomID)
        {
            // Try to obtain the room from the identity map
            Room room = roomIdentityMap.find(roomID);

            Object[] result = null;
            if (room == null)
            {
                // Not found in identity map: try to retrive from DB
                result = tdgRoom.get(roomID);
                if (result != null)
                {
                    room = DirectoryOfRooms.getInstance().makeNewRoom((int)result[0], (String)result[1]);
                    roomIdentityMap.addTo(room);
                }
            }

            // Null is returned if it is not found in the identity map nor in the DB
            return(room);
        }
Ejemplo n.º 7
0
 public List <Room> getListOfRooms()
 {
     return(DirectoryOfRooms.getInstance().roomList);
 }