public void CreaateScenary()
        {
            Random      rnd          = new Random();
            ScenaryInfo si           = new ScenaryInfo();
            int         countDevices = rnd.Next(1, si.devices.Count() + 1);

            sInfo.Devices = new List <int>();
            for (int i = 0; i < countDevices; i++)
            {
                sInfo.Devices.Add(rnd.Next(1, si.devices.Count() + 1));
            }

            NotifyObservers();
        }
        public void Update(object ob)
        {
            ScenaryInfo sInfo = (ScenaryInfo)ob;

            rnd = new Random();
            Console.WriteLine("Помещение: " + Name);
            // девайсы
            foreach (var d in sInfo.Devices)
            {
                switch (d)
                {
                case 1:
                    Sensor sensor = new Sensor("Сенсор", Sensor.TypesOfSensors.ElementAt(rnd.Next(0, Sensor.TypesOfSensors.Count())),
                                               Sensor.TypesOfSignals.ElementAt(rnd.Next(0, Sensor.TypesOfSignals.Count())));
                    sensor.GetFunction();
                    break;

                case 2:
                    Actuator actuator = new Actuator("Исполнительный механизм", Actuator.TypesOfActuators.ElementAt(rnd.Next(0, 5)));
                    actuator.GetFunction();
                    break;

                case 3:
                    OperatorPanel operatorPanel = new OperatorPanel("Панель оператора", OperatorPanel.TypesOfOperatorPanes.ElementAt(rnd.Next(0, OperatorPanel.TypesOfOperatorPanes.Count())));
                    operatorPanel.GetFunction();
                    break;

                case 4:
                    MultimediaSystem multimediaSystem = new MultimediaSystem("Мультимедиа система", MultimediaSystem.TypesOfMultimediaSystems.ElementAt(rnd.Next(0, MultimediaSystem.TypesOfMultimediaSystems.Count())));
                    multimediaSystem.GetFunction();
                    break;

                case 5:
                    NetworkDevice networkDevice = new NetworkDevice("Сетевое устройство", NetworkDevice.TypesOfNetDevices.ElementAt(rnd.Next(0, NetworkDevice.TypesOfNetDevices.Count())));
                    networkDevice.GetFunction();
                    break;
                }
            }
        }
 public Scenary()
 {
     observers = new List <IObserver>();
     sInfo     = new ScenaryInfo();
 }