コード例 #1
0
        public void HandleEvent(XEventArgs args, IXExecutionContextHandler context)
        {
            // Инициализируем подсистему безопасности
            SecurityProvider provider = new SecurityProvider(XFactory.Instance.StorageController["ROConnection"]);

            XSecurityManager.Instance.SecurityProvider = provider;

            // Инициализируем подсистему иерархий
            XTreeController.Initialize(context.Connection.MetadataManager);

            // Инициализируем подсистему application-триггеров
            // Примечание: обращение к классу вызовет срабатывание статического конструктора, в котором инициализируется подсистема
            object o = XTriggersController.Instance;

            // Инициализируем объект для хранения настроек приложения
            ApplicationSettingsInitializationParams initParam = new ApplicationSettingsInitializationParams();
            //	: Дата периода блокирования списаний
            object vValue = context.Connection.CreateCommand("SELECT Max(BlockDate) FROM TimeSpentBlockPeriod").ExecuteScalar();

            if (vValue != null && vValue != DBNull.Value)
            {
                initParam.GlobalBlockPeriodDate = (DateTime)vValue;
            }

            ApplicationSettings.Initialize(initParam);

            // получаем имя конфига для проверки наличия объектов в БД
            string sFileName     = context.Config.SelectNodeTextValue("dbc:dbcheck/dbc:config-file");
            string sFullFileName = Path.Combine(context.Config.BaseConfigPath, sFileName);

            // проверяем наличие объектов в БД
            //DbCheckResult dbcResult = DbCheckFacade.Check(context.Connection, sFullFileName);
            //if (!dbcResult.Success)
            {
                //	throw new ApplicationException(dbcResult.ErrorsText);
            }
            // запускаем планировщик заданий
            JobsSheduler.Run();
            // запускаем команду рассылки
            //context.ExecCommandAsync(new XRequest("SendNotificationsAsync"),false);
        }
コード例 #2
0
 public void HandleEvent(XEventArgs args, IXExecutionContextHandler context)
 {
     XSecurityManager.Instance.GetCurrentUser();
 }