コード例 #1
0
        public async Task <ActionResult <object> > NovaSenha([FromQuery] QpNovaSenha parametros)
        {
            if (parametros.Documento == null || parametros.DataNascimento == null || parametros.Senha == null)
            {
                return(BadRequest());
            }

            try
            {
                return(Ok(await _service.NovaSenha(parametros)));
            }
            catch (Exception exception)
            {
                return(BadRequest(exception));
            }
        }
コード例 #2
0
ファイル: LoginService.cs プロジェクト: sergioramoshc/webApi
        public async Task <object> NovaSenha(QpNovaSenha parametros)
        {
            TblDocumentos documento = await _documentosService.GetByDocumento(parametros.Documento);

            if (documento != null)
            {
                TblPessoas pessoa = await _pessoasService.GetById(documento.NIdPessoa);

                if (pessoa.DNascimento == parametros.DataNascimento)
                {
                    var    plainTextBytes     = Encoding.UTF8.GetBytes(parametros.Senha);
                    string encodedText        = Convert.ToBase64String(plainTextBytes);
                    string senhaCriptografada = encodedText;

                    TblSenhas senha = new TblSenhas {
                        NIdPessoa = pessoa.NIdPessoa, SSenha = senhaCriptografada
                    };

                    try
                    {
                        bool senhaCriada = (await _senhasService.Create(senha) != null);

                        if (senhaCriada)
                        {
                            return(_tokenService.CreateToken(pessoa.NIdPessoa));
                        }
                        else
                        {
                            throw new ArgumentException("Falha ao criar senha.", "mensagem");
                        }
                    }
                    catch (Exception exception)
                    {
                        throw new ArgumentException(exception.Message, "mensagem");
                    }
                }
                else
                {
                    throw new ArgumentException("Data de nascimento inválida.", "mensagem");
                }
            }
            else
            {
                throw new ArgumentException("Documento não localizado.", "mensagem");
            }
        }