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)); }
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); }