コード例 #1
0
        public async Task <RespostaApi> Executar(NovaSenhaDto novaSenhaDto)
        {
            var usuario = await mediator.Send(new ObterUsuarioQuery()
            {
                Id = novaSenhaDto.Id
            });

            if (usuario == null)
            {
                throw new NegocioException("Usuário não encontrado");
            }

            if (!usuario.PrimeiroAcesso)
            {
                throw new NegocioException("Somente é possivel utilizar essa função quando for o primeiro acesso do usuário");
            }

            var usuarioCoreSSO = await mediator.Send(new ObterUsuarioCoreSSOQuery(usuario.Cpf));

            await CriarUsuarioOuAssociarGrupo(mediator, novaSenhaDto, usuario, usuarioCoreSSO);

            var atualizarPrimeiroAcesso = MapearAtualizarPrimeiroAcessoCommand(usuario);

            await mediator.Send(atualizarPrimeiroAcesso);

            await IncluirSenhaHistorico(usuario.Cpf);

            return(RespostaApi.Sucesso());
        }
コード例 #2
0
        private async Task AssociarGrupoEAlterarSenha(NovaSenhaDto novaSenhaDto, RetornoUsuarioCoreSSO usuarioCoreSSO)
        {
            usuarioCoreSSO.AlterarSenha(novaSenhaDto.NovaSenha);

            await mediator.Send(new AssociarGrupoUsuarioCommand(usuarioCoreSSO));

            await mediator.Send(new AlterarSenhaUsuarioCoreSSOCommand(usuarioCoreSSO.UsuId, usuarioCoreSSO.Senha));
        }
コード例 #3
0
 private async Task CriarUsuarioOuAssociarGrupo(NovaSenhaDto novaSenhaDto, Dominio.Entidades.Usuario usuario, RetornoUsuarioCoreSSO usuarioCoreSSO, string nomeUsuario)
 {
     if (usuarioCoreSSO != null)
     {
         await AssociarGrupoEAlterarSenha(novaSenhaDto, usuarioCoreSSO);
     }
     else
     {
         await CriarUsuario(novaSenhaDto, usuario, nomeUsuario);
     }
 }
コード例 #4
0
 private async Task CriarUsuarioOuAssociarGrupo(IMediator mediator, NovaSenhaDto novaSenhaDto, Dominio.Entidades.Usuario usuario, RetornoUsuarioCoreSSO usuarioCoreSSO)
 {
     if (usuarioCoreSSO != null)
     {
         await AssociarGrupoEAlterarSenha(mediator, novaSenhaDto, usuarioCoreSSO);
     }
     else
     {
         await CriarUsuario(mediator, novaSenhaDto, usuario);
     }
 }
コード例 #5
0
 private CriarUsuarioCoreSSOCommand MapearCriarUsuarioCoreSSOCommand(NovaSenhaDto novaSenhaDto, Dominio.Entidades.Usuario usuario, string nomeUsuario)
 {
     return(new CriarUsuarioCoreSSOCommand()
     {
         Usuario = new UsuarioCoreSSODto
         {
             Cpf = usuario.Cpf,
             Nome = nomeUsuario,
             Senha = novaSenhaDto.NovaSenha,
         }
     });
 }
コード例 #6
0
        private async Task CriarUsuario(NovaSenhaDto novaSenhaDto, Dominio.Entidades.Usuario usuario, string nomeUsuario)
        {
            var comandoCriaUsuario = MapearCriarUsuarioCoreSSOCommand(novaSenhaDto, usuario, nomeUsuario);

            await mediator.Send(comandoCriaUsuario);
        }
コード例 #7
0
 public async Task <ActionResult <RespostaApi> > PrimeiroAcesso([FromBody] NovaSenhaDto novaSenhaDto, [FromServices] IPrimeiroAcessoUseCase criarUsuarioPrimeiroAcessoUseCase)
 {
     return(Ok(await criarUsuarioPrimeiroAcessoUseCase.Executar(novaSenhaDto)));
 }