/// <summary> /// 得到用户状态的Html。会从当前的上下文中获取用户的SIP地址 /// </summary> /// <param name="userID"></param> /// <param name="userName"></param> /// <param name="uniqueID"></param> /// <param name="showStatusImage"></param> /// <param name="showUserIcon"></param> /// <param name="showUserName"></param> /// <param name="statusImageType"></param> /// <param name="userIconUrl"></param> /// <returns></returns> public static string GetUsersPresenceHtml(string userID, string userName, string uniqueID, bool showStatusImage, bool showUserIcon, bool showUserName, StatusImageType statusImageType, string userIconUrl) { UserIMAddress uie = UserExtendInfo.Find(u => u.UserID == userID); if (uie == null) { UserExtendInfo.CopyFrom(UserOUControlSettings.GetConfig().UserOUControlQuery.QueryUsersIMAddress(userID)); } else { UserExtendInfo.Add(uie); } return(GetUsersPresenceHtml(userID, userName, uniqueID, true, showUserIcon, showUserName, statusImageType, userIconUrl, UserExtendInfo)); }
/// <summary> /// 获取当前用户扩展信息 /// </summary> /// <param name="currUser">用户信息</param> /// <param name="companyId">公司ID</param> /// <returns></returns> public static List <EmpExtendInfo> GetCurrEmpExtendInfo(UserInfo currUser, Guid?companyId = null) { if (currUser != null && currUser.ExtendUserObject != null) { UserExtendInfo extend = currUser.ExtendUserObject as UserExtendInfo; if (extend == null) { extend = GetUserExtendCache(currUser.UserName) as UserExtendInfo; } if (extend != null && extend.EmpExtend != null && extend.EmpExtend.Count > 0) { List <EmpExtendInfo> list = extend.EmpExtend; if (list != null && list.Count > 0 && companyId.HasValue && companyId.Value != Guid.Empty) { list = list.Where(x => x.CompanyId == companyId).ToList(); } return(list); } } return(new List <EmpExtendInfo>()); }
/// <summary> /// 获取用户扩展信息 /// </summary> /// <param name="userInfo">用户信息</param> /// <returns></returns> public static UserExtendBase GetUserExtend(UserInfo userInfo) { if (userInfo == null) { return(null); } if (userInfo.ExtendUserObject != null) { return(userInfo.ExtendUserObject); } if (userInfo.EmpId.HasValue) { List <EmpExtendInfo> empExtends = new List <EmpExtendInfo>(); List <Guid> companyIds = OrgMOperate.GetEmpCompanys(userInfo.EmpId.Value).Select(x => x.Id).ToList(); if (companyIds.Count > 0) { foreach (Guid companyId in companyIds) { OrgM_Dept mainDept = OrgMOperate.GetEmpMainDept(userInfo.EmpId.Value, companyId); OrgM_Duty mainDuty = OrgMOperate.GetEmpMainDuty(userInfo.EmpId.Value, companyId); List <OrgM_Dept> partimeDepts = OrgMOperate.GetEmpPartTimeDepts(userInfo.EmpId.Value, companyId); List <OrgM_DeptDuty> partimePositions = OrgMOperate.GetPartTimePositions(userInfo.EmpId.Value, companyId); empExtends.Add(new EmpExtendInfo() { CompanyId = companyId, DeptId = mainDept != null ? mainDept.Id : (Guid?)null, DeptName = mainDept != null ? (string.IsNullOrEmpty(mainDept.Alias) ? mainDept.Name : mainDept.Alias) : string.Empty, DutyId = mainDuty != null ? mainDuty.Id : (Guid?)null, DutyName = mainDuty != null ? mainDuty.Name : string.Empty, PartimeDeptIds = partimeDepts != null && partimeDepts.Count > 0 ? partimeDepts.Select(x => x.Id).ToList() : null, PartimeDeptNames = partimeDepts != null && partimeDepts.Count > 0 ? partimeDepts.Select(x => x.Name).ToList() : null, PartimePositionIds = partimePositions != null && partimePositions.Count > 0 ? partimePositions.Select(x => x.Id).ToList() : null, PartimePositionNames = partimePositions != null && partimePositions.Count > 0 ? partimePositions.Select(x => x.Name).ToList() : null }); } } else { OrgM_Dept mainDept = OrgMOperate.GetEmpMainDept(userInfo.EmpId.Value); OrgM_Duty mainDuty = OrgMOperate.GetEmpMainDuty(userInfo.EmpId.Value); List <OrgM_Dept> partimeDepts = OrgMOperate.GetEmpPartTimeDepts(userInfo.EmpId.Value); List <OrgM_DeptDuty> partimePositions = OrgMOperate.GetPartTimePositions(userInfo.EmpId.Value); empExtends.Add(new EmpExtendInfo() { CompanyId = null, DeptId = mainDept != null ? mainDept.Id : (Guid?)null, DeptName = mainDept != null ? (string.IsNullOrEmpty(mainDept.Alias) ? mainDept.Name : mainDept.Alias) : string.Empty, DutyId = mainDuty != null ? mainDuty.Id : (Guid?)null, DutyName = mainDuty != null ? mainDuty.Name : string.Empty, PartimeDeptIds = partimeDepts != null && partimeDepts.Count > 0 ? partimeDepts.Select(x => x.Id).ToList() : null, PartimeDeptNames = partimeDepts != null && partimeDepts.Count > 0 ? partimeDepts.Select(x => x.Name).ToList() : null, PartimePositionIds = partimePositions != null && partimePositions.Count > 0 ? partimePositions.Select(x => x.Id).ToList() : null, PartimePositionNames = partimePositions != null && partimePositions.Count > 0 ? partimePositions.Select(x => x.Name).ToList() : null }); } UserExtendInfo userExtendInfo = new UserExtendInfo() { EmpExtend = empExtends }; List <Sys_UserRole> userRoles = PermissionOperate.GetAllUserRoles(x => x.Sys_RoleId != null && x.Sys_UserId == userInfo.UserId); if (userRoles.Count > 0) { userExtendInfo.RoleIds = userRoles.Select(x => x.Sys_RoleId).ToList(); userExtendInfo.RoleNames = userRoles.Select(x => x.Sys_RoleName).ToList(); } return(userExtendInfo); } else { UserExtendInfo userExtendInfo = new UserExtendInfo(); List <Sys_UserRole> userRoles = PermissionOperate.GetAllUserRoles(x => x.Sys_RoleId != null && x.Sys_UserId == userInfo.UserId); if (userRoles.Count > 0) { userExtendInfo.RoleIds = userRoles.Select(x => x.Sys_RoleId).ToList(); userExtendInfo.RoleNames = userRoles.Select(x => x.Sys_RoleName).ToList(); } return(userExtendInfo); } }