public ActionResult Cadastro(FormLogin model)
 {
     FormLogin retorno = new FormLogin();
     try
     {
         UsuarioModel usuario = new UsuarioModel();
         usuario.Apelido = model.ApelidoCadastro;
         usuario.Email = model.EmailNovoCadastro;
         usuario.Password = model.SenhaCadastro;
         usuario.ConfirmacaoSenha = model.ConfirmaSenha;
         new UsuarioProcesso().CadastrarNovo(usuario);
         return Redirect("/");
     }
     catch (CadastroException ex)
     {
         retorno.MensagemRetornoCadastro = ex.Message;
         return View("Login", retorno);
     }
     catch (Exception ex)
     {
         //retorno.MensagemRetorno = ex.Message;
         retorno.MensagemRetornoCadastro = "Erro ao processar a solicitação!";
         return View("Login", retorno);
     }
 }
 public ActionResult Logout()
 {
     UsuarioModel usuario = new UsuarioModel();
     AtualizarUsuarioSessao(usuario);
     return Redirect("/");
 }
 public ActionResult ValidarUsuario(int CodigoUsuario, string Token)
 {
     FormValidarUsuario retorno = new FormValidarUsuario();
     try
     {
         UsuarioModel model = new UsuarioModel();
         model.Id = CodigoUsuario;
         model.Token = Token;
         new UsuarioProcesso().ValidarUsuario(model);
         return View("ValidarUsuario", retorno);
     }
     catch (CadastroException ex)
     {
         retorno.MensagemRetorno = ex.Message;
         return View("ValidarUsuario", retorno);
     }
     catch (Exception ex)
     {
         //retorno.MensagemRetorno = ex.Message;
         retorno.MensagemRetorno = "Erro ao processar a solicitação!";
         return View("ValidarUsuario", retorno);
     }
 }
 public ActionResult ResetarSenha(FormResetarSenha model)
 {
     if (ModelState.IsValid)
     {
         FormResetarSenha retorno = new FormResetarSenha();
         try
         {
             UsuarioModel usuario = new UsuarioModel();
             usuario.Token = model.Token;
             usuario.Id = model.CodigoUsuario;
             usuario.Password = model.NovaSenha;
             usuario.ConfirmacaoSenha = model.NovaSenhaConfirma;
             new UsuarioProcesso().AlterarSenhaToken(usuario);
             retorno.MensagemRetorno = "Senha alterada com sucesso!";
             return View("ResetarSenha", retorno);
         }
         catch (CadastroException ex)
         {
             retorno.MensagemRetorno = ex.Message;
             return View("ResetarSenha", retorno);
         }
         catch (Exception ex)
         {
             retorno.MensagemRetorno = "Erro ao processar a solicitação!";
             return View("ResetarSenha", retorno);
         }
     }
     return Redirect("/Erro");
 }
 protected void AtualizarUsuarioSessao(UsuarioModel model)
 {
     Session["UsuarioAutenticado"] = model;
 }
 protected UsuarioModel RecuperarUsuarioSessao()
 {
     UsuarioModel retorno;
     retorno = Session["UsuarioAutenticado"] as UsuarioModel;
     if (retorno == null)
         retorno = new UsuarioModel();
     return retorno;
 }