//Persistir o objecto e salvar na base de dados
        private bool inserir(AcessoRecursoAcao OAcessoRecursoAcao)
        {
            OAcessoRecursoAcao.setDefaultInsertValues <AcessoRecursoAcao>();
            db.AcessoRecursoAcao.Add(OAcessoRecursoAcao);
            db.SaveChanges();

            return(OAcessoRecursoAcao.id > 0);
        }
        //Persistir o objecto e atualizar informações
        private bool atualizar(AcessoRecursoAcao OAcessoRecursoAcao)
        {
            OAcessoRecursoAcao.setDefaultUpdateValues <AcessoRecursoAcao>();

            //Localizar existentes no banco
            AcessoRecursoAcao dbAcessoRecursoAcao = this.carregar(OAcessoRecursoAcao.id);
            var AcessoRecursoAcaoEntry            = db.Entry(dbAcessoRecursoAcao);

            AcessoRecursoAcaoEntry.CurrentValues.SetValues(OAcessoRecursoAcao);
            AcessoRecursoAcaoEntry.ignoreFields <AcessoRecursoAcao>();

            db.SaveChanges();
            return(OAcessoRecursoAcao.id > 0);
        }
        //Realizar os tratamentos necessarios
        //Salvar um novo registro
        //Verificar se deve-se atualizar um registro existente ou criar um novo
        public bool salvar(AcessoRecursoAcao OAcessoRecursoAcao)
        {
            bool flagSucesso = false;

            if (OAcessoRecursoAcao.id == 0)
            {
                flagSucesso = this.inserir(OAcessoRecursoAcao);
            }
            else
            {
                flagSucesso = this.atualizar(OAcessoRecursoAcao);
            }

            return(flagSucesso);
        }
        //Exclusao logica
        public UtilRetorno excluir(int id)
        {
            AcessoRecursoAcao OAcessoRecursoAcao = this.carregar(id);

            if (OAcessoRecursoAcao == null)
            {
                return(UtilRetorno.newInstance(true, "O registro informado não foi localizado."));
            }

            OAcessoRecursoAcao.flagExcluido = "S";
            OAcessoRecursoAcao.dtAlteracao  = DateTime.Now;
            this.db.SaveChanges();

            return(UtilRetorno.newInstance(false, "O registro foi removido com sucesso."));
        }
Exemple #5
0
        public ActionResult editarAction(int idRecursoGrupo, int idRecursoPai, string descricaoAcao, string controleAcao, string nomeAcao, string metodoAcao)
        {
            var OAcessoRecursoAcao = new AcessoRecursoAcao {
                idRecursoGrupo = idRecursoGrupo, idRecursoPai = idRecursoPai, descricao = descricaoAcao, controller = controleAcao, action = nomeAcao, method = metodoAcao
            };

            var Validacao = this.OAcessoRecursoAcaoBL.validar(OAcessoRecursoAcao);

            if (User.idPerfil() != PerfilAcessoConst.DESENVOLVEDOR)
            {
                return(Json(new { error = true, message = "Você não tem permissao para realizar essa operação." }));
            }

            if (!Validacao.flagError)
            {
                this.OAcessoRecursoAcaoBL.salvar(OAcessoRecursoAcao);
            }

            string message = Validacao.listaErros.Count == 0 ? "" : String.Join("<br />", Validacao.listaErros);

            return(Json(new { error = Validacao.flagError, message = message }));
        }
        //validar registro
        public UtilRetorno validar(AcessoRecursoAcao OAcessoRecursoAcao)
        {
            if (OAcessoRecursoAcao.idRecursoPai == 0 && OAcessoRecursoAcao.idRecursoGrupo == 0)
            {
                return(UtilRetorno.newInstance(true, "O módulo ou menu não foi informado."));
            }

            if (String.IsNullOrEmpty(OAcessoRecursoAcao.descricao))
            {
                return(UtilRetorno.newInstance(true, "O descrição da ação não foi informada."));
            }

            if (String.IsNullOrEmpty(OAcessoRecursoAcao.controller))
            {
                return(UtilRetorno.newInstance(true, "O controlador da ação não foi informada."));
            }

            if (String.IsNullOrEmpty(OAcessoRecursoAcao.action))
            {
                return(UtilRetorno.newInstance(true, "O nome da ação não foi informada."));
            }

            return(UtilRetorno.newInstance(false, ""));
        }