Beispiel #1
0
        public async Task <ResultDto <GetResultDto> > GetResultsForUser(int userId)
        {
            var result = new ResultDto <GetResultDto>();

            var quizes = await Task.Run(() =>
                                        _quizRepository.GetAllBy(x => x.UserId == userId).ToList()
                                        );

            var rate = await Task.Run(() =>
                                      _rateRepository.GetBy(x => x.UserId == userId)
                                      );

            if (quizes == null || rate == null)
            {
                result.Errors.Add("Jeszcze nie brałeś udziału w quizach");
                return(result);
            }

            var rateDto = _mapper.Map <RateDto>(rate);

            var quizDtos = _mapper.Map <List <Quiz>, List <QuizDto> >(quizes);

            var resultDto = new GetResultDto(quizDtos, rateDto);

            result.SuccessResult = resultDto;

            return(result);
        }
        public static GetResultModel FromDto(GetResultDto dto)
        {
            if (dto == null)
            {
                return(null);
            }

            return(new GetResultModel
            {
                citizen = CitizenModel.FromDto(dto.Citizen),
                is_successed = dto.IsSuccessed,
                message = dto.Message,
                error = dto.Error
            });
        }
        public async Task <GetResultDto> Get(string id)
        {
            Guid idAsGuid = new Guid(id);

            var result = await _context.Results
                         .Include(p => p.Player)
                         .Include(c => c.Category)
                         .FirstOrDefaultAsync(r => r.Id == idAsGuid);

            if (result == null)
            {
                return(null);
            }

            var resultDto = new GetResultDto {
                ResultId = result.Id, Name = result.Player.Name, Category = result.Category.Type, Score = result.Score, Date = result.Updated
            };

            return(resultDto);
        }