Beispiel #1
0
        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));
        }