public async Task <IActionResult> GetById(long id) { try { var userInfo = await _userInfo.GetUserProfileById(id); if (userInfo == null) { return(NotFound("Usuário não encontrado.")); } var feedBacks = (await _feedbacks.GetAllAsync()); return(Ok(new ProfileDto { Achievements = (await _achievements.GetAllAsync()).Where(ach => ach.UserId == userInfo.User.Id).Select(ach => new AchievementViewModel((int)ach.Code, ach.Points)).ToList(), AmountAdverts = userInfo.User.Adverts.Count, AmountAssessments = feedBacks.Count(fb => fb.ReceiverId == userInfo.User.Id), BirthDate = userInfo.BirthDate, Cpf = userInfo.Cpf, Description = userInfo.Description, PhotoUrl = userInfo.PhotoUrl, Gender = userInfo.Gender, LastName = userInfo.LastName, FeedBacks = feedBacks.Where(x => x.ReceiverId == userInfo.User.Id).Select(fb => new FeedBackViewModel(fb.Id, fb.Description, fb.CreationDate)).ToList(), Name = userInfo.Name })); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
private static async Task <IEnumerable <Achievement> > GetAchievementsFromDb(IAchievementRepository repository) => await repository.GetAllAsync();
public async Task <IEnumerable <AchievementVM> > GetAllAchievementsAsync() => _mapper.Map <IEnumerable <AchievementVM> >(await _achievementRepository.GetAllAsync());