Пример #1
0
 public AccessModule(ISubsystem accessSubsystem)
 {
     if (accessSubsystem.Type() != SubsystemType.Access)
         throw new ModuleLoadException("Неправильный тип подсистемы");
     _accessSubsystem = (AccessSubsystem)accessSubsystem;
     var result = Kernel.GetKernel.
         SendMessage(new ServiceMessage(KernelTypes.ServiceKernel, SubsystemType.Access, SubsystemType.DataBase,
                                        DbSubsystemMessages.GetContext, new object[] {}));
     _context = (DBModelUnitOfWork)result.Message[0];
 }
Пример #2
0
        public ProjectModule(ISubsystem prodjectSubsystem)
        {
            if (prodjectSubsystem.Type() != SubsystemType.Project)
                throw new ModuleLoadException("Неправильный тип подсистемы");
            _prodjectSubsystem = (Projectubsystem)prodjectSubsystem;

            context = (DBModelUnitOfWork)Kernel.GetKernel.
                SendMessage(new ServiceMessage(KernelTypes.ServiceKernel, SubsystemType.Project, SubsystemType.DataBase,
                                               DbSubsystemMessages.GetContext, new object[] { })).Message[0];
        }
Пример #3
0
 public ReportModule(ISubsystem reportSubsystem)
 {
     if (reportSubsystem.Type() != SubsystemType.Report)
         throw new ModuleLoadException("Неправильный тип подсистемы");
     _reportSubsystem = reportSubsystem;
 }
Пример #4
0
 public ChatModule(ISubsystem chatSubsystem)
 {
     if (chatSubsystem.Type() != SubsystemType.Chat)
         throw new ModuleLoadException("Неправильный тип подсистемы");
     _chatSubsystem = chatSubsystem;
 }
Пример #5
0
 public TextModule(ISubsystem wordProcessorSubsystem)
 {
     if (wordProcessorSubsystem.Type() != SubsystemType.WordProcessor)
         throw new ModuleLoadException("Неправилььный тип подсистемы");
     _textSubsystem = wordProcessorSubsystem;
 }
Пример #6
0
 public NetworkModule(ISubsystem networkSubsystem)
 {
     if (networkSubsystem.Type() != SubsystemType.Network)
         throw new ModuleLoadException("Неправильный тип подсистемыы");
     _networkSubsystem = networkSubsystem;
 }
Пример #7
0
 public VcsModule(ISubsystem vcsSubsystem)
 {
     if (vcsSubsystem.Type() != SubsystemType.Vcs)
         throw new ModuleLoadException("Неправильный тип подсистемы");
     _vcsSubsystem = vcsSubsystem;
 }
Пример #8
0
 /// <summary>
 /// Регистрация подсистемы в ядре
 /// </summary>
 /// <param name="subsystem">Регистрируемая подсистема</param>
 public void RegisterSubsystem(ISubsystem subsystem)
 {
     if (Subsystems.Any(tmpsubsystem => tmpsubsystem.Type() == subsystem.Type()))
     {
         throw new SubsystemRegistredException("Такая подсистема уже зарегистрирована");
     }
     try
     {
         Subsystems.Add(subsystem);
         Logger.Log.Write(LogLevels.Debug, "Регитсрация подсистемы типа " + subsystem.Type().ToString());
         StartSubsystem(subsystem);
     }
     catch (SubsystemException ex)
     {
         Logger.Log.Write(LogLevels.Error, "Ошибка регистрации подсистемы" + subsystem.Type() + ":\n\n" + ex);
     }
 }
Пример #9
0
 /// <summary>
 /// Отключение подсистемы из ядра
 /// </summary>
 /// <param name="subsystem">Отключаемая подсистема</param>
 public void UnRegisterSubsystem(ISubsystem subsystem)
 {
     Subsystems.Remove(subsystem);
     subsystem.Stop();
     Logger.Log.Write(LogLevels.Debug, "Отключение подсистемы типа " + subsystem.Type().ToString());
 }