예제 #1
0
        public ActionResult Cadastro(int?UsuarioId, int?ModuloId)
        {
            UsuarioFuncionalidadeViewModel model = new UsuarioFuncionalidadeViewModel();
            PerfilDTO perfil   = new PerfilDTO();
            int       PerfilId = 0;

            model.NovoItem = true;

            if ((UsuarioId != null) && (ModuloId != null))
            {
                var usuario = usuarioAppService.ObterUsuarioPorId(UsuarioId.Value) ?? new UsuarioDTO();
                model.Usuario   = usuario;
                model.UsuarioId = UsuarioId.Value;

                var modulo = moduloAppService.ObterPeloId(ModuloId.Value) ?? new ModuloDTO();
                model.Modulo   = modulo;
                model.ModuloId = ModuloId.Value;

                if (usuario.ListaUsuarioPerfil.Any(l => l.ModuloId == ModuloId.Value))
                {
                    var usuarioPerfil = usuario.ListaUsuarioPerfil.Where(l => l.ModuloId == ModuloId.Value).ToList <UsuarioPerfilDTO>()[0];
                    //if (usuarioPerfil.PerfilId != null)
                    //{
                    perfil         = perfilAppService.ObterPeloId(usuarioPerfil.PerfilId);
                    PerfilId       = usuarioPerfil.PerfilId;
                    model.PerfilId = PerfilId;
                    //}
                }

                var listaFuncionalidadesAvulsas = usuario.ListaUsuarioFuncionalidade.Where(l => l.ModuloId == ModuloId).ToList <UsuarioFuncionalidadeDTO>();
                listaFuncionalidadesAvulsas = LimpaFuncionalidadeUsuario(listaFuncionalidadesAvulsas);

                if ((PerfilId != 0) || (listaFuncionalidadesAvulsas.Count > 0))
                {
                    model.NovoItem = false;
                }

                var listaFuncionalidadesModulo = funcionalidadeAppService.ListarPeloModulo(ModuloId.Value);
                model.JsonFuncionalidadesModulo = JsonConvert.SerializeObject(listaFuncionalidadesModulo, Formatting.Indented, new JsonSerializerSettings {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });
                model.JsonFuncionalidadesPerfil = JsonConvert.SerializeObject(perfil.ListaFuncionalidade, Formatting.Indented, new JsonSerializerSettings {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });
                model.JsonFuncionalidadesAvulsas = JsonConvert.SerializeObject(listaFuncionalidadesAvulsas, Formatting.Indented, new JsonSerializerSettings {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                });
            }

            model.PodeSalvar  = usuarioAppService.EhPermitidoSalvar();
            model.PodeDeletar = usuarioAppService.EhPermitidoDeletar();

            CarregarCombos(model);

            return(View(model));
        }
예제 #2
0
        public List <FuncionalidadeDTO> ListarPeloModulo(int moduloId)
        {
            ModuloDTO modulo = new ModuloDTO();
            List <FuncionalidadeDTO> listaFuncionalidade = new List <FuncionalidadeDTO>();

            if (moduloId != 0)
            {
                modulo = moduloAppService.ObterPeloId(moduloId);

                listaFuncionalidade = RecuperaFuncionalidadePeloModulo(modulo.Nome);
            }

            return(listaFuncionalidade);
        }