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()"); } }