Exemplo n.º 1
0
        private int LoadPerson()
        {
            PrivilegeService proxy = Common.Util.CreateProxy();

            try
            {
                IList <string> keys;
                using (proxy as IDisposable)
                {
                    keys = proxy.QueryAppID();
                    foreach (string _key in keys)
                    {
                        IList <Person> collection = proxy.QueryPerson(_key);
                        foreach (Person person in collection)
                        {
                            persons.Add(person);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "提示");
                return(-1);
            }

            return(0);
        }
        private void LoadTreeListView()
        {
            List <String>    orgTypeList = new List <string>();
            PrivilegeService _proxy      = Common.Util.CreateProxy();

            using (_proxy as IDisposable)
            {
                IList <String> keys = null;
                keys = _proxy.QueryAppID();
                if (keys != null)
                {
                    foreach (string key in keys)
                    {
                        List <String> orgType = _proxy.GetOrgType(key);
                        if (orgType != null)
                        {
                            foreach (String orgtypeone in orgType)
                            {
                                orgTypeList.Add(orgtypeone);
                            }
                        }
                    }
                }
                //orgTypeList = _proxy.GetOrgType("HIS");

                currentRoleResourcList = _proxy.QueryByTypeRoleId(pageJudge, currentRole.Id);
            }

            foreach (string orgType in orgTypeList)
            {
                string[]         orgTypeArray = orgType.Split('|');
                TreeListViewItem item         = new TreeListViewItem();
                item.Text       = orgTypeArray[1].ToString();
                item.Name       = orgTypeArray[0].ToString();
                item.Tag        = orgTypeArray;
                item.ImageIndex = 0;
                item.SubItems.AddRange(new string[] { orgTypeArray[0], orgTypeArray[2] == "isDepTrue" ? "ÊÇ" : "·ñ" });

                nTreeListView1.Items.Add(item);
            }

            if (currentRoleResourcList != null || currentRoleResourcList.Count != 0)
            {
                for (int item = 0; item < nTreeListView1.ItemsCount; item++)
                {
                    foreach (RoleResourceMapping roleRes in currentRoleResourcList)
                    {
                        if (nTreeListView1.Items[item].Name == roleRes.Resource.Id)
                        {
                            nTreeListView1.Items[item].Checked = true;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 查询用户角色授权信息
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public Dictionary <String, List <HISFC.Models.Privilege.Organization> > GetAuthorityRoleOrg(User user)
        {
            Dictionary <String, HISFC.Models.Privilege.Organization>         orgIdOrgMapping    = new Dictionary <string, HISFC.Models.Privilege.Organization>();
            Dictionary <String, List <HISFC.Models.Privilege.Organization> > roleOrgsDictionary = new Dictionary <string, List <HISFC.Models.Privilege.Organization> >();
            List <String[]> roleOrg  = null;
            List <String>   roleList = null;


            //获得所有类型的组织结构
            List <String>    appIds           = new List <string>();
            PrivilegeService privilegeService = new PrivilegeService();

            appIds = privilegeService.QueryAppID() as List <string>;

            foreach (string appId in appIds)
            {
                if (privilegeService.QueryUnit(appId) == null)
                {
                    continue;
                }
                foreach (HISFC.Models.Privilege.Organization newOrg in privilegeService.QueryUnit(appId))
                {
                    if (newOrg == null || String.IsNullOrEmpty(newOrg.ID))
                    {
                        continue;
                    }
                    orgIdOrgMapping.Add(newOrg.ID, newOrg);
                }
            }


            //using (DaoManager daoMgr = new DaoManager())
            //{
            try
            {
                //daoMgr.BeginTransaction();

                roleOrg  = authorityLogic.Query(user.Id);
                roleList = authorityLogic.QueryRole(user.Id);

                foreach (String roleId in roleList)
                {
                    roleOrgsDictionary.Add(roleId, new List <HISFC.Models.Privilege.Organization>());
                    {
                        foreach (String[] roleOrgArray in roleOrg)
                        {
                            if (roleId == roleOrgArray[2])
                            {
                                if (!orgIdOrgMapping.ContainsKey(roleOrgArray[3]))
                                {
                                    continue;
                                }
                                roleOrgsDictionary[roleId].Add(orgIdOrgMapping[roleOrgArray[3]]);
                            }
                        }
                    }
                }

                //daoMgr.CommitTransaction();
            }
            catch (Exception ex)
            {
                //daoMgr.RollBackTransaction();

                throw ex;
            }

            return(roleOrgsDictionary);
            //}
        }