Example #1
0
        public async Task <IActionResult> RecuperarSenha([FromBody] RecebeEmailViewModel email)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var recuperarSenhaResposta = await _loginService.RecuperarSenha(email);

            if (recuperarSenhaResposta.ExibicaoMensagem != null)
            {
                return(StatusCode(recuperarSenhaResposta.ExibicaoMensagem.StatusCode, recuperarSenhaResposta));
            }

            return(Ok(recuperarSenhaResposta));
        }
Example #2
0
        public async Task <RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid> > RecuperarSenha(RecebeEmailViewModel email)
        {
            var pessoa        = _pessoaRepository.GetSingleOrDefault(x => x.Email == email.Email && x.Status);
            var usuarioPessoa = _usuarioRepository.GetSingleOrDefault(x => x.Login == email.Email && x.Ativo);

            RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid> retornoController = new RetornoControllerViewModel <ExibicaoMensagemViewModel, Guid>();

            if (pessoa == null)
            {
                ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel
                {
                    Cabecalho     = "E-mail inválido",
                    MensagemCurta = "E-mail inválido",
                    Detalhes      = "Este e-mail já está sendo utilizado.",
                    StatusCode    = StatusCodes.Status400BadRequest
                };

                retornoController.ExibicaoMensagem = exibicaoMensagem;
                return(retornoController);
            }

            if (usuarioPessoa != null && usuarioPessoa.Senha == null)
            {
                //var ultimoConvite = _conviteRepository.Find(x => x.Email == pessoa.Email).OrderByDescending(x => x.DataCriacao).FirstOrDefault();
                //var convite = await _pessoaService.CriarConvite(pessoa, pessoa.Id, ultimoConvite.IdOrganizacao);
                //var linkConvite = await _envioEmailService.GerarLink(convite.ConvitesHistorico.FirstOrDefault().Id,
                //                                        convite.ConvitesHistorico.FirstOrDefault().Token, "registro-pessoa");

                //var envioConvite = await _envioEmailService.EnvioConvite(convite, linkConvite);
                ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel
                {
                    Cabecalho     = "E-mail não ativado",
                    MensagemCurta = "Processo de Ativação de Cadastro em andamento",
                    Detalhes      = "Este e-mail não foi ativado por um convite",
                    StatusCode    = StatusCodes.Status200OK
                };

                retornoController.ExibicaoMensagem = exibicaoMensagem;
                return(retornoController);
            }

            //criar resetarPassword
            var recuperarSenha = await CriarRegRecuperarSenha(pessoa);

            if (recuperarSenha == null)
            {
                ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel
                {
                    Cabecalho     = "Erro ao criar registro Recuperar Senha",
                    MensagemCurta = "Erro ao criar registro Recuperar Senha",
                    Detalhes      = "Não foi possível criar registro para Recuperar Senha.",
                    StatusCode    = StatusCodes.Status204NoContent
                };

                retornoController.ExibicaoMensagem = exibicaoMensagem;
                return(retornoController);
            }

            //pegar link do convite
            //var linkRecuperarSenha = await _envioEmailService.GerarLink(recuperarSenha.Id,
            //                                            recuperarSenha.Token, "recupera-senha");

            ////emailService
            //var envioRecuperarSenha = await _envioEmailService.EnvioRecuperarSenha(recuperarSenha, linkRecuperarSenha);

            //if (envioRecuperarSenha.Resposta == false)
            //{
            //ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel
            //{
            //    Cabecalho = "Erro ao enviar convite",
            //    MensagemCurta = "Erro ao enviar convite",
            //    Detalhes = envioRecuperarSenha.Mensagem,
            //    StatusCode = StatusCodes.Status500InternalServerError
            //};

            retornoController.ExibicaoMensagem = new ExibicaoMensagemViewModel();    //exibicaoMensagem;

            //    recuperarSenha.NotificacaoFoiEnviada = envioRecuperarSenha.Resposta;
            //    recuperarSenha.MensagemResultadoNotificacao = envioRecuperarSenha.Mensagem;

            //return retornoController;
            //}

            //recuperarSenha.NotificacaoFoiEnviada = envioRecuperarSenha.Resposta;
            //recuperarSenha.MensagemResultadoNotificacao = envioRecuperarSenha.Mensagem;

            await _unitOfWork.SaveAsync();

            retornoController.Objeto = recuperarSenha.Id;

            return(retornoController);
        }