コード例 #1
0
        public Auditorium(ASystem system, RoomConfig config) : base(system, config)
        {
            if (((AuditoriumSystem)system).BlindsProcessorEIC == null)
            {
                ((AuditoriumSystem)system).BlindsProcessorEIC =
                    new ThreeSeriesTcpIpEthernetIntersystemCommunications(0x0a, "30.92.1.185", system.ControlSystem);
                ((AuditoriumSystem)system).BlindsProcessorEIC.Register();
            }
            var eic = ((AuditoriumSystem)system).BlindsProcessorEIC;

            switch (Id)
            {
            case 1:
                _blindRelays[1] = new UpDownRelays(eic.BooleanInput[1], eic.BooleanInput[2],
                                                   UpDownRelayModeType.Momentary);
                _blindRelays[2] = new UpDownRelays(eic.BooleanInput[3], eic.BooleanInput[4],
                                                   UpDownRelayModeType.Momentary);
                break;

            case 2:
                _blindRelays[1] = new UpDownRelays(system.ControlSystem.RelayPorts[1],
                                                   system.ControlSystem.RelayPorts[2], UpDownRelayModeType.Momentary);
                _blindRelays[2] = new UpDownRelays(system.ControlSystem.RelayPorts[3],
                                                   system.ControlSystem.RelayPorts[4], UpDownRelayModeType.Momentary);
                foreach (var relays in _blindRelays.Values)
                {
                    relays.Register();
                }
                break;
            }
        }
コード例 #2
0
        public MultiPurpose(ASystem system, RoomConfig config)
            : base(system, config)
        {
            var eic = ((AuditoriumSystem)system).BlindsProcessorEIC;

            _blindRelays[1] = new UpDownRelays(eic.BooleanInput[5], eic.BooleanInput[6],
                                               UpDownRelayModeType.Momentary);
            _blindRelays[2] = new UpDownRelays(eic.BooleanInput[7], eic.BooleanInput[8],
                                               UpDownRelayModeType.Momentary);
        }
コード例 #3
0
 public GenericSource(ASystem system, SourceConfig config, ISourceDevice device)
     : base(system, config, device)
 {
 }
コード例 #4
0
        public ActionResult SaveHSASList(ASListVM model)
        {
            //запоминаем в переменной текущее состояние автоматизированных систем
            IQueryable<ASystem> current_HS_systems = repositorie.Asystems.Where(sys => sys.AS_Heat_Station == model.HS_No);

            //циклом проходим по всем системам модели и выявляем какие нужно внести изменения в БД
            foreach (var sysType in model.ASTypesList)
            {
                if (sysType.HShasType) //очередная система отмечена галочкой
                {
                    //проверим есть ли уже система в перечне систем ТП, если нет ,то добавим
                    if (current_HS_systems.All(s => s.AS_type != sysType.shortName))
                    {
                        ASystem newSys = new ASystem
                        {
                            AS_Heat_Station = model.HS_No,
                            AS_type = sysType.shortName
                        };

                        repositorie.SaveASystem(newSys);
                    }
                }
                else // очередная система НЕ отмечена галочкой
                {
                    //проверим, если система существует в БД, то удалим ее
                    ASystem toDelete = current_HS_systems.FirstOrDefault(s => s.AS_type == sysType.shortName);

                    if (toDelete != null)
                    {
                        repositorie.RemoveASystem(toDelete);
                    }
                }
            }
            //готово, возвращаемся на окно из которого сделан вызов редактирования систем
            return Redirect(model.ReturnURL);
        }
コード例 #5
0
 public Classroom(ASystem system, RoomConfig config)
     : base(system, config)
 {
 }
コード例 #6
0
 public GenericSource(ASystem system, SourceConfig config)
     : base(system, config, null)
 {
 }
コード例 #7
0
 public MonitoredRoom(ASystem system, RoomConfig config) : base(system, config)
 {
 }
コード例 #8
0
 protected MeetingRoom(ASystem system, RoomConfig config)
     : base(system, config)
 {
 }
コード例 #9
0
        public ControlSystem()
        {
            try
            {
                Thread.MaxNumberOfUserThreads = 100;
                var assembly = Assembly.GetExecutingAssembly();
                Tools.PrintLibInfo(assembly);

                #region Logging
#if DEBUG
                CloudLog.SystemLogLevel = LoggingLevel.Ok;
                CloudLog.Level          = LoggingLevel.Ok;
#else
                CloudLog.SystemLogLevel = LoggingLevel.Info;
                CloudLog.Level          = LoggingLevel.Info;
#endif
                CloudLog.RegisterConsoleService();

                #endregion

                #region System Config

                var config = ConfigManager.Config;

                if (config.SystemType == SystemType.NotConfigured)
                {
                    CloudLog.Warn("Config cannot generate automatically based on IP, please setup config manually!");
                }

                #endregion

                #region Load System

                switch (ConfigManager.Config.SystemType)
                {
                case SystemType.Classroom:
                    _system = new ClassroomSystem(this);
                    break;

                case SystemType.Auditorium:
                    _system = new AuditoriumSystem(this);
                    break;

                case SystemType.RoomMonitoring:
                    _system = new RoomMonitoringSystem(this);
                    break;

                case SystemType.FireAlarm:
                    _system = new FireAlarmMonitorSystem(this);
                    break;

                default:
                    _system = new MeetingSpaceSystem(this);
                    break;
                }

                #endregion
            }
            catch (Exception e)
            {
                CloudLog.Exception(e, "Error in ControlSystem.ctor()");
            }
        }
コード例 #10
0
 public RecRoom(ASystem system, RoomConfig config)
     : base(system, config)
 {
 }
コード例 #11
0
 //метод добавляет или обновляет соответствующую автоматизированную систему ТП
 public void SaveASystem(ASystem system)
 {
     //ищем в БД систему у которой совпадают номер ТП и тип
     ASystem dbEntry = context.ASystems.FirstOrDefault(asys => asys.AS_Heat_Station == system.AS_Heat_Station && asys.AS_type == system.AS_type);
     if (dbEntry == null) //записи нет, надо добавить
     {
         context.ASystems.InsertOnSubmit(system);
     }
     else //обновляем существующую систему
     {
         dbEntry.AS_type = system.AS_type;
         dbEntry.AS_Controller = system.AS_Controller;
         dbEntry.AS_AddController = system.AS_AddController;
         dbEntry.AS_Valve = system.AS_Valve;
     }
         context.SubmitChanges();
 }
コード例 #12
0
        public void RemoveASystem(ASystem system)
        {
            //ищем в БД систему у которой совпадают номер ТП и тип
            ASystem dbEntry = context.ASystems.FirstOrDefault(asys => asys.AS_Heat_Station == system.AS_Heat_Station && asys.AS_type == system.AS_type);

            //если система найдена то удалим ее
            if (dbEntry != null)
            {
                context.ASystems.DeleteOnSubmit(dbEntry);
                context.SubmitChanges();
            }
        }
コード例 #13
0
ファイル: AWorld.cs プロジェクト: jccg891113/JackCity
 public void RegSystem(ASystem system)
 {
     system.SetWorld(this);
     systemPool.Add(system);
 }
コード例 #14
0
ファイル: VCRoom.cs プロジェクト: microdave007/JaneStreetAV
 protected VCRoom(ASystem system, RoomConfig config)
     : base(system, config)
 {
 }
コード例 #15
0
 public PCSource(ASystem system, SourceConfig config)
     : base(system, config, null)
 {
     TryParseMacAddressFromConfigString(config);
 }