public async Task<IEnumerable<Match>> Get([FromUri] GetAllMatchesRequest request)
 {
     if (request == null)
     {
         request = new GetAllMatchesRequest();
     }
     return await getAllHandler.HandleAsync(request);
 }
예제 #2
0
        public void Handle(GetAllMatchesRequest request)
        {
            try
            {
                var notDeleted = new GetMatchesNotDeletedSpecifications();

                var matches = _matchRepo.Find(notDeleted).Select(x => new GetMatchItem(x.Id, x.FirstTeam, x.SecondTeam, x.DateTimeMatch, x.ScoreOfFirstTeam, x.ScoreOfSecondTeam, x.IsDeleted)).OrderBy(x => Convert.ToDateTime(x.DateTimeMatch));

                var response = new GetAllMatchesResponse(matches);
                Sender.Tell(response);

                _logger.Info("Get All Matches");
            }
            catch (Exception ex)
            {
                _logger.Error("Could't get all Matches: {0}", ex);
                throw;
            }
        }
예제 #3
0
        public async Task <IEnumerable <MatchDto> > HandleAsync(GetAllMatchesRequest request)
        {
            var dbSet = _db.Matches
                        .Include(e => e.Boxer1)
                        .Include(e => e.Boxer2)
                        .Include(e => e.Winner);

            if (!string.IsNullOrEmpty(request.Search))
            {
                dbSet = dbSet.Where(m => m.Boxer1.Name.Contains(request.Search) ||
                                    m.Boxer2.Name.Contains(request.Search) ||
                                    m.Address.Contains(request.Search));
            }

            if (request.PastUnfinished.HasValue && request.PastUnfinished.Value)
            {
                var currentTime = DateTime.Now;
                dbSet = dbSet.Where(m => m.Time < currentTime &&
                                    m.WinnerId == null);
            }

            IQueryable <MatchEntity> query = dbSet.OrderBy(e => e.Time);

            if (request.Take > 0)
            {
                query = query
                        .Skip(request.Skip)
                        .Take(request.Take);
            }

            var result = (await query
                          .ToListAsync()
                          .ConfigureAwait(false)).Select(Mapper.Map <MatchDto>);

            return(result);
        }
예제 #4
0
 public async Task<IEnumerable<MatchDto>> GetAllMatches([FromUri]RequestParamsDto reqParams)
 {
     var request = new GetAllMatchesRequest()
     {
         RequestParams = reqParams
     };
     return await _mediator.ExecuteAsync(request).ConfigureAwait(false);
 }
예제 #5
0
        public async Task <GetAllMatchesResponse> GetAllMatches()
        {
            var request = new GetAllMatchesRequest();

            return(await _matchActor.Ask <GetAllMatchesResponse>(request));
        }
예제 #6
0
 public async Task <IEnumerable <MatchDto> > Get([FromUri] GetAllMatchesRequest request)
 {
     return(await _mediator.ExecuteAsync(request).ConfigureAwait(false));
 }