public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                UsuarioViewModel UsuarioLogado = null;

                using (var repositorio = new UsuarioRepositorio())
                {
                    var usuario = new UsuarioViewModel()
                    {
                        Login = model.Email,
                        Senha = model.Password
                    };

                    UsuarioLogado = repositorio.Autenticar(usuario);
                }

                if (UsuarioLogado.ID != Guid.Empty)
                {
                    string role = (UsuarioLogado.IsAdministrador ? "Admin" : "Cliente");

                    var authTicket = new FormsAuthenticationTicket(1, UsuarioLogado.Login, DateTime.Now, DateTime.Now.AddMinutes(20), false, role);

                    string encryptedTicket = FormsAuthentication.Encrypt(authTicket);

                    var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                    HttpContext.Response.Cookies.Add(authCookie);

                    Session["UsuarioLogado"] = UsuarioLogado;

                    return(RedirectToLocal(returnUrl));
                }
                else
                {
                    ModelState.AddModelError("Erro", "Usuario inválido!");
                }
            }
            return(View());
        }