/// <summary> /// 获取用户个人信息 /// </summary> public GetProfileDTO GetProfile() { GetProfileDTO profileDTO = null; var userid = HttpContext.Current.User.Identity.Name; using (var db = new AspodesDB()) { var user = db.Users.FirstOrDefault(c => c.UserId == userid); if (user != null) { profileDTO = Mapper.Map <GetProfileDTO>(user.Person); if (!string.IsNullOrEmpty(user.Person.EducationHistor)) { profileDTO.EducationList = JsonConvert .DeserializeObject <List <EducationDTO> >(user.Person.EducationHistor) .OrderBy(c => c.BeginTime) .ThenBy(c => c.EndTime) .ToList(); } if (!string.IsNullOrEmpty(user.Person.WorkingHistory)) { profileDTO.WorkingList = JsonConvert .DeserializeObject <List <WorkingDTO> >(user.Person.WorkingHistory) .OrderBy(c => c.BeginTime) .ThenBy(c => c.EndTime) .ToList(); } if (!string.IsNullOrEmpty(user.Person.Achievements)) { profileDTO.AchievementList = JsonConvert .DeserializeObject <List <AchievementDTO> >(user.Person.Achievements) .OrderBy(c => c.AchievementTime) .ThenBy(c => c.Name) .ToList(); } //判断是否为专家 var expertInfo = db.Authorizes.FirstOrDefault(c => c.UserId == userid && c.RoleId == 5); if (expertInfo != null) { profileDTO.Expert = true; } else { profileDTO.Expert = false; } } else { throw new NotFoundException("找不到用户!"); } return(profileDTO); } }
public async Task <IActionResult> GetProfile([FromQuery] GetProfileDTO getProfileDTO) { try { if (!ModelState.IsValid) { return(BadRequest()); } var user = userManager.Users.FirstOrDefault(u => u.Email == getProfileDTO.Email); var roles = await userManager.GetRolesAsync(user); var roleId = await roleManager.FindByNameAsync(roles.SingleOrDefault()); if (roleId.Id == getProfileDTO.Role.ToString()) { var res = new ProfileDTO { Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Role = getProfileDTO.Role, Gender = user.Gender, DateOfBirth = user.DateOfBirth, PhoneNumber = user.PhoneNumber, LinkedInProfile = user.LinkedInProfile, Status = user.Status, Experience = user.Experience }; // return newly formatted data as -- res return(Created("getUser", new { Message = "User data obtained successfully!", user = res })); } return(NotFound(getProfileDTO)); } catch (Exception e) { throw; } }