Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
 /// <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>());
 }
Exemplo n.º 3
0
 /// <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);
     }
 }