/// <summary>
        /// Método responsável por cumprir o requisito de Autorizar Usuários Cadastrados em Aplicativos
        /// previamente cadastrados.
        ///     Quando chamado em GET - Retorna a tela de Autorizar Usuário
        ///     Quando chamado em POST - Retorna a tela de Cadastrar
        /// </summary>
        /// <returns>A tela de Cadastrar Aplicativo (GET) ou A tela de Index
        ///          podendo ou não conter uma mensamge de erro (Post)</returns>
        public ActionResult AutorizarUsuario(AutorizarUsuarioViewModel dados)
        {
            #region Decidir se deve proseguir com a requisição
            AutorizarUsuarioViewModel model = new AutorizarUsuarioViewModel();


            ActionResult urlRetorno = DecideUrlFormulários("/Autorizacao/AutorizarUsuario", model);
            if (urlRetorno != null)
            {
                if (usuario != null) // Usuario preenchido com os dados da seção na superclasse
                {
                    model = PreencheModel(model);
                }
                return(urlRetorno); // ação que deve ser retornada para o browser
            }
            #endregion


            IList <Autorizacao> autorizacoes = new List <Autorizacao>();
            dados.UsuarioLiberacao = usuario;
            autorizacoes           = dados.CriarModelo();

            IFachada <Autorizacao> fachada = new FachadaAdmWeb <Autorizacao>();
            string retorno;

            if (Request["Salvar"] != null)
            {
                retorno = fachada.SalvarTodos(autorizacoes);
            }
            else if (Request["Alterar"] != null)
            {
                retorno = fachada.AlterarTodos(autorizacoes);
            }
            else if (Request["Inativar"] != null)
            {
                Autorizacao auxiliar = new Autorizacao();
                auxiliar.OrgaoAutorizado = autorizacoes[0].OrgaoAutorizado;
                auxiliar.Usuario         = autorizacoes[0].Usuario;

                retorno = fachada.Excluir(autorizacoes[0]);
            }
            else
            {
                retorno = "Opção Inválida";
            }

            if (retorno != null) // se retornar null, é porque ocorreu tudo bem
            {
                ViewBag.Mensagem = retorno;
                model            = PreencheModel(autorizacoes, model);
                return(View(model));
            }

            ViewBag.Mensagem = "Autorizado com sucesso!";
            return(View("../Home/Index"));
        } // AutorizarUsuario