public JsonResult EdicaoDePerfil(EditarPerfilViewModel cadastroDePerfilViewModel)
        {
            var perfilModulo = _perfilRepositorio.ObterTodos().FirstOrDefault(perfil => perfil.Codigo == cadastroDePerfilViewModel.CodigoPerfil);
            var modulos = _moduloRepositorio.ObterTodos();
            bool deletar;

            perfilModulo.ModulosPermitidos.Clear();

            foreach (var disponivel in modulos)
            {
                deletar = cadastroDePerfilViewModel.CodigoDosModulosSelecionados.All(selecionado => disponivel.Codigo != selecionado);
                if (!deletar)
                {
                    perfilModulo.ModulosPermitidos.Add(disponivel);
                }
            }

            var resposta = _perfilServicoDeAplicacao.AlterarPerfil(perfilModulo);

            return Json(new
                {
                    resposta.Sucesso,
                    resposta.Erros
                });
        }
        public PartialViewResult EdicaoDePerfil(int id, int grupoID, string perfilNome)
        {
            var modulosPermitidos = _perfilRepositorio.ObterTodos().Where(perfil => perfil.Codigo == id).ToList().Select(permitidos => new { permitidos.ModulosPermitidos, permitidos.Nome, permitidos.Codigo }).ToList();
            var modulosPermitidosInt = modulosPermitidos[0].ModulosPermitidos.Select(t => t.Codigo).ToList();

            ViewBag.NomePerfil = perfilNome;
            ViewBag.CodigoPerfil = id;
            ViewBag.CodigoGrupo = grupoID;

            var edicaoDePerfil = new EditarPerfilViewModel
            {
                Modulos = _moduloRepositorio.ObterTodos().Select(m => new { m.Codigo, m.Nome }),
                Grupos = _grupoRepositorio.ObterTodos().Select(g => new { g.Codigo, g.Descricao }),
                CodigoDosModulosSelecionados = modulosPermitidosInt
            };

            return PartialView(edicaoDePerfil);
        }