Ejemplo n.º 1
0
        /// <summary>
        /// 准备用户的签名信息
        /// </summary>
        /// <param name="opinions"></param>
        public static void PrepareSignImages(GenericOpinionCollection opinions)
        {
            if (opinions != null && opinions.Count > 0)
            {
                HashSet <string> opinionUserIDs = new HashSet <string>();

                foreach (GenericOpinion opinion in opinions)
                {
                    if (UserSignatures.ContainsKey(opinion.IssuePerson.ID) == false && opinionUserIDs.Contains(opinion.IssuePerson.ID) == false)
                    {
                        opinionUserIDs.Add(opinion.IssuePerson.ID);
                    }
                }

                UserInfoExtendCollection opinionUserInfo =
                    UserOUControlSettings.GetConfig().UserOUControlQuery.QueryUsersExtendedInfo(opinionUserIDs.ToArray());

                foreach (UserInfoExtendDataObject item in opinionUserInfo)
                {
                    string path = item.GetSignImagePath();

                    if (path.IsNotEmpty())
                    {
                        UserSignatures[item.ID] = path;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        protected void DefaultProcessRequest(string fpath)
        {
            OguObjectCollection <IUser> user =
                OguMechanismFactory.GetMechanism().GetObjects <IUser>(SearchOUIDType.FullPath, fpath);

            foreach (IUser userObj in user)
            {
                UserInfoExtendCollection collection = UserInfoExtendDataObjectAdapter.Instance.Load(builder => builder.AppendItem("ID", userObj.ID));
                if (collection.Count > 0)
                {
                    Data = collection[0];
                }
                if (collection.Count == 0)
                {
                    Data = new UserInfoExtendDataObject()
                    {
                        ID = userObj.ID
                    }
                }
                ;
                Data.DisplayName = userObj.DisplayName;
                Data.FullPath    = userObj.FullPath;
                Data.LogonName   = userObj.LogOnName;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 查询用户的即时消息地址
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public UserIMAddressCollection QueryUsersIMAddress(params string[] ids)
        {
            UserInfoExtendCollection extendedInfo = QueryUsersExtendedInfo(ids);

            UserIMAddressCollection result = new UserIMAddressCollection();

            extendedInfo.ForEach(eu => result.Add(new UserIMAddress(eu.ID, eu.IMAddress)));

            return(result);
        }
Ejemplo n.º 4
0
        public OguObjectCollection <IUser> GetIUserWithCount(string userName, string departmentId, ref int totalCount)
        {
            IOrganization dept = OguMechanismFactory.GetMechanism().GetObjects <IOrganization>(SearchOUIDType.Guid, departmentId)[0];

            OguObjectCollection <IUser> users = null;

            if (userName.Equals("@SearchAll@"))
            {
                users = dept.QueryChildren <IUser>(userName, true, SearchLevel.OneLevel, 100);
            }
            else
            {
                users = dept.QueryChildren <IUser>(userName, true, SearchLevel.SubTree, 100);
            }

            UserInfoExtendCollection extendCollection =
                UserInfoExtendDataObjectAdapter.Instance.GetUserInfoExtendInfoCollectionByUsers(users);

            UserReportInfoCollection reportLines =
                UserReportInfoAdapter.Instance.LoadUsersReportInfo(users);

            foreach (IUser extend in users)
            {
                UserInfoExtendDataObject ogu = extendCollection.Find(e => string.Compare(e.ID, extend.ID, true) == 0);

                if (ogu != null)
                {
                    FillUserExtendProperties(extend, ogu);
                }

                UserReportInfo reportInfo = reportLines.Find(r => string.Compare(r.User.ID, extend.ID, true) == 0);

                if (reportInfo != null)
                {
                    extend.Properties["ReportTo"] = reportInfo;
                }
            }

            totalCount = users.Count;
            return(new OguObjectCollection <IUser>(users.ToList().OrderBy(u => !u.IsSideline).ToArray()));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 查询用户扩展信息
        /// </summary>
        /// <param name="ids">一个或多个用户ID</param>
        /// <returns></returns>
        public UserInfoExtendCollection QueryUsersExtendedInfo(params string[] ids)
        {
            UserInfoExtendCollection result = new UserInfoExtendCollection();

            InSqlClauseBuilder inBuilder = new InSqlClauseBuilder("ID");

            inBuilder.AppendItem(ids);

            if (inBuilder.IsEmpty == false)
            {
                WhereSqlClauseBuilder wBuilder = new WhereSqlClauseBuilder();
                wBuilder.AppendItem("Status", (int)SchemaObjectStatus.Normal);

                ConnectiveSqlClauseCollection connectiveBuilder = new ConnectiveSqlClauseCollection(LogicOperatorDefine.And, inBuilder, wBuilder);
                SchemaObjectCollection        objs = SchemaObjectAdapter.Instance.Load(connectiveBuilder);

                objs.ForEach(o => result.Add(o.ToUserExtendedInfo()));
            }

            return(result);
        }