예제 #1
0
 public void SearchPrivilegeByCurrentUser()
 {
     try
     {
         using (ProxyBE p = new ProxyBE())
         {
             SearchPrivilegeArgs args = new SearchPrivilegeArgs();
             args.OrderBy       = "[MainSequence],[Sequence]";
             args.RowNumberFrom = pagingParm.RowNumberFrom;
             args.RowNumberTo   = pagingParm.RowNumberTo;
             //用户
             if (CurrentUser.UserType == (int)UserType.U)
             {
                 args.RKeyUserIDs = new List <Guid>()
                 {
                     CurrentUser.UserID
                 };
             }
             //经销商
             if (CurrentUser.UserType == (int)UserType.D)
             {
                 args.CategoryIDs = new List <Guid>();
                 args.CategoryIDs.Add(Guid.Parse(CategoryID));
             }
             args.IsDisabled = true;
             SearchResult sr = p.Client.SearchPrivilege(SenderUser, args);
             Response.Write(JSONHelper.Dataset2Json(sr.DataSet));
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         Response.Write(ex.Message);
     }
 }
예제 #2
0
 public SearchResult SearchPrivilege(Sender sender, SearchPrivilegeArgs args)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy())
         {
             return(op.SearchPrivilege(args));
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
예제 #3
0
        public void InitMenus()
        {
            try
            {
                //权限菜单模块
                StringBuilder jsonBuilder = new StringBuilder();
                jsonBuilder.Append("{menus:");
                jsonBuilder.Append("[");

                using (ProxyBE p = new ProxyBE())
                {
                    SearchPrivilegeCategoryArgs sargsPCategory = new SearchPrivilegeCategoryArgs();
                    sargsPCategory.OrderBy      = "[Sequence] ASC";
                    sargsPCategory.PrivilegeIDs = CurrentUser.PrivilegeIDs;
                    SearchResult srPCategory = p.Client.SearchPrivilegeCategory(SenderUser, sargsPCategory);
                    DataTable    dt          = srPCategory.DataSet.Tables[0];

                    int i = 0;
                    foreach (DataRow row in dt.Rows)
                    {
                        jsonBuilder.Append("{");
                        jsonBuilder.AppendFormat("\"menuid\":\"{0}\",", row["CategoryID"].ToString());
                        jsonBuilder.AppendFormat("\"menuname\":\"{0}\",", row["CategoryName"].ToString());
                        jsonBuilder.AppendFormat("\"url\":\"{0}\",", "#");

                        SearchPrivilegeArgs pa = new SearchPrivilegeArgs();
                        pa.OrderBy     = "[Sequence] ASC";
                        pa.CategoryIDs = new List <Guid>()
                        {
                            new Guid(row["CategoryID"].ToString())
                        };
                        pa.PrivilegeIDs = CurrentUser.PrivilegeIDs;
                        pa.IsDisabled   = false;
                        SearchResult spa = p.Client.SearchPrivilege(SenderUser, pa);
                        if (spa.DataSet.Tables[0].Rows.Count != 0)
                        {
                            string iconcls = row["IconClass"].ToString();
                            if (string.IsNullOrEmpty(iconcls))
                            {
                                iconcls = "icon-sys";
                            }
                            jsonBuilder.AppendFormat("\"icon\":\"{0}\",", iconcls);
                            jsonBuilder.AppendFormat("\"menus\":");
                            jsonBuilder.Append("[");
                            foreach (DataRow rw in spa.DataSet.Tables[0].Rows)
                            {
                                iconcls = rw["IconClass"].ToString();
                                if (string.IsNullOrEmpty(iconcls))
                                {
                                    iconcls = "icon-nav";
                                }
                                jsonBuilder.Append("{");
                                jsonBuilder.AppendFormat("\"menuid\":\"{0}\",", rw["PrivilegeID"].ToString());
                                jsonBuilder.AppendFormat("\"menuname\":\"{0}\",", rw["PrivilegeName"].ToString());
                                jsonBuilder.AppendFormat("\"url\":\"{0}\",", rw["PageURL"].ToString());
                                jsonBuilder.AppendFormat("\"icon\":\"{0}\"", iconcls);
                                jsonBuilder.Append("}");
                                jsonBuilder.Append(",");
                            }
                            StringBuilder sb = new StringBuilder();
                            sb.Append(jsonBuilder.ToString().TrimEnd(','));
                            jsonBuilder = sb;
                            jsonBuilder.Append("]");
                            jsonBuilder.Replace(",]", "]");
                        }
                        else
                        {
                            jsonBuilder.AppendFormat("\"icon\":\"{0}\",", "icon-sys");
                            jsonBuilder.Append("\"menus\":[]");
                        }
                        jsonBuilder.Append("}");
                        if (i != dt.Rows.Count - 1)
                        {
                            jsonBuilder.Append(",");
                        }
                        i++;
                    }
                    jsonBuilder.Append("]");
                    jsonBuilder.Append("}");
                    Response.Write(jsonBuilder.ToString());
                }
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }