Beispiel #1
0
        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());
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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();
        }