public ActionResult Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {

                ServicoAutenticacaoUsuario servicoAutenticacao = FabricaDeModulos.CriarServicoAutenticacao();

                Usuario usuarioAutenticado = servicoAutenticacao.AutenticarEBuscar(model.Email, model.Senha);

                if (usuarioAutenticado != null)
                {

                    ControladorDeSessao.CriarSessaoUsuario(usuarioAutenticado);

                    return RedirectToAction("Index", "Home");

                }
                else
                {
                    ModelState.AddModelError("ERRO_LOGIN", "Algum dos campos não está correto, arrume.");
                    return View("Index", model);
                }

            }
            else
            {
                ModelState.AddModelError("ERRO_LOGIN", "Algum dos campos não está correto, arrume.");
                return View("Index", model);
            }
        }
        public ActionResult Login(LoginModel login)
        {
            if (ModelState.IsValid)
            {
                ServicoAutenticacao servico = CriarModulos.CriarServicoAutenticacao();
                Usuario usuario = servico.verificaEmailESenha(login.Email, login.Senha);

                if (usuario != null)
                {
                    ControleDeSessao.CriarSessao(usuario);
                    return RedirectToAction("Index", "Home");
                }
            }
            ModelState.AddModelError("INVALID LOGIN", "Login ou Senha Inválidos!");
            return View("Index", login);
        }
        public ActionResult Login(LoginModel loginModel)
        {
            if (ModelState.IsValid)
            {
                ServicoAutenticacao servicoAutenticacao = FabricaDeModulos.CriarServicoAutenticacao();

                Usuario usuarioAutenticado = servicoAutenticacao.BuscarPorAutenticacao(loginModel.Email, loginModel.Senha);

                if (usuarioAutenticado != null)
                {
                    ControleDeSessao.CriarSessaoDeUsuario(usuarioAutenticado);
                    return RedirectToAction("Index", "Home");
                }
            }

            ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos.");
            return View("Index", loginModel);
        }
        public ActionResult Login(LoginModel loginModel)
        {
            if (ModelState.IsValid)
            {
                Autenticacao servicoAutenticacao = new Autenticacao(new UsuarioRepositorio(), new ServicoCriptografia() );

                Usuario usuarioAutenticado = servicoAutenticacao.BuscarPorAutenticacao(loginModel.Email, loginModel.Password);

                if (usuarioAutenticado != null)
                {
                    ControleDeSessao.CriarSessaoDeUsuario(usuarioAutenticado);
                    return RedirectToAction("Index", "Home");
                }
            }

            ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos.");
            return View("Index", loginModel);
        }
        public ActionResult Login(LoginModel loginModel)
        {
            if (ModelState.IsValid)
            {
                IUsuarioRepositorio repositorio = new UsuarioRepositorio();
                ServicoAutenticacao autenticador = FabricaDeModulos.CriarServicoAutenticacao();

                var usuarioAutenticado = autenticador.BuscarPorAutenticacao(loginModel.Usuario, loginModel.Senha);
                var autenticacaoEncontrada = usuarioAutenticado != null;

                if (autenticacaoEncontrada)
                {
                    ControleDeSessao.CriarSessaoDeUsuario(usuarioAutenticado);
                    return RedirectToAction("Index", "Home");
                }
            }

            ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos.");
            return View("Index", loginModel);
        }