예제 #1
0
        public ActionResult salvarRecurso(AcessoRecursoForm ViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("editar-recurso", ViewModel));
            }

            if (User.idPerfil() != PerfilAcessoConst.DESENVOLVEDOR)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Você não tem permissao para realizar essa operação.");

                return(PartialView("editar-recurso", ViewModel));
            }

            AcessoRecurso OAcessoRecurso = this.OAcessoRecursoBL.carregar(UtilNumber.toInt32(ViewModel.id)) ?? new AcessoRecurso();

            Mapper.Map(ViewModel, OAcessoRecurso);
            this.OAcessoRecursoBL.salvar(OAcessoRecurso);

            this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, "As informações foram salvas com sucesso.");

            ViewModel.listRecursoAcao = this.OAcessoRecursoAcaoBL.listar(0, UtilNumber.toInt32(ViewModel.id), "S").ToList();

            return(PartialView("editar-recurso", ViewModel));
        }
예제 #2
0
        //Atualizar ordem dos menus
        public void reordenarRecurso(int idRecurso, int idRecursoPai, int idRecursoGrupo, int ordemExibicao)
        {
            AcessoRecurso OAcessoRecurso = this.carregar(idRecurso);

            OAcessoRecurso.idRecursoPai = idRecursoPai;
            this.db.SaveChanges();

            if (OAcessoRecurso == null)
            {
                throw new InvalidOperationException(UTIL.Resources.NotificationMessages.invalid_register_id);
            }

            int cont  = 0;
            var itens = db.AcessoRecurso.Where(x => x.ativo == "S" &&
                                               (x.idRecursoPai == idRecursoPai || (x.idRecursoPai == null && idRecursoPai == 0)) &&
                                               x.idRecursoGrupo == idRecursoGrupo &&
                                               x.flagExcluido == "N")
                        .OrderBy(x => x.ordemExibicao)
                        .ToList();

            foreach (var x in itens)
            {
                if (x.id == OAcessoRecurso.id)
                {
                    db.AcessoRecurso
                    .Where(rec => rec.id == x.id)
                    .Update(rec => new AcessoRecurso {
                        ordemExibicao = ordemExibicao
                    });

                    continue;
                }

                if (cont == ordemExibicao)
                {
                    cont++;
                }

                var cont1 = cont;

                db.AcessoRecurso
                .Where(rec => rec.id == x.id)
                .Update(rec => new AcessoRecurso {
                    ordemExibicao = cont1
                });

                cont++;
            }

            db.SaveChanges();
        }
예제 #3
0
        //Persistir o objecto e atualizar informações
        private bool atualizar(AcessoRecurso OAcessoRecurso)
        {
            OAcessoRecurso.setDefaultUpdateValues <AcessoRecurso>();

            //Localizar existentes no banco
            AcessoRecurso dbAcessoRecurso    = this.carregar(OAcessoRecurso.id);
            var           AcessoRecursoEntry = db.Entry(dbAcessoRecurso);

            AcessoRecursoEntry.CurrentValues.SetValues(OAcessoRecurso);
            AcessoRecursoEntry.ignoreFields <AcessoRecurso>();

            db.SaveChanges();
            return(OAcessoRecurso.id > 0);
        }
예제 #4
0
        //Persistir o objecto e salvar na base de dados
        private bool inserir(AcessoRecurso OAcessoRecurso)
        {
            OAcessoRecurso.setDefaultInsertValues <AcessoRecurso>();

            if (OAcessoRecurso.idRecursoPai == 0)
            {
                OAcessoRecurso.idRecursoPai = null;
            }

            db.AcessoRecurso.Add(OAcessoRecurso);

            db.SaveChanges();

            return(OAcessoRecurso.id > 0);
        }
예제 #5
0
        //Realizar os tratamentos necessarios
        //Salvar um novo registro
        //Verificar se deve-se atualizar um registro existente ou criar um novo
        public bool salvar(AcessoRecurso OAcessoRecurso)
        {
            bool flagSucesso = false;

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

            return(flagSucesso);
        }
예제 #6
0
        //Exclusao logica
        public UtilRetorno excluir(int id)
        {
            AcessoRecurso OAcessoRecurso = this.carregar(id);

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

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

            return(UtilRetorno.newInstance(false, "O registro foi removido com sucesso."));
        }