예제 #1
0
        /// <summary>
        /// 根据UserId获取用户信息
        /// </summary>
        /// <returns></returns>
        public ReturnItem <RetUserLoginInfo> GetUserInfo(GetUserInfoParameter parameter)
        {
            WebApiPostParameter wparameter = new WebApiPostParameter()
            {
                Url = CustomConfigParam.UserApiUrl + "Api/User/GetUserInfoInside"
            };

            parameter.SetPostParameter(wparameter);//填充请求参数
            return(new WebApiHelper().GetEntity <RetUserLoginInfo>(wparameter));
        }
        public BaseResponse <GetUserInfoResult> GetUserInfo(GetUserInfoParameter parameter)
        {
            if (Validate(parameter))
            {
                return(userManager.GetUserInfo(parameter));
            }
            else
            {
                BaseResponse <GetUserInfoResult> response = new BaseResponse <GetUserInfoResult>();
                response.IsSuccessful = false;
                response.Reason       = "JWT_ERR";

                return(response);
            }
        }
예제 #3
0
        public BaseResponse <GetUserInfoResult> GetUserInfo(GetUserInfoParameter parameter)
        {
            BaseResponse <GetUserInfoResult> response = new BaseResponse <GetUserInfoResult>();

            try
            {
                if (string.IsNullOrEmpty(parameter.Sort))
                {
                    parameter.Sort = "UserToken";
                }
                if (string.IsNullOrEmpty(parameter.Order))
                {
                    parameter.Order = "asc";
                }
                if (parameter.Page == 0)
                {
                    parameter.Page = 1;
                }
                if (parameter.PageSize == 0)
                {
                    parameter.PageSize = 10;
                }

                switch (parameter.Sort)
                {
                case "RoleID":
                    parameter.Sort = "RoleName";
                    break;
                }

                int count = 0;
                if (parameter.Page == 0)
                {
                    parameter.Page = 1;
                }
                using (var dataContext = new iCMSDbContext())
                {
                    IQueryable <HBUser>     userInfoList = dataContext.HBUsers.Where(p => p.IsDeleted == false);
                    ListSortDirection       sortOrder    = parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList     = new PropertySortCondition[]
                    {
                        new PropertySortCondition(parameter.Sort, sortOrder),
                        new PropertySortCondition("UserID", sortOrder),
                    };

                    var currentUser = dataContext.HBUsers.Where(t => t.UserID == parameter.CurrentUserID).FirstOrDefault();
                    if (currentUser == null)
                    {
                        response.IsSuccessful = false;
                        return(response);
                    }

                    int currentRoleID = currentUser.RoleID;
                    //根据当前登录用户角色来显示用户
                    switch (currentRoleID)
                    {
                    case 1:
                        //超级管理员
                        userInfoList = userInfoList.Where(t => true);
                        break;

                    case 3:
                        //一级管理员
                        userInfoList = userInfoList.Where(t => t.RoleID == 3 || t.RoleID == 4);
                        break;

                    case 4:
                        //二级管理员
                        userInfoList = userInfoList.Where(t => t.RoleID == 4);
                        break;
                    }

                    if (parameter.OrganizationID.HasValue && parameter.OrganizationID.Value > 0)
                    {
                        userInfoList = userInfoList.Where(t => t.OrganizationID == parameter.OrganizationID.Value);
                    }

                    //userInfoList = userInfoList.OrderBy(sortList);

                    count = userInfoList.Count();

                    var organArray = organRepository.GetDatas <Organization>(t => !t.IsDeleted, true).ToList();
                    //if (parameter.Page > -1)
                    //{
                    //    userInfoList = userInfoList
                    //        .Skip((parameter.Page - 1) * parameter.PageSize)
                    //        .Take(parameter.PageSize);
                    //}

                    var tempUserInfoList = userInfoList
                                           .ToArray()
                                           .Select(user =>
                    {
                        HBRole roleNameObj = dataContext.HBRoles.FirstOrDefault(role => role.RoleID == user.RoleID);
                        var organ          = organArray.Where(t => t.OrganID == user.OrganizationID).FirstOrDefault();
                        return(new HBUserInfo
                        {
                            UserID = user.UserID,
                            RoleID = user.RoleID,
                            RoleName = roleNameObj == null ? string.Empty : roleNameObj.RoleName,
                            UserToken = user.UserToken,
                            Gender = user.Gender,
                            LastUpdateUserID = user.LastUpdateUserID,
                            OrganizationID = user.OrganizationID,
                            OrganizationName = organ == null ? string.Empty : organ.OrganFullName,
                            UseStatus = user.UseStatus,
                            AddDate = user.AddDate,
                            OrganTypeID = organ == null ? 0 : organ.OrganTypeID
                        });
                    }).AsQueryable();

                    tempUserInfoList = tempUserInfoList.OrderBy(sortList);

                    if (parameter.Page > -1)
                    {
                        tempUserInfoList = tempUserInfoList
                                           .Skip((parameter.Page - 1) * parameter.PageSize)
                                           .Take(parameter.PageSize);
                    }

                    response.Result = new GetUserInfoResult
                    {
                        Total        = count,
                        UserInfoList = tempUserInfoList.ToList()
                    };

                    response.IsSuccessful = true;
                    response.Code         = null;
                    return(response);
                }
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;
                response.Code         = null;
                return(response);
            }
        }
예제 #4
0
 public BaseResponse <GetUserInfoResult> GetUserInfo(GetUserInfoParameter parameter)
 {
     return(userManager.GetUserInfo(parameter));
 }
        public BaseResponse <GetUserInfoResult> GetUserInfo(GetUserInfoParameter parameter)
        {
            BaseResponse <GetUserInfoResult> response = new BaseResponse <GetUserInfoResult>();

            try
            {
                switch (parameter.Sort)
                {
                case "RoleName":
                    parameter.Sort = "RoleID";
                    break;
                }

                int count = 0;
                if (parameter.Page == 0)
                {
                    parameter.Page = 1;
                }
                using (var dataContext = new iCMSDbContext())
                {
                    IQueryable <HBUser>     userInfoList = dataContext.HBUsers.Where(p => p.IsDeleted == false);
                    ListSortDirection       sortOrder    = parameter.Order.ToLower().Equals("asc") ? ListSortDirection.Ascending : ListSortDirection.Descending;
                    PropertySortCondition[] sortList     = new PropertySortCondition[]
                    {
                        new PropertySortCondition(parameter.Sort, sortOrder),
                        new PropertySortCondition("UserID", sortOrder),
                    };

                    var currentUser = dataContext.HBUsers.Where(t => t.UserID == parameter.CurrentUserID).FirstOrDefault();
                    if (currentUser == null)
                    {
                        response.IsSuccessful = false;
                        return(response);
                    }

                    int currentRoleID = currentUser.RoleID;
                    //根据当前登录用户角色来显示用户
                    switch (currentRoleID)
                    {
                    case 1:
                        //超级管理员
                        userInfoList.Where(t => true);
                        break;

                    case 2:
                        //一级管理员
                        userInfoList.Where(t => t.RoleID == 2 || t.RoleID == 3);
                        break;

                    case 3:
                        userInfoList.Where(t => t.RoleID == 3);

                        break;
                    }

                    userInfoList = userInfoList.OrderBy(sortList);

                    count = userInfoList.Count();
                    if (parameter.Page > -1)
                    {
                        userInfoList = userInfoList
                                       .Skip((parameter.Page - 1) * parameter.PageSize)
                                       .Take(parameter.PageSize);
                    }

                    var tempUserInfoList = userInfoList
                                           .ToArray()
                                           .Select(user =>
                    {
                        HBRole roleNameObj = dataContext.HBRoles.FirstOrDefault(role => role.RoleID == user.RoleID);

                        return(new HBUserInfo
                        {
                            UserID = user.UserID,
                            RoleID = user.RoleID,
                            RoleName = roleNameObj == null ? "" : roleNameObj.RoleName,
                            UserToken = user.UserToken,
                            Gender = user.Gender,
                            LastUpdateUserID = user.LastUpdateID,
                            OrganizationID = user.OrganizationID,
                            OrganizationName = string.Empty
                        });
                    })
                                           .ToList();
                    response.Result = new GetUserInfoResult
                    {
                        Total        = count,
                        UserInfoList = tempUserInfoList
                    };

                    response.IsSuccessful = true;
                    response.Code         = null;
                    return(response);
                }
            }
            catch (Exception e)
            {
                response.IsSuccessful = false;
                response.Code         = null;
                return(response);
            }
        }