public async Task Run() { var repositories = RepositoriesBuilder.Build(); var entityLists = GetEntities(repositories); Console.WriteLine("Start async foreach"); await foreach (var entityList in entityLists) { foreach (var entity in entityList) { Console.WriteLine(entity); } } Console.WriteLine("Ok"); }
public async Task RunConcurrently() { Console.WriteLine($"{DateTime.Now:O} Start"); var repositories = RepositoriesBuilder.Build(); var tasks = repositories.Select(r => r.GetEntities()).ToList(); while (tasks.Any()) { await Task.WhenAny(tasks); var entities = tasks.Where(t => t.IsCompleted).SelectMany(t => t.Result).ToList(); entities.ForEach(Console.WriteLine); tasks = tasks.Where(t => !t.IsCompleted).ToList(); } }
public ScheduleViewModel(INavigation navigation) { ChangeDayOfWeekCommand = new ChangeDayOfWeekCommand(this); OpenMenuPageCommand = new OpenMenuPageCommand(this); Navigation = navigation; Lessons = new ObservableCollection <Lesson>(); Schedule = RepositoriesBuilder .GetRepository(new RepositoryConfigurations <Schedule>(StorageType.XmlFileStorageType, scheduleFile)) .Get().Result; if (Schedule != null) { DaySchedules = Schedule.WeekSchedules[4]; GroupNumber = Schedule.GroupNumber; } ChangeCurrentDayOfWeek(DateTime.Now.DayOfWeek); IsMenuButtonEnabled = true; }