public Response <List <Contracts.Models.Courts> > GetCourts([FromQuery] GetCourtsRequest request) { _logger.LogInfo("request for search courts arrived"); var result = _courtsManager.GetCourts(request); return(result); }
public Response <List <Courts> > GetCourts(GetCourtsRequest request) { var response = new Response <List <Courts> >(); var pagedResponse = new List <Courts>(); if (!string.IsNullOrEmpty(request.Type) && !string.IsNullOrEmpty(request.Name)) { var getCourts = _repository.GetAll <Courts>().Where(x => x.Sport.Equals(request.Type) && x.Name.Equals(request.Name)); pagedResponse = getCourts .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } else if (!string.IsNullOrEmpty(request.Name)) { var getCourts = _repository.GetAll <Courts>().Where(x => x.Name.Equals(request.Name)); pagedResponse = getCourts .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } else if (!string.IsNullOrEmpty(request.Type)) { var getCourts = _repository.GetAll <Courts>().Where(x => x.Sport.Equals(request.Type)); pagedResponse = getCourts .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } else { var getCourts = _repository.GetAll <Courts>(); pagedResponse = getCourts .Skip((request.CurrentPage - 1) * request.PageSize) .Take(request.PageSize) .ToList(); } if (pagedResponse == null) { _logger.LogInfo("there are no courts with this search criteria"); response.Messages.Add(new ResponseMessage { Type = Contracts.Enums.ResponseMessageEnum.Info, Message = "There are no courts with this search criteria", }); response.Status = System.Net.HttpStatusCode.NotFound; } _logger.LogInfo("list of courts returned"); response.Payload = pagedResponse; return(response); }