Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
 private static async Task <IEnumerable <Achievement> > GetAchievementsFromDb(IAchievementRepository repository) => await repository.GetAllAsync();
Exemplo n.º 3
0
 public async Task <IEnumerable <AchievementVM> > GetAllAchievementsAsync() =>
 _mapper.Map <IEnumerable <AchievementVM> >(await _achievementRepository.GetAllAsync());