Ir para conteúdo
rtavix

[Resolvido] Consultar Login

Recommended Posts

Estou com problemas ao realizar a consulta por login da minha aplicação, o mesmo me retorna o seguinte erro:

 

Referência de objeto não definida para uma instância de um objeto.

 

StrackTrace:

   em SDPJDominio.DataAccess.UsuarioDAO.ConsultarPorLogin(String login) na D:\Repositório SVN\SDP\SDPJ\branches\SDPJ-V3.1.0\SDPJ-102\SDPJDominio\DataAccess\UsuarioDAO.cs:linha 91
   em SDPJDominio.APL.AplUsuario.buscaPorLogin(String login) na D:\Repositório SVN\SDP\SDPJ\branches\SDPJ-V3.1.0\SDPJ-102\SDPJDominio\APL\AplUsuario.cs:linha 37
   em SDPJView.ImportacaoProcessoView.ImportacaoProcesso.importar_Click(Object sender, EventArgs e) na D:\Repositório SVN\SDP\SDPJ\branches\SDPJ-V3.1.0\SDPJ-102\SDPJView\ImportacaoProcessoView\ImportacaoProcesso.aspx.cs:linha 148
   em System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   em System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
   em System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   em System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   em System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   em System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

Alguém poderia me dizer que erro é esse? nunca vi isso :/

 

o erro cai nessa linha ao compilar:

 public static Usuario ConsultarPorLogin(string login)
        {
            ISession sessao = NhibernateHelper.SessaoCorrente;
            Usuario usuario = null;
            try
            {
                usuario = new Usuario();
                ICriteria criterios = sessao.CreateCriteria(usuario.GetType());
                criterios.Add(NHibernate.Criterion.Expression.Eq("Login", login));
                usuario = criterios.UniqueResult() as Usuario;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return usuario;
        }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é a linha 91 de UsuarioDAO.cs?

Compartilhar este post


Link para o post
Compartilhar em outros sites
34 minutos atrás, Gabriel Heming disse:

Qual é a linha 91 de UsuarioDAO.cs?

 

Usuario.Dao eu faço a consulta:

public static Usuario ConsultarPorLogin(string login)
        {
            ISession sessao = NhibernateHelper.SessaoCorrente;
            Usuario usuario = null;
            try
            {
                usuario = new Usuario();
                
                ICriteria criterios = sessao.CreateCriteria(usuario.GetType());
                criterios.Add(NHibernate.Criterion.Expression.Eq("Login", login));
                usuario = criterios.UniqueResult() as Usuario;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return usuario;
        }

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
37 minutos atrás, Gabriel Heming disse:

Qual é a linha 91 de UsuarioDAO.cs?

Já no aplUsuário, utilizo para gravar:

 

namespace SDPJDominio.APL
{
    public class AplUsuario
    {
        public void gravar(Usuario usuario)
        {
            UsuarioDAO.InserirOuAtualizar(usuario);
        }

        public List<Usuario> listaTodos()
        {
            return UsuarioDAO.ListarTodos();
        }

        public void deletar(Usuario usuario)
        {
            UsuarioDAO.Deletar(usuario);
        }

        public Usuario buscaItem(int idUsuario)
        {
            return UsuarioDAO.ConsultaPorId(idUsuario);
        }

        public Usuario buscaPorLogin(string login)
        {
            Usuario usuario = null;
            if (!String.IsNullOrEmpty(login))
            {
                usuario = UsuarioDAO.ConsultarPorLogin(login);
            }
            return usuario;
        }
    }
}

porém no banco ao verificar na tabela log de atividade, não está salvando o log de atividade do usuário. 

 

Esse é meu código de atividade:

 

namespace SDPJDominio.APL
{
    public class AplLogAtividade
    {
        public void gravar(LogAtividade logAtividade)
        {
            LogAtividadeDAO.InserirOuAtualizar(logAtividade);
        }

        public List<LogAtividade> listaTodos()
        {
            return LogAtividadeDAO.ListarTodos();
        }

        public void deletar(LogAtividade logAtividade)
        {
            LogAtividadeDAO.Deletar(logAtividade);
        }

        public List<LogAtividade> buscarItem(DateTime dataInicio, DateTime dataFim, String login, string termo)
        {
            return LogAtividadeDAO.ListarTodos(dataInicio, dataFim, login, termo);
        }

        public void LogarAtividade(Usuario usuario, string descricao, DateTime dataAcao)
        {
            LogAtividade logAtividade = new LogAtividade();
            logAtividade.Usuario = usuario;
            logAtividade.Descricao = descricao;
            logAtividade.DataAcao = dataAcao;

            gravar(logAtividade);
        }

        public void LogarAtividade_(Usuario usuario, string descricao)
        {
            LogAtividade logAtividade = new LogAtividade();
            logAtividade.Usuario = usuario;
            logAtividade.Descricao = descricao;
            logAtividade.DataAcao = DateTime.Now;

            gravar(logAtividade);
        }
    }
}

Aqui é aonde eu chamado meu log:

 

if (listaLogsAuditoria.Count != 0)
                                {
                                    foreach (var item in listaLogsAuditoria)
                                    {
                                        aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), item, DateTime.Now);
                                        
                                    }
                                }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Jonathacsantos
      Boa tarde, sou novo na programação, comecei por conta própria e agora estou com um pequeno problema, meu programa depende de uma pasta criada pra executar um .exe que fica dentro de uma outra pasta, sendo que eu preciso que ele leia o .exe independente de onde ele fica instalado, vou mostrar uma parte do código para tentar explicar 
      private void AcessRemo_Click(object sender, EventArgs e) { foreach ( var process in Process.GetProcessesByName("TeamViewer")) { process.Kill(); } Process.Start("C:\\Teste\\suporteremoto.exe"); ele fecha um teamviewer em execução e executa uma versão especifica do teamviewer, sendo que nos meus testes funciona pq eu tenho essa pasta ai chamada teste, mas o programa instala em Program Files, sendo que se for 64, ele vai pra Program Files (x86), dai gostaria de fazer ele ler, tipo um [LocalPath] , mas não sei como , se alguem puder me ajudar ou me da uma luz eu agradeço muito.
    • Por lucasrodrigues
      Estou com esse problema ao tentar vincular uma tabela do MySql a um DataSet. Utilizo o MySqlConnector 8.0.13, MySql-For-VisualStudio 1.2.8.

    • Por jtc-carr
      Linguagem c
      Queria a partir de um ficheiro fazer varias somas do seu conteúdo por exemplo de caracteres especiais, vogais, letra "a" , números, De forma a que devolve-se por exemplo 5 linhas, 4 caracteres especiais, 7 vogais, 9 "a", 6 numeros, num total de 40 caracteres, para os numeros fiz um if, para a função mas não funciona como devia
      while( (texto[MAX]=fgetc(textos))!= EOF ) if(texto[MAX] == '\n') linha++; printf("Existem %d linhas no arquivo\n", linha); if (i == '0' || i == '1' || i == 2' || i == '3' || i == '4' || i == '5' || i == 6' || i == '7' || i == '8'|| i == '9' ) Ajuda seria bem vinda, que queria perceber bem isto
    • Por Maicon Santos
      Foi me passada a tarefa de fazer um sistema onde o usuário (funcionário 1) (Funcionário da empresa X) irá fazer um cadastro com suas informações, após esse cadastro essas informações serão avaliadas por outro funcionário (funcionário 2) da empresa X que fica responsável apenas por verificar as informações desse usuário e dar permissões a ele. Até então é um sistema simples de cadastro.
      Após o funcionário 1 fazer o cadastro o funcionário 2 avaliará essas informações para ver se esse usuário pode ter acesso a conta bancária da empresa. (Pera! Como assim?) Exatamente isso, o usuário vai se cadastrar e se ele for apto a acessar a conta bancária da empresa o sistema terá que fazer o login na conta bancária da empresa, ou seja o sistema deve apenas verificar os dados do funcionário 1, se ele for apto abrir a conta da empresa o sistema terá que passar os dados pelo internet banking do Santander.
       
      Um outro exemplo que talvez facilite entender:
      Os funcionários 1, 2 e 3 trabalham juntos gerenciando as finanças da empresa, então todos eles precisam acessar a conta bancaria da empresa, mas o gerente para não ter que passar o login e senha para eles quer que o sistema faça esse login, sem que os funcionários saibam esses devidos dados, então os funcionários farão um cadastro no sistema e após fazer o login no mesmo eles automaticamente fazem o login na conta do Santander da empresa
       
      Basicamente isso, minhas dúvidas até o momento:
      Isso é realmente possível? Fazer o login no internet banking, que tem a função de ser muito seguro, através de um outro sistema
      Eu tenho a disponibilidade para escolher entre fazer um sistema desktop (usando C#, que eu tenho mais domínio) ou fazer um sistema WEB (que eu não possuo tanto domínio assim das linguagens), para fazer esse tipo de trabalho, o que seria mais indicado?
      Quais dicas vocês podem me dar para essa tarefa? Eu trabalho na área de desenvolvimento a pouco tempo, por isso não tenho muito conhecimento de sistemas desse nível, qualquer direção será de grande ajuda.
      Grato!
    • Por Master_Cyber
      Bom noite pessoal... Estou fazendo um bot que se comunica com o QnaMaker, e dependendo da resposta, deverá ser aberto uma conversação guiada através do FormFlow com uso  do Json.
      Meu problema é exatamente neste ponto para conseguir abrir o formulário.
      Estou usando a SDK V3 e o QnAMakerDialog do garypretty.
      Resumidamente neste ponto devo fazer algo para iniciar o form.
      public override async Task DefaultMatchHandler(IDialogContext context, string originalQueryText, QnAMakerResult result) {     QnaAnswer a = result.Answers.First();     var messageActivity = ProcessResultAndCreateMessageActivity(context, ref result);          if (a.Answer == "form")     {         // ABRIR FORM AQUI     }          await context.PostAsync(messageActivity);     context.Wait(MessageReceived); }  
      Já tentei várias coisas como chamar context.Forward ou context.Call, mas não da certo,  talvez eu esteja chamando de forma errada.
      Sempre retorna a mensagem dizendo que existe um problema no código fonte.
      Vocês podem me ajudar?
      Obrigado!!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.