Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WebMasterJr

Consulta 2 tabelas LINQ retorno FAIL

Recommended Posts

Bom Dia... estou tentando desde ontem fazer retornar uma resposta proposta mais falta uma parte que mostrarei no fonte abaixo:

 

 

        [HttpPost]
       public ActionResult LogIn(FormCollection collection)
       {
           string user = collection["user"], password = Crypto.Sha256Encrypt(collection["password"]);
           try
           {
               ModelContainer mc = MySqlContext.Entity();
               Usuario reguser = (from o in mc.Usuarios
                                  where (o.Login == user )
                                       && (o.Senha == password) && (o.Ativo == true)
                                  select o).First();

               Autenticacao auth = new Autenticacao();
               auth.Usuario = reguser;
               auth.Data = DateTime.Now;
               auth.IP = Request.ServerVariables["REMOTE_ADDR"];

               if (reguser != null)
               {
                   StateContext.Usuario = reguser;
               }
                   return RedirectToAction("Index");
           }
           catch
           {
               return View();
           }
       }

 

Esse codigo retorna EXATAMENTE da forma correta, ou seja, essa é uma pagina de login que encontrando o usuario correto no banco retorna uma pagina "Index" que ainda nao foi criada mas deve aparecer com erros mesmo. Só que o detalhe é que nao é só isso, foi proposto que além do nome de usuario do sistema, poderia-se entrar com o E-mail cadastrado tbm...

 

Esse é o real problema, pois tentei com Include, Join e todo tipo de formas possiveis eu tentei mais nao consegui resolver esse problema.. se alguem pudesse me ajudar agradeceria muito.

 

E ainda abaixo a forma com Include, lembrando que essa forma não sei se esta correta mais o Include foi feito de 2 formas:

 

        [HttpPost]
       public ActionResult LogIn(FormCollection collection)
       {
           string user = collection["user"], password = Crypto.Sha256Encrypt(collection["password"]);
           try
           {
               // include para fazer a busca nas outras entidades <Pessoas> e <Contatos>
               ModelContainer mc = MySqlContext.Entity();
               Usuario reguser = (from o in mc.Usuarios.Include("Pessoas.Contato")
                                  where (o.Login == user || o.Pessoa.Contato.Email == user)
                                       && (o.Senha == password) && (o.Ativo == true)
                                  select o).First();

               Autenticacao auth = new Autenticacao();
               auth.Usuario = reguser;
               auth.Data = DateTime.Now;
               auth.IP = Request.ServerVariables["REMOTE_ADDR"];

               if (reguser != null)
               {
                   StateContext.Usuario = reguser;
               }
                   return RedirectToAction("Index");
           }
           catch
           {
               return View();
           }
       }

 

E assim tbm ja foi feito e testa e o mesmo resultado: NÃO FUNCIONOU:

 

Usuario reguser = (from o in mc.Usuarios.Include("Pessoas").Include("Contato")
                                  where (o.Login == user || o.Pessoa.Contato.Email == user)
                                       && (o.Senha == password) && (o.Ativo == true)
                                  select o).First();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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