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;
                }
            }
        }
예제 #2
0
        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;
 }