public ProfileDto GetUserProfile(Guid userId) { AssertConcern.AssertArgumentNotGuidEmpty(userId, "Id do usuário inválido"); var profile = ProfileRepository.GetByUserId(userId.ToString()); if (profile == null) { return(new ProfileDto() { UserId = userId.ToString() }); } var returnProfile = new ProfileDto() { Id = profile.Id, UserId = profile.UserId, Genre = (int)profile.Genre, GenreDescription = profile.Genre.ToString(), MaritalStatus = (int)profile.MaritalStatus, MaritalStatusDescription = profile.MaritalStatus.ToString(), ZipCode = profile.ZipCode, MaritalStatusInterest = (int)profile.MaritalStatusInterest, MaritalStatusInterestDescription = profile.MaritalStatusInterest.ToString(), Summary = profile.Summary, Interests = new List <Configuration>(), Relationships = new List <Configuration>() }; var interestConfigurations = ConfigurationRepository.GetByQuery(profile.UserId, "Interest"); var relationshipConfigurations = ConfigurationRepository.GetByQuery(profile.UserId, "Relationship"); if (interestConfigurations.Any()) { Parallel.ForEach(interestConfigurations, x => returnProfile.Interests.Add(x)); } if (relationshipConfigurations.Any()) { Parallel.ForEach(relationshipConfigurations, x => returnProfile.Relationships.Add(x)); } return(returnProfile); }