public JsonResult Base(int Id, string Name) { if (string.IsNullOrWhiteSpace(Name)) { return(Json(new Text("Имя шаблона не может быть пустым"))); } // Поиск шаблона if (coreDB.RequestsFilter_Templates.Where(i => i.Id == Id).FirstOrDefault() is Template item) { // Меняем имя item.Name = Name; // Сохраняем базу coreDB.SaveChanges(); // Удаляем кеш для шаблона ISPCache.RemoveTemplate(Id); // Trigger.OnChange((Id, 0)); // Успех return(Json(new TrueOrFalse(true))); } return(Json(new Text("Шаблон не найден"))); }
public JsonResult RemoveToRuleOverride(int DomainId, int TemplateId, int Id) { #region Демо режим if (Platform.IsDemo) { return(Json(new Text("Операция недоступна в демо-режиме"))); } #endregion // Удаляем кеш для домена ISPCache.RemoveDomain(DomainId); ISPCache.RemoveTemplate(TemplateId); // Удаляем правило из шаблона if (TemplateId != 0 && coreDB.RequestsFilter_Template_RuleOverrides.RemoveAttach(coreDB, Id)) { Trigger.Template.OnChange((TemplateId, 0)); return(Json(new TrueOrFalse(true))); } // Удаляем правило из домена if (DomainId != 0 && coreDB.RequestsFilter_Domain_RuleOverrides.RemoveAttach(coreDB, Id)) { Trigger.Domain.OnChange((DomainId, "Rules")); return(Json(new TrueOrFalse(true))); } // Отдаем результат return(Json(new TrueOrFalse(false))); }
public JsonResult Remove(int Id) { #region Демо режим if (Platform.IsDemo) { return(Json(new Text("Операция недоступна в демо-режиме"))); } #endregion // Удаляем шаблон if (coreDB.RequestsFilter_Templates.RemoveAttach(coreDB, Id)) { // Удаляем кеш для шаблона ISPCache.RemoveTemplate(Id); // Отдаем результат return(Json(new TrueOrFalse(true))); } return(Json(new Text("Ошибка ;("))); }
public JsonResult Save(Template tpl, IDictionary <string, Rule> rules = null, IDictionary <string, RuleReplace> RuleReplaces = null, IDictionary <string, RuleOverride> RuleOverrides = null, IDictionary <string, RuleArg> RuleArgs = null, bool IsAPI = false) { #region Демо режим if (Platform.IsDemo) { return(Json(new Text("Операция недоступна в демо-режиме"))); } #endregion if (string.IsNullOrWhiteSpace(tpl.Name)) { return(Json(new Text("Имя шаблона не может быть пустым"))); } // Новый шаблон if (tpl.Id == 0) { // Создаем правила tpl.Rules.UpdateOrAddRange(rules, out var NewRules); tpl.RuleReplaces.UpdateOrAddRange(RuleReplaces, out var NewRuleReplace); tpl.RuleOverrides.UpdateOrAddRange(RuleOverrides, out var NewRuleOverrides); tpl.RuleArgs.UpdateOrAddRange(RuleArgs, out var NewRuleArgs); // Добовляем в базу coreDB.RequestsFilter_Templates.Add(tpl); // Сохраняем базу coreDB.SaveChanges(); // Отдаем новый Id шаблона и Id новых правил return(Json(new UpdateToIds(IsAPI ? "accepted" : null, tpl.Id, NewRules, NewRuleReplace, NewRuleOverrides, NewRuleArgs))); } // Старый шаблон else { // Поиск шаблона if (coreDB.RequestsFilter_Templates.FindAndInclude(tpl.Id) is var FindTPL && FindTPL == null) { return(Json(new Text("Шаблон не найден"))); } // Обновляем параметры шаблона if (!IsAPI) { CommonModels.Update(FindTPL, tpl); } // Записываем новые правила и перезаписываем старые FindTPL.Rules.UpdateOrAddRange(rules, out var NewRules); FindTPL.RuleReplaces.UpdateOrAddRange(RuleReplaces, out var NewRuleReplace); FindTPL.RuleOverrides.UpdateOrAddRange(RuleOverrides, out var NewRuleOverrides); FindTPL.RuleArgs.UpdateOrAddRange(RuleArgs, out var NewRuleArgs); // Сохраняем базу coreDB.SaveChanges(); // Удаляем кеш для шаблона ISPCache.RemoveTemplate(tpl.Id); // API if (IsAPI) { return(Json(new UpdateToIds("accepted", tpl.Id, NewRules, NewRuleReplace, NewRuleOverrides, NewRuleArgs))); } // Отдаем сообщение и Id новых правил return(Json(new UpdateToIds("Настройки шаблона сохранены", 0, NewRules, NewRuleReplace, NewRuleOverrides, NewRuleArgs))); } }