コード例 #1
0
        //public async Task<bool> AssociarContaGoogle(AssociaContaGoogleViewModel modelo)
        //{
        //    var conviteHistorico = await _conviteHistoricoRepository.PegarConvitesHistoricoComConvite(x => x.Id == modelo.IdConviteHistorico);
        //    var usuario = _usuarioRepository.PegarUsuarioLogin(x => x.Login == conviteHistorico.Convite.Email);

        //    try
        //    {
        //        if (conviteHistorico != null)
        //        {
        //            conviteHistorico.Convite.PessoaCriada = usuario.Organizacoes.FirstOrDefault(x => x.IdOrganizacao == conviteHistorico.IdOrganizacao)?.Pessoa;
        //            conviteHistorico.Convite.Status = ConviteStatusEnum.Inativo;
        //        }

        //        if (usuario == null)
        //        {
        //            return false;
        //        }

        //        ValidationSettings validation = new ValidationSettings()
        //        {
        //            ForceGoogleCertRefresh = true,
        //            Audience = null,
        //            IssuedAtClockTolerance = TimeSpan.FromMinutes(5),
        //            ExpirationTimeClockTolerance = TimeSpan.FromMinutes(5)
        //        };

        //        var resposta = await GoogleJsonWebSignature.ValidateAsync(modelo.UsuarioSocial.IdToken, validation);

        //        if (resposta == null || resposta.Email != usuario.Login)
        //        {
        //            return false;
        //        }

        //        var pessoa = await _pessoaRepository.GetPorIdComUsuario(conviteHistorico.Convite.PessoaCriada.Id, conviteHistorico.IdOrganizacao);
        //        pessoa.Nome = resposta.Name;
        //        pessoa.Foto = resposta.Picture;

        //        _pessoaRepository.Update(pessoa);
        //        _pessoaRepository.Save();

        //        await AdicionaNaOrganizacaoDoConvite(conviteHistorico.IdOrganizacao, usuario, conviteHistorico.ResponsavelCriacao, conviteHistorico.Convite.IdPessoaCriada);

        //        _conviteHistoricoRepository.Update(conviteHistorico);
        //        _conviteHistoricoRepository.Save();
        //        return true;
        //    }
        //    catch (Exception error)
        //    {
        //        return false;
        //    }
        //}

        public async Task <InserirSenhaResultadoViewModel> InserirSenha(InserirSenhaViewModel modelo)
        {
            //var conviteHistorico = await _unitOfWork.GetRepositoryAsync<ConviteHistorico>().GetOne(x => x.Id == modelo.IdConviteHistorico);

            //var usuario = _usuarioRepository.PegarUsuarioLogin(x => x.Login == conviteHistorico.Convite.Email);

            var recuperarSenha = new RecuperarSenha();

            //recuperarSenha.DataSolicitacao = DateTime.Now;
            //recuperarSenha.DataExpiracao = await _tokenService.CalculaExpiracao();
            //recuperarSenha.Ativo = true;
            //recuperarSenha.Token = await _tokenService.GerarToken();
            //recuperarSenha.Pessoa = usuario.Organizacoes.FirstOrDefault(x => x.IdOrganizacao == conviteHistorico.IdOrganizacao)?.Pessoa;

            await _unitOfWork.GetRepositoryAsync <RecuperarSenha>().Insert(recuperarSenha);

            await _unitOfWork.SaveAsync();

            // Inativa a requisição corrente, no entanto, marca o usuário gerado a partir dessa requisição
            //if (conviteHistorico != null)
            //{
            //    conviteHistorico.Convite.PessoaCriada = usuario.Organizacoes.FirstOrDefault(x => x.IdOrganizacao == conviteHistorico.IdOrganizacao)?.Pessoa;
            //    conviteHistorico.Convite.Status = ConviteStatusEnum.Inativo;
            //}

            var Senha = await _unitOfWork.GetRepositoryAsync <RecuperarSenha>().GetOne(x => x.Pessoa.Email == recuperarSenha.Pessoa.Email &&
                                                                                       x.Token == recuperarSenha.Token);

            modelo.IdRecuperarSenha = Senha.Id;

            //await AdicionaNaOrganizacaoDoConvite(conviteHistorico.IdOrganizacao, usuario, conviteHistorico.ResponsavelCriacao, conviteHistorico.Convite.IdPessoaCriada);

            return(await TrocarSenha(modelo.IdRecuperarSenha, modelo.NovaSenha));
        }
コード例 #2
0
ファイル: LoginController.cs プロジェクト: jonassilva4899/nqs
        public async Task <IActionResult> InserirSenha([FromBody] InserirSenhaViewModel modelo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            if (modelo.NovaSenha != modelo.ConfirmacaoNovaSenha)
            {
                return(BadRequest());
            }

            var resposta = await _loginService.InserirSenha(modelo);

            return(Ok(resposta));
        }