Exemplo n.º 1
0
        //Método é chamado quando um valor é settado no viewmodel
        protected override void ToEntidade()
        {
            PaginaLoginModel vm      = (PaginaLoginModel)ViewModel;
            Usuario          usuario = new Usuario
            {
                Email = vm.Username,
                Senha = vm.Senha
            };

            Entidades[typeof(Usuario).Name] = usuario;
        }
Exemplo n.º 2
0
        //Método é chamado quando um valor é settado no dicionário de Entidades
        protected override void ToViewModel()
        {
            if (Entidades.Count > 0)
            {
                Usuario usuario = (Usuario)Entidades[typeof(Usuario).Name];

                PaginaLoginModel vm = new PaginaLoginModel
                {
                    Username = usuario.Email
                };

                _viewModel = vm;
            }
        }
Exemplo n.º 3
0
        public IActionResult Login(PaginaLoginModel usuario)
        {
            if (String.IsNullOrEmpty(usuario.Senha) || String.IsNullOrEmpty(usuario.Username))
            {
                ViewData["Alert"] = "Username e/ou senha incorreta.";
                return(View(new PaginaLoginModel {
                    Falhou = true
                }));
            }

            _vh = new PaginaLoginViewHelper
            {
                ViewModel = usuario
            };

            Cliente clienteLogin = new Cliente
            {
                Usuario = (Usuario)_vh.Entidades[typeof(Usuario).Name]
            };

            Cliente clienteDb = _facade.Query <Cliente>(
                c => c.Usuario.Email == clienteLogin.Usuario.Email,
                c => c,
                c => c.Usuario).FirstOrDefault();

            if (clienteDb != null)
            {
                if (GerenciadorLogin.comparaSenha(usuario.Senha, clienteDb.Usuario.Senha))
                {
                    HttpContext.SignInAsync(GerenciadorLogin.FazerLogin(clienteDb));

                    if (HttpContext.User.IsInRole("1") || HttpContext.User.IsInRole("2"))
                    {
                        return(RedirectToAction("Home", "Admin"));
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                ViewData["Alert"] = "Senha incorreta.";
                return(View(new PaginaLoginModel
                {
                    Username = clienteLogin.Usuario.Email,
                    Falhou = true
                }));
            }
            ViewData["Alert"] = "Username e/ou senha incorreta.";
            return(View(new PaginaLoginModel {
                Falhou = true
            }));
        }