public async Task <IActionResult> CheckServiceHealth()
        {
            var response = new BookingsApiHealthResponse
            {
                AppVersion = GetApplicationVersion()
            };

            try
            {
                var query         = new GetHearingVenuesQuery();
                var hearingVenues = await _queryHandler.Handle <GetHearingVenuesQuery, List <HearingVenue> >(query);

                if (!hearingVenues.Any())
                {
                    throw new DataException("Could not retrieve ref data during service health check");
                }

                response.DatabaseHealth.Successful = true;
            }
            catch (Exception ex)
            {
                response.DatabaseHealth.Successful   = false;
                response.DatabaseHealth.ErrorMessage = ex.Message;
                response.DatabaseHealth.Data         = ex.Data;
            }

            return(!response.DatabaseHealth.Successful
                ? StatusCode((int)HttpStatusCode.InternalServerError, response)
                : Ok(response));
        }
Ejemplo n.º 2
0
        private async Task <HearingVenue> GetVenue(string venueName)
        {
            var getHearingVenuesQuery = new GetHearingVenuesQuery();
            var hearingVenues         =
                await _queryHandler.Handle <GetHearingVenuesQuery, List <HearingVenue> >(getHearingVenuesQuery);

            return(hearingVenues.SingleOrDefault(x => x.Name == venueName));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetHearingVenues()
        {
            var query         = new GetHearingVenuesQuery();
            var hearingVenues = await _queryHandler.Handle <GetHearingVenuesQuery, List <HearingVenue> >(query);

            var response = hearingVenues.Select(x => new HearingVenueResponse()
            {
                Id = x.Id, Name = x.Name
            }).ToList();

            return(Ok(response));
        }
 public async Task <List <HearingVenue> > Handle(GetHearingVenuesQuery query)
 {
     return(await _context.Venues.ToListAsync());
 }