preciso pegar o ID de um usuário já logado na aplicação para criar um outro produto. Como faço isso ?
Então, eu logo, e com o email e senha logada, quero descobrir o ID logado para quando eu cadastrar o carro, ele puxar esse ID e cadastrar. Já tentei usar o Thread.CurrentPrincipal.Identity.IsAuthenticated, Environment.UserName e o WindowsIdentity.GetCurrent() mas esses só pegam o nome da pessoa logada no windows, não no aplicativo.
Login
Empresa empresa = new Empresa(); empresa.Email = txtEmail.Text; empresa.Senha = txtSenha.Text; if(EmpresaDAO.BuscarEmpresaPorEmailESenha(empresa) != null) { empresa = EmpresaDAO.BuscarEmpresaPorEmailESenha(empresa); this.Close(); MenuEmpresa menuEmpresa = new MenuEmpresa(); menuEmpresa.ShowDialog(); }
Cadastro do Carro
try { if (WindowsIdentity.GetCurrent().IsAuthenticated) { empresa.Email = WindowsIdentity.GetCurrent().Name; } carro.Empresa = EmpresaDAO.BuscarEmpresaPorEmail(empresa); carro.Nome = txtNome.Text; carro.Cambio = txtCambio.Text; carro.Cor = txtCor.Text; carro.Marca = txtMarca.Text; carro.Quilometragem = txtQuilometragem.Text; carro.Placa = txtPlaca.Text; carro.Portas = int.Parse(txtPorta.Text); carro.Ano = int.Parse(txtPorta.Text); carro.Preco = txtPreco.Text; CarroDAO.Incluir(carro); MessageBox.Show("O cadastro do carro: " + carro.Nome + " foi concluido com sucesso", "Cadastrado"); }
Tentei fazer o máximo igual possível ao do asp.NET, porque não entendi como vou fazer isso em C#.
ASP.NET
Usuario usu = new Usuario(); ItemVenda itemv = new ItemVenda(); if (Request.IsAuthenticated) { usu.Login = HttpContext.User.Identity.Name; } venda.Usuario = UsuarioDAO.BuscarUsuarioPorLogin(usu);