示例#1
0
        public Response <List <Contracts.Models.Courts> > GetCourts([FromQuery] GetCourtsRequest request)
        {
            _logger.LogInfo("request for search courts arrived");
            var result = _courtsManager.GetCourts(request);

            return(result);
        }
示例#2
0
        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);
        }