private async Task <List <string> > FetchReservedSeats() { var pulledReservedSeats = (await _reservationProvider.GetReservedSeats(_showId)).ReservedSeats; lock (_syncList) { _currentListOfReservedSeats = pulledReservedSeats; } return(pulledReservedSeats); }
public async Task <ActionResult <ShowDto> > GetShow(string showId) { var auditoriumDto = await _auditoriumSeating.GetAuditoriumSeatingFor(showId); var reservedSeatsDto = await _reservedSeats.GetReservedSeats(showId); // Adapt from auditoriumDto to showDto var showDtoRows = new Dictionary <string, IReadOnlyList <SeatStatusDto> >(auditoriumDto.Rows.Count); foreach (var(rowName, seats) in auditoriumDto.Rows) { showDtoRows[rowName] = seats.Select(s => new SeatStatusDto(s.Name, s.Category, FindReservationStatus(s, reservedSeatsDto))).ToList(); } return(new ShowDto(showDtoRows)); }