private IList <TablesAvailability> GetTablesAvailabilityList( IList <TableModel> tables, IList <ReservationDetailedModel> existingReservations) { var concurrentReservationsList = _concurrentEventsService.GetConcurrentEvents(existingReservations); var tablesAvailabilityList = new List <TablesAvailability>(); foreach (var concurrentReservations in concurrentReservationsList) { var reservedTablesIds = concurrentReservations.Events .SelectMany(r => r.Tables) .Select(t => t.Id); var freeTables = tables.Where(t => !reservedTablesIds.Contains(t.Id)); var tablesAvailability = new TablesAvailability { Range = concurrentReservations.Range, FreeTables = freeTables.ToList() }; tablesAvailabilityList.Add(tablesAvailability); } return(tablesAvailabilityList); }
public void Should_ReturnEmpty_When_Null() { // Act var concurrentEvents = _concurrentEventsService.GetConcurrentEvents(null); // Assert Assert.Empty(concurrentEvents); }