/// <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; } } } }
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; } }
/// <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); }
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())); }
/// <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); }