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("Настройки успешно сохранены"))); } }
/// <param name="conf">Данные триггера</param> /// <param name="subs">Стартовая подписка</param> public EventPush(TriggerConf conf, Subscription subs) { this.triggerConf = conf; this.subs = subs; memoryCache = Service.Get <IMemoryCache>(); }