示例#1
0
        public ActionResult Criar(PapelVM papelVM)
        {
            Papel papel = new Papel();

            papel.Nome       = papelVM.Nome;
            papel.Permissoes = new List <Permissao>();

            var perColecao = papelVM.GrupoColecao.SelectMany(c => c.PermissaoColecao.Where(p => p.IsPermitido));

            papel.Permissoes.AddRange(perColecao);

            if (_busPapel.Salvar(papel))
            {
                return(RedirectToAction("Criar", Validacao.QueryParamSerializer()));
            }

            PapelVM papelVMRetorno = new PapelVM();

            papelVMRetorno.Nome         = papelVM.Nome;
            papelVMRetorno.GrupoColecao = _busPapel.PermissaoGrupoColecao;

            foreach (var grupo in papelVMRetorno.GrupoColecao)
            {
                foreach (var permissaoRet in grupo.PermissaoColecao)
                {
                    foreach (var permissao in papel.Permissoes)
                    {
                        permissaoRet.IsPermitido = (permissao.IsPermitido && permissao.ID == permissaoRet.ID);
                    }
                }
            }

            return(View(papelVMRetorno));
        }
示例#2
0
        public ActionResult Criar()
        {
            PapelVM papel = new PapelVM();

            papel.GrupoColecao = _busPapel.PermissaoGrupoColecao;

            return(View(papel));
        }
示例#3
0
        public ActionResult Visualizar(int id)
        {
            PapelVM papelVM = new PapelVM();

            papelVM.GrupoColecao = _busPapel.ObterPermissaoGrupoColecao(id);
            papelVM.Nome         = _busPapel.ObterNome(id);

            return(View(papelVM));
        }
示例#4
0
        public ActionResult Editar(PapelVM papelVM)
        {
            Papel papel = new Papel();

            papel.Id         = papelVM.ID;
            papel.Nome       = papelVM.Nome;
            papel.Permissoes = new List <Permissao>();

            var perColecao = papelVM.GrupoColecao.SelectMany(c => c.PermissaoColecao.Where(p => p.IsPermitido));

            papel.Permissoes.AddRange(perColecao);

            if (_busPapel.Salvar(papel))
            {
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }

            papelVM = new PapelVM();

            papelVM.GrupoColecao = _busPapel.ObterPermissaoGrupoColecao(papel.Id);
            papelVM.Nome         = _busPapel.ObterNome(papel.Id);

            return(View(papelVM));
        }