private void Handle(GetMatchesRequest request) { Context.Sender.Tell(new GetMatchesResponse() { Matches = Matches }); }
public Response <List <Matches> > GetMatches([FromQuery] GetMatchesRequest request) { _logger.LogInfo("request for search matches arrived"); var result = _matchManager.GetMatches(request); return(result); }
/// <summary> /// Method that does the searching for matches from the GetMatches endpoint /// </summary> public Response <List <Matches> > GetMatches(GetMatchesRequest request) { var response = new Response <List <Matches> >(); var pagedResponse = new List <Matches>(); if (!string.IsNullOrEmpty(request.Type)) { var getMatches = _repository.GetAll <Matches>().Where(x => x.Type.Equals(request.Type)); pagedResponse = getMatches.OrderByDescending(x => x.CurrentPlayers) .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } else { var getMatches = _repository.GetAll <Matches>(); pagedResponse = getMatches.OrderByDescending(x => x.CurrentPlayers) .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } if (pagedResponse == null) { _logger.LogInfo("there are no matches with this search criteria"); response.Messages.Add(new ResponseMessage { Type = Contracts.Enums.ResponseMessageEnum.Info, Message = "There are no matches with this search criteria", }); response.Status = System.Net.HttpStatusCode.NotFound; } _logger.LogInfo("list of matches returned"); response.Payload = pagedResponse; return(response); }
public object Get(GetMatchesRequest Request) { User user = GetAuthenticatedUser(((NHibernate.ISession)base.Request.Items["hibernateSession"])); IQueryable <Match> Matches = new BaseRepository <Match>(((NHibernate.ISession)base.Request.Items["hibernateSession"])).List(x => x.SecondUser != null && (x.FirstUser == user || x.SecondUser == user) && (x.IsFirstUserLike && x.IsSecondUserLike != null && x.IsSecondUserLike == true) ).OrderByDescending(y => y.Updated); GetMatchesResponse Response = new GetMatchesResponse(user, Matches.ToList()); Response.data = Response.data.Skip(Request.offset).ToArray(); if (Request.limit > 0) { Response.data = Response.data.Take(Request.limit).ToArray(); } return(Response); }