public IHttpActionResult Edit() { try { var request = Context.AuthenticatedRequest; var siteId = request.GetQueryInt("siteId"); if (!request.IsAdminLoggin || !request.AdminPermissions.HasSitePermissions(siteId, Utils.PluginId)) { return(Unauthorized()); } var originalName = request.GetPostString("originalName"); var name = request.GetPostString("name"); var description = request.GetPostString("description"); if (Utils.EqualsIgnoreCase(originalName, name)) { var templateInfoList = TemplateManager.GetTemplateInfoList(); var originalTemplateInfo = templateInfoList.First(x => Utils.EqualsIgnoreCase(originalName, x.Name)); originalTemplateInfo.Name = name; originalTemplateInfo.Description = description; TemplateManager.Edit(originalTemplateInfo); } else { var templateInfoList = TemplateManager.GetTemplateInfoList(); var originalTemplateInfo = templateInfoList.First(x => Utils.EqualsIgnoreCase(originalName, x.Name)); if (templateInfoList.Any(x => Utils.EqualsIgnoreCase(name, x.Name))) { return(BadRequest($"标识为 {name} 的模板已存在,请更换模板标识!")); } var templateInfo = new TemplateInfo { Name = name, Main = originalTemplateInfo.Main, Publisher = string.Empty, Description = description, Icon = originalTemplateInfo.Icon }; templateInfoList.Add(templateInfo); TemplateManager.Clone(originalName, templateInfo); TemplateManager.DeleteTemplate(originalName); } return(Ok(new { Value = true })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Clone() { try { var request = Context.AuthenticatedRequest; var siteId = request.GetQueryInt("siteId"); if (!request.IsAdminLoggin) { return(Unauthorized()); } var nameToClone = request.GetPostString("nameToClone"); var name = request.GetPostString("name"); var description = request.GetPostString("description"); var templateInfoList = TemplateManager.GetTemplateInfoList(); var templateInfoToClone = templateInfoList.FirstOrDefault(x => ApplicationUtils.EqualsIgnoreCase(nameToClone, x.Name)); if (templateInfoToClone == null) { return(NotFound()); } if (templateInfoList.Any(x => ApplicationUtils.EqualsIgnoreCase(name, x.Name))) { return(BadRequest($"标识为 {name} 的模板已存在,请更换模板标识!")); } var templateInfo = new TemplateInfo { Name = name, Main = templateInfoToClone.Main, Publisher = string.Empty, Description = description, Icon = templateInfoToClone.Icon }; templateInfoList.Add(templateInfo); TemplateManager.Clone(nameToClone, templateInfo, templateInfoList); return(Ok(new { Value = templateInfo })); } catch (Exception ex) { return(InternalServerError(ex)); } }