public void InitializeRooms(LightSystemSettings systemSettings)
        {
            foreach (SerializationRoom room in systemSettings.rooms)
            {
                var roomId = SettingsManager.ConvertStringNumberToInt(room.id);


                // var loadId = SettingsManager.ConvertStringNumberToInt(load.id);

                LightedRoom lightedRoom = new LightedRoom(roomId, room.name);

                List <int> loadIds = null;

                if (!String.IsNullOrEmpty(room.loadList))
                {
                    if (room.loadList == "all")
                    {
                        loadIds = _loadManager.GetLoads().Select(x => x.LoadID).ToList <int>();
                    }
                    else
                    {
                        loadIds = new List <int>(room.loadList.Split(',').Select(s => int.Parse(s)));
                    }

                    foreach (int loadId in loadIds)
                    {
                        lightedRoom.AddLoad(_loadManager.GetLoad(loadId));
                    }
                }

                if (!String.IsNullOrEmpty(room.sceneList))
                {
                    var sceneIds = new List <int>(room.sceneList.Split(',').Select(s => int.Parse(s)));

                    foreach (int sceneId in sceneIds)
                    {
                        Scene scene = _sceneManager.GetScene(sceneId);
                        scene.AssignRoom(lightedRoom);
                        lightedRoom.AddScene(scene);
                    }
                }

                _roomManager.AddRoom(lightedRoom);
            }
        }
        public void OnRoomSelected(uint index)
        {
            _attachedRoom = pagedRooms[(int)index];

            _view.SetSelectedRoom(index);
            _view.SetSelectedRoomName(index, _attachedRoom.Name);

            pagedLoads          = new PagedList <LightingLoad>(_attachedRoom.GetLoads());
            pagedLoads.PageSize = 4;
            pagedLoads.GetFirstPage();

            pagedScenes          = new PagedList <Scene>(_sceneManager.GetScenesByRoomID(_attachedRoom.RoomID));
            pagedScenes.PageSize = 10;
            pagedScenes.GetFirstPage();

            BindLoadsToView();
            BindScenesToView();
        }
Exemplo n.º 3
0
 public RoomEvent(LightedRoom Room)
 {
     _room = Room;
 }
 public RoomOnEvent(LightedRoom Room)
     : base(Room)
 {
 }
 public void AddRoom(LightedRoom room)
 {
     this._rooms.Add(room);
 }