Example #1
0
        public void SavePrivilegeItem(Sender sender, SavePrivilegeItemArgs args)
        {
            try
            {
                //if (!PAssembly.VerifyIdentityText(args.PrivilegeItem.PrivilegeItemCode))
                //{
                //    throw new CException("权限项编码:{0}命名无效,可能存在特殊字符。", args.PrivilegeItem.PrivilegeItemCode);
                //}

                //if (!PAssembly.VerifyIdentityText(args.PrivilegeItem.PrivilegeItemName))
                //{
                //    throw new CException("权限项名称:{0}命名无效,可能存在特殊字符。", args.PrivilegeItem.PrivilegeItemName);
                //}

                if (PrivilegeItemCodeIsDuplicated(sender, args.PrivilegeItem))
                {
                    throw new CException("权限项编号:{0}已存在,请重新输入。", args.PrivilegeItem.PrivilegeItemCode);
                }

                if (PrivilegeItemNameIsDuplicated(sender, args.PrivilegeItem))
                {
                    throw new CException("权限项名称:{0}已存在,请重新输入。", args.PrivilegeItem.PrivilegeItemName);
                }

                using (ObjectProxy op = new ObjectProxy(true))
                {
                    PrivilegeItem pi = new PrivilegeItem();
                    pi.PrivilegeItemID = args.PrivilegeItem.PrivilegeItemID;
                    if (op.LoadPrivilegeItemByPrivilegeItemID(pi) == 0)
                    {
                        pi = null;
                    }

                    if (pi == null)
                    {
                        args.PrivilegeItem.Created    = DateTime.Now;
                        args.PrivilegeItem.CreatedBy  = sender.UserCode + "." + sender.UserName;
                        args.PrivilegeItem.Modified   = DateTime.Now;
                        args.PrivilegeItem.ModifiedBy = sender.UserCode + "." + sender.UserName;
                        op.InsertPrivilegeItem(args.PrivilegeItem);
                    }
                    else
                    {
                        args.PrivilegeItem.Modified   = DateTime.Now;
                        args.PrivilegeItem.ModifiedBy = sender.UserCode + "." + sender.UserName;
                        op.UpdatePrivilegeItemByPrivilegeItemID(args.PrivilegeItem);
                    }

                    op.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                PLogger.LogError(ex);
                throw ex;
            }
        }
Example #2
0
 /// <summary>
 /// Add Or Update(save)
 /// </summary>
 public void Save()
 {
     try
     {
         using (ProxyBE p = new ProxyBE())
         {
             Privilege pl = p.Client.GetPrivilege(SenderUser, parm.PrivilegeID);
             if (pl == null)
             {
                 pl = new Privilege();
             }
             pl.PrivilegeID   = parm.PrivilegeID;
             pl.PageURL       = parm.PageURL;
             pl.IconClass     = parm.IconClass;
             pl.PrivilegeName = parm.PrivilegeName;
             pl.PrivilegeCode = parm.PrivilegeCode;
             pl.Description   = parm.Description;
             pl.IsDisabled    = parm.IsDisabled;
             pl.CategoryID    = parm.CategoryID;
             pl.Sequence      = parm.Sequence;
             bool flag = p.Client.PrivilegeCodeIsDuplicated(SenderUser, pl);
             if (flag)
             {
                 throw new Exception("已经存在该编码,请重新填写!");
             }
             SavePrivilegeArgs args = new SavePrivilegeArgs();
             args.Privilege      = pl;
             args.PrivilegeItems = new List <PrivilegeItem>();
             string   PriviegeItems = Request["PriviegeItems"].ToString();
             JsonData sj            = JsonMapper.ToObject(PriviegeItems);
             if (sj.Count > 0)
             {
                 //遍历对象元素,保存
                 foreach (JsonData item in sj)
                 {
                     PrivilegeItem pi = new PrivilegeItem();
                     pi.PrivilegeItemID   = Guid.NewGuid();
                     pi.PrivilegeID       = pl.PrivilegeID;
                     pi.PrivilegeItemCode = item["Code"].ToString();
                     pi.PrivilegeItemName = item["Name"].ToString();
                     pi.IsDisabled        = false;
                     pi.Description       = "";
                     args.PrivilegeItems.Add(pi);
                 }
             }
             p.Client.SavePrivilege(SenderUser, args);
             WriteSuccess();
         }
     }
     catch (Exception ex)
     {
         WriteError(ex.Message, ex);
     }
 }
Example #3
0
 public PrivilegeItem GetPrivilegeItem(Sender sender, Guid privilegeItemID)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy())
         {
             PrivilegeItem pi = new PrivilegeItem();
             pi.PrivilegeItemID = privilegeItemID;
             if (op.LoadPrivilegeItemByPrivilegeItemID(pi) == 0)
             {
                 return(null);
             }
             return(pi);
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
Example #4
0
 public bool PrivilegeItemCodeIsDuplicated(Sender sender, PrivilegeItem privilegeItem)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy())
         {
             PrivilegeItem p = new PrivilegeItem();
             p.PrivilegeID       = privilegeItem.PrivilegeID;
             p.PrivilegeItemCode = privilegeItem.PrivilegeItemCode;
             if (op.LoadPrivilegeItemByPrivilegeID_PrivilegeItemCode(p) == 0)
             {
                 return(false);
             }
             return(p.PrivilegeItemID != privilegeItem.PrivilegeItemID);
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
Example #5
0
        public void SavePrivilege(Sender sender, SavePrivilegeArgs args)
        {
            try
            {
                if (string.IsNullOrEmpty(args.Privilege.PrivilegeName))
                {
                    throw new CException("权限名称:{0}命名无效,可能存在特殊字符。", args.Privilege.PrivilegeName);
                }
                if (PrivilegeCodeIsDuplicated(sender, args.Privilege))
                {
                    throw new CException("权限编号:{0}已存在,请重新输入。", args.Privilege.PrivilegeCode);
                }

                //if (PrivilegeNameIsDuplicated(sender, args.Privilege))
                //{
                //    throw new CException("权限名称:{0}已存在,请重新输入。", args.Privilege.PrivilegeName);
                //}
                using (ObjectProxy op = new ObjectProxy(true))
                {
                    Privilege p = new Privilege();
                    p.PrivilegeID = args.Privilege.PrivilegeID;
                    if (op.LoadPrivilegeByPrivilegeID(p) == 0)
                    {
                        args.Privilege.Created    = DateTime.Now;
                        args.Privilege.CreatedBy  = sender.UserCode + "." + sender.UserName;
                        args.Privilege.Modified   = DateTime.Now;
                        args.Privilege.ModifiedBy = sender.UserCode + "." + sender.UserName;
                        op.InsertPrivilege(args.Privilege);
                    }
                    else
                    {
                        args.Privilege.Modified   = DateTime.Now;
                        args.Privilege.ModifiedBy = sender.UserCode + "." + sender.UserName;
                        op.UpdatePrivilegeByPrivilegeID(args.Privilege);
                    }

                    if (args.PrivilegeItems != null)
                    {
                        //先把所有的功能项置为禁用
                        op.UpdatePrivilegeItemsByPrivilegeID(args.Privilege.PrivilegeID);
                        foreach (PrivilegeItem item in args.PrivilegeItems)
                        {
                            PrivilegeItem pi = new PrivilegeItem();
                            pi.PrivilegeID       = item.PrivilegeID;
                            pi.PrivilegeItemCode = item.PrivilegeItemCode;
                            if (op.LoadPrivilegeItemByPrivilegeID_PrivilegeItemCode(pi) == 0)
                            {
                                item.Created    = DateTime.Now;
                                item.CreatedBy  = sender.UserCode + "." + sender.UserName;
                                item.Modified   = DateTime.Now;
                                item.ModifiedBy = sender.UserCode + "." + sender.UserName;
                                op.InsertPrivilegeItem(item);
                            }
                            else
                            {
                                pi.IsDisabled = false;
                                pi.Modified   = DateTime.Now;
                                pi.ModifiedBy = sender.UserCode + "." + sender.UserName;
                                op.UpdatePrivilegeItemByPrivilegeID_PrivilegeItemCode(pi);
                            }
                        }
                        //删除禁用的功能操作
                        op.DeletePrivilegeItemsByPrivilegeID_Disabled(args.Privilege.PrivilegeID);
                    }
                    op.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                PLogger.LogError(ex);
                throw ex;
            }
        }
Example #6
0
        /// <summary>
        /// 树(角色权限树)
        /// </summary>
        public void Tree()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    string ProleID = Request["ProleID"];
                    List <PrivilegeItem> PrivilegeItems = p.Client.GetPrivilegeItemByRoleID(SenderUser, new Guid(ProleID));
                    PrivilegeItems = PrivilegeItems ?? new List <PrivilegeItem>();
                    if (!string.IsNullOrEmpty(ProleID))
                    {
                        StringBuilder jsonBuilder = new StringBuilder();
                        jsonBuilder.Append("[{");
                        jsonBuilder.Append("\"id\":\"0\"");
                        jsonBuilder.Append(",\"text\":\"权限菜单\"");
                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");

                        jsonBuilder.AppendFormat(",\"children\":");
                        //UserGroup userGroup = p.Client.GetUserGroup(SenderUser, new Guid(RGroupID));
                        List <PrivilegeCategory> privilegeCategorys = p.Client.GetPrivilegeCategorys(SenderUser);
                        //获取当前应用系统下的所有菜单项
                        jsonBuilder.Append("[");
                        for (int n = 0; n < privilegeCategorys.Count; n++)
                        {
                            PrivilegeCategory item = privilegeCategorys[n];
                            jsonBuilder.Append("{");
                            jsonBuilder.AppendFormat("\"id\":\"{0}\"", item.CategoryID);
                            jsonBuilder.AppendFormat(",\"text\":\"{0}\"", item.CategoryName);
                            jsonBuilder.Append(",\"state\":\"closed\"");
                            jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                            jsonBuilder.AppendFormat(",\"children\":");
                            jsonBuilder.Append("[");
                            #region 权限菜单

                            List <Privilege> Privileges = p.Client.GetPrivilegesByCategoryID(SenderUser, item.CategoryID);

                            for (int i = 0; i < Privileges.Count; i++)
                            {
                                Privilege itemPrivilege = Privileges[i];
                                jsonBuilder.Append("{");
                                jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilege.PrivilegeID);
                                jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilege.PrivilegeName);
                                jsonBuilder.Append(",\"state\":\"closed\"");
                                jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");

                                #region 权限项

                                //是否权限项
                                List <PrivilegeItem> listPrivilegeItem = p.Client.GetPrivilegeItemByPrivilegeID(SenderUser, itemPrivilege.PrivilegeID);
                                if (listPrivilegeItem != null)
                                {
                                    jsonBuilder.AppendFormat(",\"children\":");
                                    jsonBuilder.Append("[");
                                    for (int j = 0; j < listPrivilegeItem.Count; j++)
                                    {
                                        PrivilegeItem itemPrivilegeItem = listPrivilegeItem[j];
                                        jsonBuilder.Append("{");
                                        jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilegeItem.PrivilegeItemID);
                                        jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilegeItem.PrivilegeItemName);
                                        if (PrivilegeItems.Find(pl => pl.PrivilegeItemID == itemPrivilegeItem.PrivilegeItemID) != null)
                                        {
                                            jsonBuilder.AppendFormat(",\"checked\":\"{0}\"", true);
                                        }
                                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"0\"}");
                                        jsonBuilder.Append("}");
                                        if (j < listPrivilegeItem.Count - 1)
                                        {
                                            jsonBuilder.Append(",");
                                        }
                                    }
                                    jsonBuilder.Append("]");
                                }

                                #endregion

                                jsonBuilder.Append("}");
                                if (i < Privileges.Count - 1)
                                {
                                    jsonBuilder.Append(",");
                                }
                            }

                            #endregion
                            jsonBuilder.Append("]");
                            jsonBuilder.Append("}");
                            if (n < privilegeCategorys.Count - 1)
                            {
                                jsonBuilder.Append(",");
                            }
                        }

                        jsonBuilder.Append("]");
                        jsonBuilder.Append("}]");
                        Response.Write(jsonBuilder.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
Example #7
0
        /// <summary>
        /// 树(经销商)
        /// </summary>
        public void PartnerTree()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    string      PartnerID   = Request["PartnerID"].ToString();
                    PartnerRole partnerRole = null;
                    if (!string.IsNullOrEmpty(PartnerID))
                    {
                        SearchPartnerUserGroupArgs UserGroupArgs = new SearchPartnerUserGroupArgs();
                        UserGroupArgs.PartnerID = new Guid(PartnerID);
                        UserGroupArgs.GroupName = "默认组";
                        Guid         GroupID = Guid.Empty;
                        SearchResult sr      = p.Client.SearchPartnerUserGroup(SenderUser, UserGroupArgs);
                        if (sr.Total > 0)
                        {
                            foreach (DataRow item in sr.DataSet.Tables[0].Rows)
                            {
                                GroupID = Guid.Parse(item["GroupID"].ToString());
                            }
                        }
                        if (GroupID != Guid.Empty)
                        {
                            partnerRole = p.Client.GetPartnerRoleByName(SenderUser, GroupID, "root");
                        }
                    }
                    if (partnerRole != null)
                    {
                        #region 第二次
                        var PrivilegeItems = p.Client.GetPrivilegeItemByPartnerRoleID(SenderUser, partnerRole.RoleID);
                        PrivilegeItems = PrivilegeItems ?? new List <PrivilegeItem>();
                        StringBuilder jsonBuilder = new StringBuilder();
                        jsonBuilder.Append("[{");
                        jsonBuilder.Append("\"id\":\"0\"");
                        jsonBuilder.Append(",\"text\":\"权限菜单\"");
                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");

                        jsonBuilder.AppendFormat(",\"children\":");
                        PrivilegeCategory item = p.Client.GetPrivilegeCategory(SenderUser, new Guid(CategoryID));
                        //获取当前应用系统下的所有菜单项
                        jsonBuilder.Append("[");
                        if (item != null)
                        {
                            jsonBuilder.Append("{");
                            jsonBuilder.AppendFormat("\"id\":\"{0}\"", item.CategoryID);
                            jsonBuilder.AppendFormat(",\"text\":\"{0}\"", item.CategoryName);
                            jsonBuilder.Append(",\"state\":\"closed\"");
                            jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                            jsonBuilder.AppendFormat(",\"children\":");
                            jsonBuilder.Append("[");
                            #region 权限菜单

                            List <Privilege> Privileges = p.Client.GetPrivilegesByCategoryID(SenderUser, item.CategoryID).Where(t => !t.IsDisabled).ToList();

                            for (int i = 0; i < Privileges.Count; i++)
                            {
                                Privilege itemPrivilege = Privileges[i];
                                //if (itemPrivilege.IsDisabled)
                                //{
                                //    continue;
                                //}
                                jsonBuilder.Append("{");
                                jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilege.PrivilegeID);
                                jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilege.PrivilegeName);
                                jsonBuilder.Append(",\"state\":\"closed\"");
                                jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                                #region 权限项
                                //是否权限项
                                List <PrivilegeItem> listPrivilegeItem = p.Client.GetPrivilegeItemByPrivilegeID(SenderUser, itemPrivilege.PrivilegeID);
                                if (listPrivilegeItem != null)
                                {
                                    jsonBuilder.AppendFormat(",\"children\":");
                                    jsonBuilder.Append("[");
                                    for (int j = 0; j < listPrivilegeItem.Count; j++)
                                    {
                                        PrivilegeItem itemPrivilegeItem = listPrivilegeItem[j];
                                        jsonBuilder.Append("{");
                                        jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilegeItem.PrivilegeItemID);
                                        jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilegeItem.PrivilegeItemName);
                                        if (PrivilegeItems.Find(pl => pl.PrivilegeItemID == itemPrivilegeItem.PrivilegeItemID) != null)
                                        {
                                            jsonBuilder.AppendFormat(",\"checked\":\"{0}\"", true);
                                        }
                                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"0\"}");
                                        jsonBuilder.Append("}");
                                        if (j < listPrivilegeItem.Count - 1)
                                        {
                                            jsonBuilder.Append(",");
                                        }
                                    }
                                    jsonBuilder.Append("]");
                                }

                                #endregion
                                jsonBuilder.Append("}");
                                if (i < Privileges.Count - 1)
                                {
                                    jsonBuilder.Append(",");
                                }
                            }
                            #endregion
                            jsonBuilder.Append("]");
                            jsonBuilder.Append("}");
                        }
                        jsonBuilder.Append("]");
                        jsonBuilder.Append("}]");
                        Response.Write(jsonBuilder.ToString());
                        #endregion
                    }
                    else
                    {
                        #region 初始化
                        var           PrivilegeItems = new List <PrivilegeItem>();
                        StringBuilder jsonBuilder    = new StringBuilder();
                        jsonBuilder.Append("[{");
                        jsonBuilder.Append("\"id\":\"0\"");
                        jsonBuilder.Append(",\"text\":\"权限菜单\"");
                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");

                        jsonBuilder.AppendFormat(",\"children\":");
                        PrivilegeCategory item = p.Client.GetPrivilegeCategory(SenderUser, new Guid(CategoryID));
                        //获取当前应用系统下的所有菜单项
                        jsonBuilder.Append("[");
                        if (item != null)
                        {
                            jsonBuilder.Append("{");
                            jsonBuilder.AppendFormat("\"id\":\"{0}\"", item.CategoryID);
                            jsonBuilder.AppendFormat(",\"text\":\"{0}\"", item.CategoryName);
                            jsonBuilder.Append(",\"state\":\"closed\"");
                            jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                            jsonBuilder.AppendFormat(",\"children\":");
                            jsonBuilder.Append("[");
                            #region 权限菜单

                            List <Privilege> Privileges = p.Client.GetPrivilegesByCategoryID(SenderUser, item.CategoryID).Where(t => !t.IsDisabled).ToList();

                            for (int i = 0; i < Privileges.Count; i++)
                            {
                                Privilege itemPrivilege = Privileges[i];
                                //if (itemPrivilege.IsDisabled)
                                //{
                                //    continue;
                                //}
                                jsonBuilder.Append("{");
                                jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilege.PrivilegeID);
                                jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilege.PrivilegeName);
                                jsonBuilder.Append(",\"state\":\"closed\"");
                                jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                                #region 权限项
                                //是否权限项
                                List <PrivilegeItem> listPrivilegeItem = p.Client.GetPrivilegeItemByPrivilegeID(SenderUser, itemPrivilege.PrivilegeID);
                                if (listPrivilegeItem != null)
                                {
                                    jsonBuilder.AppendFormat(",\"children\":");
                                    jsonBuilder.Append("[");
                                    for (int j = 0; j < listPrivilegeItem.Count; j++)
                                    {
                                        PrivilegeItem itemPrivilegeItem = listPrivilegeItem[j];
                                        jsonBuilder.Append("{");
                                        jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilegeItem.PrivilegeItemID);
                                        jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilegeItem.PrivilegeItemName);
                                        if (PrivilegeItems.Find(pl => pl.PrivilegeItemID == itemPrivilegeItem.PrivilegeItemID) != null)
                                        {
                                            jsonBuilder.AppendFormat(",\"checked\":\"{0}\"", true);
                                        }
                                        jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"0\"}");
                                        jsonBuilder.Append("}");
                                        if (j < listPrivilegeItem.Count - 1)
                                        {
                                            jsonBuilder.Append(",");
                                        }
                                    }
                                    jsonBuilder.Append("]");
                                }

                                #endregion
                                jsonBuilder.Append("}");
                                if (i < Privileges.Count - 1)
                                {
                                    jsonBuilder.Append(",");
                                }
                            }
                            #endregion
                            jsonBuilder.Append("]");
                            jsonBuilder.Append("}");
                        }
                        jsonBuilder.Append("]");
                        jsonBuilder.Append("}]");
                        Response.Write(jsonBuilder.ToString());
                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
Example #8
0
        public StringBuilder GetTreeBuilder(ProxyBE p, List <PrivilegeItem> PrivilegeItems, bool IsPartner = true)
        {
            StringBuilder jsonBuilder = new StringBuilder();

            jsonBuilder.Append("[{");
            jsonBuilder.Append("\"id\":\"0\"");
            jsonBuilder.Append(",\"text\":\"权限菜单\"");
            jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");

            jsonBuilder.AppendFormat(",\"children\":");
            List <PrivilegeCategory> privilegeCategorys = p.Client.GetPrivilegeCategorys(SenderUser);

            jsonBuilder.Append("[");
            for (int n = 0; n < privilegeCategorys.Count; n++)
            {
                var item = privilegeCategorys[n];

                if (!CategoryIDList.Contains(item.CategoryID) && IsPartner)
                {
                    continue;
                }

                jsonBuilder.Append("{");
                jsonBuilder.AppendFormat("\"id\":\"{0}\"", item.CategoryID);
                jsonBuilder.AppendFormat(",\"text\":\"{0}\"", item.CategoryName);
                jsonBuilder.Append(",\"state\":\"closed\"");
                jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                jsonBuilder.AppendFormat(",\"children\":");
                jsonBuilder.Append("[");
                #region 权限菜单

                List <Privilege> Privileges = p.Client.GetPrivilegesByCategoryID(SenderUser, item.CategoryID).Where(t => !t.IsDisabled).ToList();

                for (int i = 0; i < Privileges.Count; i++)
                {
                    Privilege itemPrivilege = Privileges[i];
                    jsonBuilder.Append("{");
                    jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilege.PrivilegeID);
                    jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilege.PrivilegeName);
                    jsonBuilder.Append(",\"state\":\"closed\"");
                    jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"1\"}");
                    #region 权限项
                    List <PrivilegeItem> listPrivilegeItem = p.Client.GetPrivilegeItemByPrivilegeID(SenderUser, itemPrivilege.PrivilegeID);
                    if (listPrivilegeItem != null)
                    {
                        jsonBuilder.AppendFormat(",\"children\":");
                        jsonBuilder.Append("[");
                        for (int j = 0; j < listPrivilegeItem.Count; j++)
                        {
                            PrivilegeItem itemPrivilegeItem = listPrivilegeItem[j];
                            jsonBuilder.Append("{");
                            jsonBuilder.AppendFormat("\"id\":\"{0}\"", itemPrivilegeItem.PrivilegeItemID);
                            jsonBuilder.AppendFormat(",\"text\":\"{0}\"", itemPrivilegeItem.PrivilegeItemName);
                            if (PrivilegeItems.Find(pl => pl.PrivilegeItemID == itemPrivilegeItem.PrivilegeItemID) != null)
                            {
                                jsonBuilder.AppendFormat(",\"checked\":\"{0}\"", true);
                            }
                            jsonBuilder.Append(",\"attributes\":{\"IsMenu\":\"0\"}");
                            jsonBuilder.Append("}");
                            if (j < listPrivilegeItem.Count - 1)
                            {
                                jsonBuilder.Append(",");
                            }
                        }
                        jsonBuilder.Append("]");
                    }

                    #endregion
                    jsonBuilder.Append("}");
                    if (i < Privileges.Count - 1)
                    {
                        jsonBuilder.Append(",");
                    }
                }
                #endregion
                jsonBuilder.Append("]");
                jsonBuilder.Append("}");
                if (n < privilegeCategorys.Count - 1)
                {
                    jsonBuilder.Append(",");
                }
            }
            jsonBuilder.Append("]");
            jsonBuilder.Append("}]");

            return(jsonBuilder);
        }