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}"); } }
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); }
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; } } }