Beispiel #1
0
        public bool DownMyDesktopNode(string groupindex, string nodeindex)
        {
            List <MyDesktopInfo> myDesktopInfo = GetMyDesktopData();
            MyDesktopInfo        myDesk        = myDesktopInfo[int.Parse(groupindex)];
            MyDesktopNode        myDeskNode1   = myDesk.MyDesktopNodes[int.Parse(nodeindex)];
            MyDesktopNode        myDeskNode2   = myDesk.MyDesktopNodes[int.Parse(nodeindex) + 1];

            myDesk.MyDesktopNodes[int.Parse(nodeindex)]     = myDeskNode2;
            myDesk.MyDesktopNodes[int.Parse(nodeindex) + 1] = myDeskNode1;
            string key = NG3.AppInfoBase.UserID + "-MYDESKTOPDATA";

            CacheClient.Instance.Add(key, myDesktopInfo, 120);
            return(true);
        }
Beispiel #2
0
        public bool ChangeMyDesktopSet(string id, string type, string value)
        {
            List <MyDesktopInfo> myDesktopInfoList = GetMyDesktopData();
            int           i    = int.Parse(id.Substring(0, id.IndexOf("and")));
            int           j    = int.Parse(id.Substring(id.IndexOf("and") + 3));
            MyDesktopNode node = myDesktopInfoList[i].MyDesktopNodes[j];

            switch (type)
            {
            case "Size":
                if (value == "Min")
                {
                    node.MenunodeSize = "小";
                }
                else
                {
                    node.MenunodeSize = "大";
                }
                break;

            case "Group":
                MyDesktopInfo myDesktopInfo = new MyDesktopInfo();
                for (int k = 0; k < myDesktopInfoList.Count; k++)
                {
                    if (myDesktopInfoList[k].GroupName == value)
                    {
                        myDesktopInfo = myDesktopInfoList[k];
                        break;
                    }
                }
                myDesktopInfoList[i].MyDesktopNodes.Remove(node);
                myDesktopInfo.MyDesktopNodes.Add(node);
                break;

            case "Remove":
                myDesktopInfoList[i].MyDesktopNodes.Remove(node);
                if (myDesktopInfoList[i].MyDesktopNodes.Count == 0)
                {
                    myDesktopInfoList.RemoveAt(i);
                }
                break;

            default:
                break;
            }

            Save(myDesktopInfoList);
            return(true);
        }
Beispiel #3
0
        public MyDesktopNode AddMyDesktopNode(string text, string runType, string runaddr, string moduleno, string suite, string code, string rightkey, string busphid)
        {
            MyDesktopNode mdn = new MyDesktopNode();

            mdn.MenuNodeName  = text;
            mdn.MenunodeSize  = "小";
            mdn.MenuNodeColor = "";
            mdn.Id            = Guid.NewGuid().ToString();
            mdn.RunType       = runType;
            mdn.Runadr        = runaddr;
            mdn.Moduleno      = moduleno;
            mdn.Suite         = suite;
            mdn.Code          = code;
            mdn.Rightkey      = rightkey;
            mdn.Busphid       = busphid;
            return(mdn);
        }
Beispiel #4
0
        public string GetMyDesktopFuncIconData()
        {
            List <MyDesktopInfo>  myDesktopInfo   = new List <MyDesktopInfo>();
            List <FuncIconEntity> funcIconEntitys = new List <FuncIconEntity>();
            PubCommonRule         pubCommonRule   = new PubCommonRule();

            object phid = dac.GetMyDesktopIdByUserID(NG3.AppInfoBase.UserID);

            if (phid == null)
            {
                return(pubCommonRule.GetMyDesktopInitData());
            }
            else
            {
                InitMyDesktopData();
                myDesktopInfo = GetMyDesktopData();
                DataTable dt = pubCommonRule.GetFuncIconDt();
                for (int i = 0; i < myDesktopInfo.Count; i++)
                {
                    List <MyDesktopNode> myDesktopNodes = myDesktopInfo[i].MyDesktopNodes;
                    for (int j = 0; j < myDesktopNodes.Count; j++)
                    {
                        MyDesktopNode desktopNode = myDesktopNodes[j];
                        DataView      dv          = dt.DefaultView;
                        dv.RowFilter = "busphid = '" + desktopNode.Busphid + "'";
                        DataTable tempdt = dv.ToTable();
                        if (tempdt.Rows.Count > 0)
                        {
                            FuncIconEntity funcIconEntity = new FuncIconEntity();
                            funcIconEntity.busphid = desktopNode.Busphid;
                            funcIconEntity.name    = tempdt.Rows[0]["name"].ToString();
                            funcIconEntity.src     = tempdt.Rows[0]["src"].ToString();
                            funcIconEntitys.Add(funcIconEntity);
                        }
                    }
                }
                string json = "{\"MyDesktopInfo\": " + JsonConvert.SerializeObject(myDesktopInfo) + ",\"FuncIcon\": " + JsonConvert.SerializeObject(funcIconEntitys) + "}";
                return(json);
            }
        }
Beispiel #5
0
        public string AddMyDesktopNodeEx(string json, string groupname)
        {
            JObject jo = JObject.Parse(json);
            List <MyDesktopInfo> myDesktopInfo = GetMyDesktopData();

            string managername = string.Empty;
            string runType     = string.Empty;
            string runaddr     = string.Empty;
            string suite       = string.Empty;
            string moduleno    = string.Empty;
            string menuname    = string.Empty;
            string code        = string.Empty;
            string rightkey    = string.Empty;
            string busphid     = string.Empty;

            if (jo["text"] != null)
            {
                menuname = jo["text"].ToString();
            }
            else if (jo["name"] != null)
            {
                menuname = jo["name"].ToString();
            }

            if (jo["code"] != null)
            {
                code = jo["code"].ToString();
            }

            if (jo["rightkey"] != null)
            {
                rightkey = jo["rightkey"].ToString();
            }

            if (jo["busphid"] != null)
            {
                busphid = jo["busphid"].ToString();
            }

            if (jo["managername"] != null)
            {
                managername = jo["managername"].ToString();
            }
            if (string.IsNullOrEmpty(managername))
            {
                if (jo["url"].ToString().IndexOf("exe") > -1)
                {
                    runType = "4";//pb页面
                }
                else
                {
                    runType = "5";//web页面
                }
                runaddr = jo["url"].ToString();
            }
            else
            {
                runType = "3";//winform页面
                runaddr = jo["managername"] + "@@**" + jo["rightname"];
            }

            if (jo["suite"] != null)
            {
                suite = jo["suite"].ToString();
            }
            if (jo["moduleno"] != null)
            {
                moduleno = jo["moduleno"].ToString();
            }

            if (jo["originalcode"] != null && string.IsNullOrEmpty(jo["originalcode"].ToString()) &&
                string.IsNullOrEmpty(suite) && string.IsNullOrEmpty(moduleno) && jo["url"] != null && jo["urlparm"] != null)
            {
                string url     = jo["url"].ToString();
                string urlparm = jo["urlparm"].ToString();
                if (url.Substring(0, 7) == "http://")
                {
                    runaddr = "WebBrowseIndividualManager№,№Caption№=№" + menuname + "№,№Url№=№" + url + urlparm;
                }
                else
                {
                    runaddr = "LocalSoft" + url + "№,№" + urlparm;
                }
            }

            int groupIndex = -1;

            //判断分组是否存在,不存在则添加分组
            for (int j = 0; j < myDesktopInfo.Count; j++)
            {
                if (myDesktopInfo[j].GroupName.Equals(groupname))
                {
                    groupIndex = j;
                    break;
                }
            }

            if (groupIndex != -1)
            {
                //判断分组节点是否存在,不存在则添加节点
                List <MyDesktopNode> nodes = myDesktopInfo[groupIndex].MyDesktopNodes;
                bool existCheck            = false;
                foreach (MyDesktopNode node in nodes)
                {
                    if (node.Code.Equals(code))
                    {
                        existCheck = true;
                        break;
                    }
                }
                if (!existCheck)
                {
                    //添加树节点
                    MyDesktopNode mdn = AddMyDesktopNode(menuname, runType, runaddr, moduleno, suite, code, rightkey, busphid);
                    myDesktopInfo[groupIndex].MyDesktopNodes.Add(mdn);
                }
                else
                {
                    return("我的桌面已存在该功能点!");
                }
            }
            else
            {
                //添加树节点
                MyDesktopNode mdn = AddMyDesktopNode(menuname, runType, runaddr, moduleno, suite, code, rightkey, busphid);
                //添加组节点
                MyDesktopInfo mdi = new MyDesktopInfo();
                mdi.GroupName      = groupname;
                mdi.Menubgcolor    = "";
                mdi.MyDesktopNodes = new List <MyDesktopNode>();
                mdi.MyDesktopNodes.Add(mdn);
                myDesktopInfo.Add(mdi);
            }

            string key = NG3.AppInfoBase.UserID + "-MYDESKTOPDATA";

            CacheClient.Instance.Add(key, myDesktopInfo, 120);

            SaveMyDesktopInfo("");

            return("");
        }