public async Task <ActionResult <GetAchievementsByUserIdResponseModel> > GetByUserId( [FromRoute] Guid userId ) { var queryRequest = new GetAchievementsByUserIdQueryRequestModel { UserId = userId }; var queryResponse = await this.getAchievementsByUserIdQuery.ExecuteAsync(queryRequest); return(GetAchievementsByUserIdResponseModel.FromBusinessModel(queryResponse)); }
public async Task <IEnumerable <Achievement> > ExecuteAsync(GetAchievementsByUserIdQueryRequestModel queryRequest) { var user = await this.usersRepository.GetAsync(queryRequest.UserId); if (user is null) { throw new HttpException(HttpStatusCode.NotFound, $"User (ID: {queryRequest.UserId}) cannot be found."); } var achievementRecords = await this.achievementsRepository.GetByUserIdAsync(queryRequest.UserId); var achievements = new List <Achievement>(); foreach (var achievementRecord in achievementRecords) { achievements.Add(Achievement.FromTableRecord(achievementRecord)); } return(achievements); }