// -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(TaskCategoryInfo param)
        /// <summary>保存记录</summary>
        /// <param name="param">实例<see cref="TaskCategoryInfo"/>详细信息</param>
        /// <returns>实例<see cref="TaskCategoryInfo"/>详细信息</returns>
        public TaskCategoryInfo Save(TaskCategoryInfo param)
        {
            if (string.IsNullOrEmpty(param.Id))
            {
                throw new Exception("实例标识不能为空。");
            }

            bool isNewObject = !this.IsExist(param.Id);

            string methodName = isNewObject ? "新增" : "编辑";

            IAccountInfo account = KernelContext.Current.User;

            if (methodName == "新增")
            {
                param.AccountId   = account.Id;
                param.AccountName = account.Name;
            }

            // 处理XSS特殊字符
            param = StringHelper.ToSafeXSS <TaskCategoryInfo>(param);

            this.provider.Save(param);

            return(param);
        }
        /// <summary>查询某条记录</summary>
        /// <param name="categoryIndex">类别索引</param>
        /// <returns>返回实例<see cref="TaskCategoryInfo"/>的详细信息</returns>
        public TaskCategoryInfo FindOneByCategoryIndex(string categoryIndex)
        {
            Dictionary <string, object> args = new Dictionary <string, object>();

            args.Add("CategoryIndex", categoryIndex);

            TaskCategoryInfo param = this.ibatisMapper.QueryForObject <TaskCategoryInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_FindOneByCategoryIndex", this.tableName)), args);

            return(param);
        }
        // -------------------------------------------------------
        // 保存 删除
        // -------------------------------------------------------

        #region 函数:Save(XmlDocument doc)
        /// <summary>保存记录</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string Save(XmlDocument doc)
        {
            TaskCategoryInfo param = new TaskCategoryInfo();

            param = (TaskCategoryInfo)AjaxUtil.Deserialize(param, doc);

            this.service.Save(param);

            return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"]));
        }
        // -------------------------------------------------------
        // 保存 添加 修改 删除
        // -------------------------------------------------------

        #region 函数:Save(TaskCategoryInfo param)
        /// <summary>保存记录</summary>
        /// <param name="param">实例详细信息</param>
        /// <returns></returns>
        public TaskCategoryInfo Save(TaskCategoryInfo param)
        {
            if (!IsExist(param.Id))
            {
                Insert(param);
            }
            else
            {
                Update(param);
            }

            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);

            TaskCategoryInfo param = this.service.FindOne(id);

            outString.Append("{\"data\":" + AjaxUtil.Parse <TaskCategoryInfo>(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 CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            TaskCategoryInfo param = new TaskCategoryInfo();

            param.Id = DigitalNumberContext.Generate("Key_Guid");

            param.Status = 1;

            param.UpdateDate = param.CreateDate = DateTime.Now;

            outString.Append("{\"data\":" + AjaxUtil.Parse <TaskCategoryInfo>(param) + ",");

            outString.Append(MessageObject.Stringify("0", I18n.Strings["msg_query_success"], true) + "}");

            return(outString.ToString());
        }
 /// <summary>修改记录</summary>
 /// <param name="param">实例的详细信息</param>
 public void Update(TaskCategoryInfo param)
 {
     this.ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Update", this.tableName)), param);
 }
 /// <summary>添加记录</summary>
 /// <param name="param">实例的详细信息</param>
 public void Insert(TaskCategoryInfo param)
 {
     this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", this.tableName)), param);
 }