예제 #1
0
        public async Task <ActionResult <List <VisitDetails> > > VisitsMultiGet([FromQuery] string petId, CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(petId))
            {
                return(BadRequest());
            }

            string decodedPetId = HttpUtility.UrlDecode(petId);

            _logger.LogInformation("Decoded string as {@DecodedPetId}", decodedPetId);
            var petIds = petId.Split(',').Select(int.Parse);

            _logger.LogInformation("Retrieving information for pets {@PetIds}", petIds);

            var visits = await _visitsRepo.FindByPetIdIn(petIds);

            _logger.LogInformation("Found {N} visits to return", visits.Count());

            var ret = new List <VisitDetails>();

            foreach (var visit in visits)
            {
                ret.Add(VisitDetails.FromVisit(visit));
            }

            _logger.LogInformation("Formatted {N} visits with detail", ret.Count());

            return(Ok(ret));
        }
예제 #2
0
        public async Task <ActionResult <List <DTOs.Visit> > > VisitsMultiGet([FromQuery] int[] petId, CancellationToken cancellationToken)
        {
            var visits = await _visitsRepo.FindByPetIdIn(petId, cancellationToken);

            return(Ok(visits));
        }