public async Task <List <EntityViewModel> > GetViewModelsInDepartment(int departmentId, IComponentRepository componentRepository, IFlightLogRepository flightLogRepository) { var entityList = await _db.Entities .Where(x => x.DepartmentId == departmentId) .Select(x => x.EntityId) .ToListAsync(); var entityViewModels = new List <EntityViewModel>(); foreach (var viewModel in entityList.Select(entityId => GetViewModel(entityId).Result)) { viewModel.Components = componentRepository.AllInEntityViewModel(viewModel.EntityId).Result; viewModel.FlightLogs = flightLogRepository.GetViewModelsInEntity(viewModel.EntityId).Result; entityViewModels.Add(viewModel); } return(entityViewModels); }