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)); }
public async Task <ActionResult <List <DTOs.Visit> > > VisitsMultiGet([FromQuery] int[] petId, CancellationToken cancellationToken) { var visits = await _visitsRepo.FindByPetIdIn(petId, cancellationToken); return(Ok(visits)); }