Ejemplo n.º 1
0
        public JsonResult Save(TriggerConf tgr, bool IsAPI = false)
        {
            #region Демо режим
            if (Platform.IsDemo)
            {
                return(Json(new Text("Операция недоступна в демо-режиме")));
            }
            #endregion

            // Проверка данных
            if (string.IsNullOrWhiteSpace(tgr.TriggerName))
            {
                return(Json(new Text("Описание триггера не может быть пустым")));
            }

            // Новый триггер
            if (tgr.Id == 0)
            {
                // Модель
                TriggerConf triggerConf = new TriggerConf()
                {
                    TriggerName = tgr.TriggerName,
                    Author      = tgr.Author,
                    IsActive    = tgr.IsActive
                };

                // Сохраняем файл
                System.IO.File.WriteAllText($"{Folders.Triggers}/{triggerConf.Id}.conf", JsonConvert.SerializeObject(triggerConf, Formatting.Indented));

                // Обновляем базу
                RegisteredTriggers.UpdateDB();

                // Отдаем ответ
                return(Json(new RewriteToId(triggerConf.Id)));
            }

            // Существующий
            else
            {
                // Поиск триггера
                var FindTrigger = RegisteredTriggers.List().Where(i => i.Id == tgr.Id).FirstOrDefault();
                if (FindTrigger == null)
                {
                    return(Json(new Text("Триггер не найден")));
                }

                // Обновляем параметры
                FindTrigger.TriggerName = tgr.TriggerName;
                FindTrigger.Author      = tgr.Author;
                FindTrigger.IsActive    = tgr.IsActive;

                // Сохраняем файл
                System.IO.File.WriteAllText(FindTrigger.TriggerFile, JsonConvert.SerializeObject(FindTrigger, Formatting.Indented));

                // Обновляем базу
                RegisteredTriggers.UpdateDB();

                // Отдаем сообщение
                return(Json(new Text("Настройки успешно сохранены")));
            }
        }
Ejemplo n.º 2
0
 /// <param name="conf">Данные триггера</param>
 /// <param name="subs">Стартовая подписка</param>
 public EventPush(TriggerConf conf, Subscription subs)
 {
     this.triggerConf = conf;
     this.subs        = subs;
     memoryCache      = Service.Get <IMemoryCache>();
 }