示例#1
0
        public virtual object GetEmployeeInfo(HttpContext context)
        {
            YZRequest request             = new YZRequest(context);
            string    account             = request.GetString("account");
            bool      includeDisabledUser = request.GetBool("includeDisabledUser", false);

            User          user;
            List <object> rvPositions = new List <object>();
            List <object> supervisors = new List <object>();
            List <object> directXSs   = new List <object>();
            List <object> roles       = new List <object>();

            object[] groups;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                user = User.FromAccount(cn, account);

                MemberCollection positions = OrgSvr.GetUserPositions(cn, account);
                foreach (Member member in positions)
                {
                    rvPositions.Add(
                        new
                    {
                        ou          = member.GetParentOU(cn).GetFriendlyFullName(cn),
                        LeaderTitle = member.LeaderTitle,
                        Level       = member.Level
                    }
                        );

                    supervisors.AddRange(OrgManager.GetSupervisors(cn, member.FullName, includeDisabledUser));
                    directXSs.AddRange(OrgManager.GetDirectXSs(cn, member.FullName, includeDisabledUser));
                    roles.AddRange(OrgManager.GetRoles(cn, member.FullName));
                }

                groups = OrgManager.GetGroups(cn, account);
            }

            return(new {
                user = user,
                positions = rvPositions,
                supervisors = supervisors,
                directxss = directXSs,
                roles = roles,
                groups = groups
            });
        }
示例#2
0
        public static string GetAllAppId(string sid)
        {
            string appid = "";

            if (string.IsNullOrEmpty(sid))
            {
                using (BPMConnection cn = new BPMConnection())
                {
                    cn.WebOpen();
                    object[]  groups = OrgManager.GetGroups(cn, YZAuthHelper.LoginUserAccount);
                    ArrayList al     = (ArrayList)JSON.Decode(JsonConvert.SerializeObject(groups));
                    for (int i = 0; i < al.Count; i++)
                    {
                        Hashtable ht   = (Hashtable)al[i];
                        string    sids = Convert.ToString(ht["SID"]);

                        DataTable dt = DBUtil_APP.Query("select APPID from  APP_APPAUTH where sid=" + sids + "").Tables[0];
                        for (int j = 0; j < dt.Rows.Count; j++)
                        {
                            appid += "'" + dt.Rows[j][0] + "',";
                        }
                    }
                    DataTable dtt = DBUtil_APP.Query("select APPID from  APP_APPAUTH where sid='S_GS_90674E5E-AC3C-4032-9EDF-7477F2247542'").Tables[0];
                    for (int j = 0; j < dtt.Rows.Count; j++)
                    {
                        appid += "'" + dtt.Rows[j][0] + "',";
                    }
                }
            }
            else
            {
                DataTable dt = DBUtil_APP.Query("select APPID from  APP_APPAUTH where sid=" + sid + "").Tables[0];
                for (int j = 0; j < dt.Rows.Count; j++)
                {
                    appid += "'" + dt.Rows[j][0] + "',";
                }
            }
            if (!string.IsNullOrEmpty(appid))
            {
                return(appid.Trim(','));
            }
            else
            {
                return("'-1'");
            }
        }
示例#3
0
        public virtual object GetLoginUserOrgRelationship(HttpContext context)
        {
            string account = YZAuthHelper.LoginUserAccount;

            List <object> rvPositions = new List <object>();
            List <object> supervisors = new List <object>();
            List <object> directXSs   = new List <object>();
            List <object> roles       = new List <object>();

            object[] groups;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();

                MemberCollection positions = OrgSvr.GetUserPositions(cn, account);
                foreach (Member member in positions)
                {
                    rvPositions.Add(
                        new
                    {
                        ou          = member.GetParentOU(cn).GetFriendlyFullName(cn),
                        LeaderTitle = member.LeaderTitle,
                        Level       = member.Level
                    }
                        );

                    supervisors.AddRange(OrgManager.GetSupervisors(cn, member.FullName, false));
                    directXSs.AddRange(OrgManager.GetDirectXSs(cn, member.FullName, false));
                    roles.AddRange(OrgManager.GetRoles(cn, member.FullName));
                }

                groups = OrgManager.GetGroups(cn, account);
            }

            return(new {
                success = true,
                positions = rvPositions,
                supervisors = supervisors,
                directxss = directXSs,
                roles = roles,
                groups = groups
            });
        }