private static async Task <int> DescargarCursoAPI(CoursesResource.CourseWorkResource.ListRequest solicitud) { ListCourseWorkResponse r2 = await solicitud.ExecuteAsync(); if (r2.CourseWork != null) { foreach (var trabajo in r2.CourseWork) { Console.WriteLine("{0} / {1}", trabajo.Id, trabajo.Title); frmppal.DtGVTareas.Rows.Add(trabajo.Id, trabajo.Title); } } return(1); }
public static async Task CargarTareasyAlumnos(object sender, EventArgs e) { string idcourse = frmppal.DtGVClases.SelectedRows[0].Cells["ClnIdCourse"].Value.ToString(); //MessageBox.Show(idcourse); frmppal.DtGVTareas.Rows.Clear(); frmppal.DtGVAlumnos.Rows.Clear(); UserCredential credential; using (var stream = new FileStream("credentials-p4.json", FileMode.Open, FileAccess.Read)) { // The file token.json stores the user's access and refresh tokens, and is created // automatically when the authorization flow completes for the first time. string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } //Servicio // Create Classroom API service. var service = new ClassroomService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); frmppal.toolStripProgressBar2.ProgressBar.Style = ProgressBarStyle.Marquee; frmppal.toolStripProgressBar3.ProgressBar.Style = ProgressBarStyle.Marquee; CoursesResource.CourseWorkResource.ListRequest request2 = service.Courses.CourseWork.List(idcourse); CoursesResource.StudentsResource.ListRequest request = service.Courses.Students.List(idcourse); var TareaCursoApi = DescargarCursoAPI(request2); var TareaClsAPi = DescargarClsAPI(request); var todasTareas = new List <Task> { TareaCursoApi, TareaClsAPi }; while (todasTareas.Count > 0) { Task finishedTask = await Task.WhenAny(todasTareas); if (finishedTask == TareaCursoApi) { frmppal.toolStripProgressBar2.ProgressBar.Style = ProgressBarStyle.Continuous; frmppal.toolStripProgressBar2.ProgressBar.Value = frmppal.toolStripProgressBar2.ProgressBar.Maximum; } else if (finishedTask == TareaClsAPi) { frmppal.toolStripProgressBar3.ProgressBar.Style = ProgressBarStyle.Continuous; frmppal.toolStripProgressBar3.ProgressBar.Value = frmppal.toolStripProgressBar2.ProgressBar.Maximum; } todasTareas.Remove(finishedTask); } }