private ICustomizeWidgetInstanceService service = CustomizeContext.Instance.CustomizeWidgetInstanceService; // 数据服务 // ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(XmlDocument doc) /// <summary>保存记录</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string Save(XmlDocument doc) { CustomizeWidgetInstanceInfo param = new CustomizeWidgetInstanceInfo(); param = (CustomizeWidgetInstanceInfo)AjaxUtil.Deserialize(param, doc); service.Save(param); return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"])); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #region 函数:FindOne(string id) /// <summary>查询某条记录</summary> /// <param name="param">CustomizeWidgetInstanceInfo Id号</param> /// <returns>返回一个 CustomizeWidgetInstanceInfo 实例的详细信息</returns> public CustomizeWidgetInstanceInfo FindOne(string id) { Dictionary <string, object> args = new Dictionary <string, object>(); args.Add("Id", id); CustomizeWidgetInstanceInfo param = this.ibatisMapper.QueryForObject <CustomizeWidgetInstanceInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_FindOne", tableName)), args); return(param); }
// ------------------------------------------------------- // 保存 添加 修改 删除 // ------------------------------------------------------- #region 函数:Save(CustomizeWidgetInstanceInfo param) /// <summary>保存记录</summary> /// <param name="param">CustomizeWidgetInstanceInfo 实例详细信息</param> /// <returns>CustomizeWidgetInstanceInfo 实例详细信息</returns> public CustomizeWidgetInstanceInfo Save(CustomizeWidgetInstanceInfo param) { if (!IsExist(param.Id)) { Insert(param); } else { Update(param); } return(param); }
private string RenderHtml(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); XmlNodeList nodes = doc.GetElementsByTagName("li"); XmlElement element = null; XmlNodeList childNodes = null; XmlElement childElement = null; CustomizeWidgetInstanceInfo widgetInstance = null; for (int i = 0; i < nodes.Count; i++) { element = (XmlElement)nodes[i]; if (element.GetAttribute("class").IndexOf("x-ui-pkg-customize-widget") > -1) { widgetInstance = CustomizeContext.Instance.CustomizeWidgetInstanceService[element.GetAttribute("id")]; if (widgetInstance != null) { childNodes = element.ChildNodes; foreach (XmlNode childNode in childNodes) { childElement = (XmlElement)childNode; if (childElement.GetAttribute("class").IndexOf("x-ui-pkg-customize-widget-head") > -1) { if (widgetInstance.Widget != null && !string.IsNullOrEmpty(widgetInstance.Widget.Url)) { childElement.SetAttribute("style", "cursor:pointer;"); } } if (childElement.GetAttribute("class").IndexOf("x-ui-pkg-customize-widget-content") > -1) { childNode.InnerXml = widgetInstance.Html; } } } } } return(doc.InnerXml); }
/// <summary>设置实例所在的页面和部件类型</summary> /// <param name="param">CustomizeWidgetInstanceInfo 实例详细信息</param> /// <param name="pageId">页面标识</param> /// <param name="widgetName">部件名称</param> /// <returns>部件实例信息</returns> public CustomizeWidgetInstanceInfo SetPageAndWidget(CustomizeWidgetInstanceInfo param, string pageId, string widgetName) { CustomizePageInfo page = CustomizeContext.Instance.CustomizePageService.FindOne(pageId); CustomizeWidgetInfo widget = CustomizeContext.Instance.CustomizeWidgetService.FindOneByName(widgetName); param.PageId = (page == null) ? string.Empty : page.Id; // param.PageName = pageId; param.WidgetId = (widget == null) ? string.Empty : widget.Id; param.WidgetName = widgetName; return(param); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #region 函数:FindOne(XmlDocument doc) /// <summary>获取详细信息</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string FindOne(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string id = XmlHelper.Fetch("id", doc); CustomizeWidgetInstanceInfo param = service.FindOne(id); outString.Append("{\"data\":" + AjaxUtil.Parse <CustomizeWidgetInstanceInfo>(param) + ","); outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}"); return(outString.ToString()); }
/// <summary>设置选项信息</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string SetOptions(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string options = XmlHelper.Fetch("options", doc); string id = XmlHelper.Fetch("id", doc); CustomizeWidgetInstanceInfo param = this.service.FindOne(id); if (param == null) { return("{\"message\":{\"returnCode\":1,\"value\":\"未找到相关部件【" + id + "】实例。\"}}"); } param.Options = options; this.service.Save(param); return("{\"message\":{\"returnCode\":0,\"value\":\"设置成功。\"}}"); }
/// <summary>获取属性编辑框HTML代码</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string GetOptionHtml(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string id = XmlHelper.Fetch("id", doc); CustomizeWidgetInstanceInfo param = this.service.FindOne(id); if (param == null) { return("{\"message\":{\"returnCode\":1,\"value\":\"未找到相关部件【" + id + "】实例。\"}}"); } string optionHtml = this.service.GetOptionHtml(id).Replace("${Id}", id); optionHtml = ParseHtml(optionHtml, param.Options); outString.Append("{\"data\":\"" + StringHelper.ToSafeJson(optionHtml) + "\","); outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}"); return(outString.ToString()); }
/// <summary>创建部件实例</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string Create(XmlDocument doc) { StringBuilder outString = new StringBuilder(); string id = XmlHelper.Fetch("id", doc); string pageId = XmlHelper.Fetch("pageId", doc); string widgetName = XmlHelper.Fetch("widgetName", doc); CustomizeWidgetInstanceInfo param = service.FindOne(id); if (param == null) { param = new CustomizeWidgetInstanceInfo(); param = (CustomizeWidgetInstanceInfo)AjaxUtil.Deserialize(param, doc); this.service.SetPageAndWidget(param, pageId, widgetName); // 设置部件默认选项 CustomizeWidgetInfo widget = CustomizeContext.Instance.CustomizeWidgetService.FindOneByName(widgetName); param.Height = widget.Height; param.Width = widget.Width; param.Options = widget.Options; this.service.Save(param); } outString.Append("{\"data\":" + AjaxUtil.Parse <CustomizeWidgetInstanceInfo>(param) + ","); outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_create_success"], true) + "}"); return(outString.ToString()); }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(CustomizeWidgetInstanceInfo param) /// <summary>保存记录</summary> /// <param name="param">CustomizeWidgetInstanceInfo 实例详细信息</param> /// <returns>CustomizeWidgetInstanceInfo 实例详细信息</returns> public CustomizeWidgetInstanceInfo Save(CustomizeWidgetInstanceInfo param) { return(this.provider.Save(param)); }
/// <summary>获取属性编辑框Html文本</summary> /// <param name="id">标识</param> /// <returns>Html文本</returns> public string GetOptionHtml(string id) { CustomizeWidgetInstanceInfo param = this.FindOne(id); return(CustomizeContext.Instance.CustomizeWidgetService.GetOptionHtml(param.WidgetId)); }
/// <summary>修改记录</summary> /// <param name="param">CustomizeWidgetInstanceInfo 实例的详细信息</param> public void Update(CustomizeWidgetInstanceInfo param) { this.ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Update", tableName)), param); }