private async Task RemoverProfessorCursoAsync(CursoUsuario cursoUsuario)
 {
     if (!await mediator.Send(new RemoverCursoUsuarioCommand(cursoUsuario.Id)))
     {
         throw new NegocioException($"Não foi possível remover a atribuição do professor do curso {cursoUsuario.CursoId}");
     }
 }
示例#2
0
        public async Task <long> Handle(IncluirCursoUsuarioCommand request, CancellationToken cancellationToken)
        {
            var cursoUsuario = new CursoUsuario(
                request.CursoId,
                request.UsuarioId
                );

            cursoUsuario.Id = await repositorioCursoUsuario.SalvarAsync(cursoUsuario);

            return(cursoUsuario.Id);
        }
        public async Task <bool> Handle(CreateCursoUsuarioCommand request, CancellationToken cancellationToken)
        {
            var result = false;

            var entity = new CursoUsuario
            {
                CursoId   = request.CursoId,
                UsuarioId = request.UsuarioId
            };

            _context.CursoUsuarios.Add(entity);

            await _context.SaveChangesAsync(cancellationToken);

            result = true;

            return(result);
        }
示例#4
0
        public async Task <long> SalvarAsync(CursoUsuario cursoUsuario)
        {
            var query = @"INSERT INTO public.cursos_usuarios
                           (curso_id, usuario_id, data_inclusao, excluido)
                         VALUES
                           (@cursoId, @usuarioId, @dataInclusao, @excluido)
                         RETURNING id";

            var parametros = new
            {
                cursoUsuario.CursoId,
                cursoUsuario.UsuarioId,
                cursoUsuario.DataInclusao,
                cursoUsuario.Excluido
            };

            using var conn = ObterConexao();
            return(await conn.ExecuteAsync(query, parametros));
        }
        private async Task RemoverProfessorCursoGoogleAsync(ProfessorGoogle professorGoogle, CursoUsuario cursoUsuario)
        {
            try
            {
                var professorCursoRemovido = await mediator.Send(new RemoverProfessorCursoGoogleCommand(cursoUsuario.CursoId, professorGoogle.Email));

                if (professorCursoRemovido)
                {
                    await RemoverProfessorCursoAsync(cursoUsuario);
                }
            }
            catch (GoogleApiException gEx)
            {
                if (gEx.RegistroNaoEncontrado())
                {
                    await RemoverProfessorCursoAsync(cursoUsuario);
                }
                else
                {
                    throw;
                }
            }
        }