private IOrganizationUnitService service = MembershipManagement.Instance.OrganizationUnitService; // 数据服务

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

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

            param = (IOrganizationUnitInfo)AjaxUtil.Deserialize <IOrganizationUnitInfo>(param, doc);

            string originalName       = XmlHelper.Fetch("originalName", doc);
            string originalGlobalName = XmlHelper.Fetch("originalGlobalName", doc);

            if (string.IsNullOrEmpty(param.Name))
            {
                return("{message:{\"returnCode\":1,\"value\":\"名称不能为空。\"}}");
            }

            if (string.IsNullOrEmpty(param.GlobalName))
            {
                return("{message:{\"returnCode\":1,\"value\":\"全局名称不能为空。\"}}");
            }

            if (string.IsNullOrEmpty(param.Id))
            {
                // 新增

                if (this.service.IsExistGlobalName(param.GlobalName))
                {
                    return("{message:{\"returnCode\":1,\"value\":\"此全局名称已存在。\"}}");
                }

                param.Id = DigitalNumberContext.Generate("Key_Guid");
            }
            else
            {
                // 修改

                if (param.GlobalName != originalGlobalName)
                {
                    if (this.service.IsExistGlobalName(param.GlobalName))
                    {
                        return("{message:{\"returnCode\":1,\"value\":\"此全局名称已存在。\"}}");
                    }
                }

                if (param.Name != originalName)
                {
                    IList <IOrganizationUnitInfo> list = MembershipManagement.Instance.OrganizationUnitService.FindAllByParentId(param.ParentId);

                    foreach (IOrganizationUnitInfo item in list)
                    {
                        if (item.Name == param.Name)
                        {
                            return("{message:{\"returnCode\":1,\"value\":\"此父级组织下面已已存在相同名称组织.\"}}");
                        }
                    }
                }
            }

            this.service.Save(param);

            return("{message:{\"returnCode\":0,\"value\":\"保存成功。\"}}");
        }
        /// <summary>创建新的对象</summary>
        /// <param name="doc">Xml 文档对象</param>
        /// <returns>返回操作结果</returns>
        public string CreateNewObject(XmlDocument doc)
        {
            StringBuilder outString = new StringBuilder();

            string parentId = XmlHelper.Fetch("parentId", doc);

            OrganizationUnitInfo param = new OrganizationUnitInfo();

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

            param.ParentId = parentId;

            // 默认的类型为部门
            param.Type = 1;

            param.Status = 1;

            param.ModifiedDate = param.CreatedDate = DateTime.Now;

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

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

            return(outString.ToString());
        }