private async Task InserirFuncionarioCursoGoogleAsync(FuncionarioGoogle funcionarioGoogle, CursoGoogle cursoGoogle) { var funcionarioCursoGoogle = new FuncionarioCursoGoogle(funcionarioGoogle.Indice, cursoGoogle.Id); try { var funcionarioCursoSincronizado = await mediator.Send(new InserirFuncionarioCursoGoogleCommand(funcionarioCursoGoogle, funcionarioGoogle.Email)); if (funcionarioCursoSincronizado) { await InserirFuncionarioCursoAsync(funcionarioCursoGoogle); } } catch (GoogleApiException gEx) { if (gEx.EhErroDeDuplicidade()) { await InserirFuncionarioCursoAsync(funcionarioCursoGoogle); } else { throw; } } }
private async Task InserirFuncionarioCursoGoogleAsync(FuncionarioGoogle funcionarioGoogle, CursoGoogle cursoGoogle) { var funcionarioCursoGoogle = new FuncionarioCursoGoogle(funcionarioGoogle.Indice, cursoGoogle.Id); try { var funcionarioCursoSincronizado = await mediator.Send(new InserirFuncionarioCursoGoogleCommand(funcionarioCursoGoogle, funcionarioGoogle.Email)); if (funcionarioCursoSincronizado) { await InserirFuncionarioCursoAsync(funcionarioCursoGoogle); } } catch (GoogleApiException gEx) { if (gEx.EhErroDeDuplicidade()) { await InserirFuncionarioCursoAsync(funcionarioCursoGoogle); } else if (gEx.RegistroNaoEncontrado()) { throw new NegocioException("Funcionário não localizado no Google Classroom"); } else { throw; } } }
private async Task IncluirProfessorCursoNoGoogle(FuncionarioCursoGoogle funcionarioCursoGoogle, string email, ClassroomService servicoClassroom) { var funcionarioParaIncluirGoogle = new Teacher() { UserId = email }; var requestCreate = servicoClassroom.Courses.Teachers.Create(funcionarioParaIncluirGoogle, funcionarioCursoGoogle.CursoId.ToString()); await requestCreate.ExecuteAsync(); }
private async Task InserirFuncionarioCursoAsync(FuncionarioCursoGoogle funcionarioCursoGoogle) { funcionarioCursoGoogle.Id = await mediator.Send(new IncluirCursoUsuarioCommand(funcionarioCursoGoogle.UsuarioId, funcionarioCursoGoogle.CursoId)); }
public InserirFuncionarioCursoGoogleCommand(FuncionarioCursoGoogle funcionarioCursoGoogle, string email) { FuncionarioCursoGoogle = funcionarioCursoGoogle; Email = email; }