protected string GetMenuAplicacao() { string parametro = string.Empty; HorizontalMenu horizontalMenu = new HorizontalMenu(); try { IEnumerator firstXPTO; PermissaoAcesso pa = ((Acesso)this.Session["DADOS_ACESSO"]).PermissaoAcesso; pa.Perfil.AcaoModuloColecao.GetColecaoByProduto(1); parametro = BIUnit4.Cript_Decript.Cifra("produto=" + Convert.ToInt32(1).ToString() + "&cliente=" + ((Usuario)this.Session["USUARIO"]).IdCliente.ToString() + "&login="******"USUARIO"]).IdLogin.ToString() + ""); try { firstXPTO = pa.Perfil.AcaoModuloColecao.GetEnumerator(); while (firstXPTO.MoveNext()) { AcaoModulo am = (AcaoModulo)firstXPTO.Current; if ((am.ProdutoModulo != null) && am.ProdutoModulo.Modulo.Ativo) { IEnumerator secondXPTO; HorizontalMenu.ItemMenu itemMenu = new HorizontalMenu.ItemMenu(am.ProdutoModulo.Modulo.Descricao, am.ProdutoModulo.Modulo.Pagina + "?p=" + parametro, string.Empty); SubModulo.SubModuloColecao subModuloColecao = new SubModulo.SubModuloColecao(); subModuloColecao.GetSubModulo(pa.Perfil.IdPerfil, am.ProdutoModulo.Modulo.IdModulo); try { secondXPTO = subModuloColecao.GetEnumerator(); while (secondXPTO.MoveNext()) { SubModulo sm = (SubModulo)secondXPTO.Current; itemMenu.ItemSubMenuColecao.Add(new HorizontalMenu.ItemMenu(sm.Descricao, sm.Pagina + "?p=" + parametro, string.Empty)); } } finally { //if (secondXPTO is IDisposable) //{ // (secondXPTO as IDisposable).Dispose(); //} } horizontalMenu.ItemMenuCol.Add(itemMenu); } } } finally { //if (firstXPTO is IDisposable) //{ // (firstXPTO as IDisposable).Dispose(); //} } } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception ex = exception1; ProjectData.ClearProjectError(); } this.Session["MENU"] = horizontalMenu.MontarMenuHtml(); return(this.Session["MENU"].ToString()); }
public ActionResult Cadastrar([Bind(Include = "CargoId, Menus")] PermissaoViewModel viewModel) { var cargo = _cargoRepositorio.ObterCargoPorId(viewModel.CargoId); if (cargo == null) { RegistroNaoEncontrado(); } PermissaoAcesso permissaoAcesso = new PermissaoAcesso(); foreach (var menu in viewModel.Menus) { var campos = viewModel.Menus .Where(m => m.Id == menu.Id) .SelectMany(c => c.Campos); permissaoAcesso.IncluirPermissaoAcesso(new PermissaoAcesso { MenuId = menu.Id, CargoId = viewModel.CargoId, Acessar = menu.Acessar, Cadastrar = menu.Cadastrar, Atualizar = menu.Atualizar, Excluir = menu.Excluir, Logs = menu.Logs, Campos = campos }); } if (Validar(permissaoAcesso)) { _controleAcessoRepositorio.AplicarPermissoes(viewModel.CargoId, permissaoAcesso.PermissoesAcesso); GravarLogAuditoria(TipoLogAuditoria.INSERT, permissaoAcesso); TempData["Sucesso"] = true; } PopularCargos(viewModel); PopularPermissoes(viewModel); return(View(viewModel)); }
public ActionResult Cadastrar([Bind(Include = "Descricao, Vendedor")] CargosViewModel viewModel) { var cargo = new Cargo(viewModel.Descricao, viewModel.Vendedor); if (Validar(cargo)) { cargo.Id = _cargosRepositorio.Cadastrar(cargo); if (!_controleAcessoRepositorio.ExistePermissaoNoCargo(cargo.Id)) { var menus = _controleAcessoRepositorio.ObterMenus().ToList(); PermissaoAcesso permissaoAcesso = new PermissaoAcesso(); foreach (var menu in menus) { var campos = menus .Where(m => m.Id == menu.Id) .SelectMany(c => c.Campos); permissaoAcesso.IncluirPermissaoAcesso(new PermissaoAcesso { MenuId = menu.Id, CargoId = cargo.Id, Acessar = false, Cadastrar = false, Atualizar = false, Excluir = false, Logs = false, Campos = campos }); } _controleAcessoRepositorio.AplicarPermissoes(cargo.Id, permissaoAcesso.PermissoesAcesso); } TempData["Sucesso"] = true; GravarLogAuditoria(TipoLogAuditoria.INSERT, cargo); } return(View(viewModel)); }
public void Cenario() { requestContext = Substitute.For<RequestContext>(); request = Substitute.For<HttpRequestBase>(); context = new ActionExecutingContext { HttpContext = GetMockedHttpContext(), RouteData = new RouteData() }; permissaoAcessoFilter = new PermissaoAcesso(); }