public async Task Criar(UsuarioDto usuarioDto) { var usuarioCadastrado = await _usuarioRepository.ObterAsync(usuarioDto.Email, usuarioDto.Matricula, usuarioDto.Documento); ValidarUsuarioCadastrado(usuarioDto, usuarioCadastrado); if (Invalid) { return; } var endereco = new Endereco(usuarioDto.Endereco.Logradouro, usuarioDto.Endereco.Numero, usuarioDto.Endereco.Bairro, usuarioDto.Endereco.Cep, usuarioDto.Endereco.Cidade, usuarioDto.Endereco.UF, usuarioDto.Endereco.Complemento, usuarioDto.Endereco.PontoReferencia); var usuario = new Usuario(usuarioDto.Matricula, usuarioDto.Email, usuarioDto.Nome, usuarioDto.Perfil, endereco, usuarioDto.Telefone, usuarioDto.DataNascimento, usuarioDto.Documento); try { await _usuarioRepository.CriarAsync(usuario); } catch (Exception ex) { AddNotification("CadastrarUsuario", MensagemValidacao.ContacteSuporte); return; } _emailService.AdicionarDestinatario(usuario.Email, usuario.Nome); await _emailService.EnviarEmailCadastroUsuario(usuario); }
public async Task AprovarAgendamento(AgendamentoAprovacaoDto aprovacaoDto, Guid aprovadorId) { var agendamento = await _agendamentoRepository.ObterAsync(aprovacaoDto.AgendamentoId); var aprovador = await _usuarioService.Obter(aprovadorId); ValidarAprovadorAgendamento(agendamento, aprovador); if (Invalid) { return; } agendamento.AtualizarAgendamento(aprovador.Id, aprovacaoDto.Status, aprovacaoDto.Justificativa); await _agendamentoRepository.EditarAsync(agendamento); _emailService.AdicionarDestinatario(agendamento.Usuario.Email, agendamento.Usuario.Nome); await _emailService.EnviarEmailAprovacaoAgendamento(agendamento); }