Ejemplo n.º 1
0
        public MontaMenu GetMenu()
        {
            var menu = _menuRepo.FindBy(m => m.Ativo);
            IEnumerable <MenuViewModel> menuVM = _mapper.Map <IEnumerable <DBCorp.ControleAcesso.Domain.Model.Menu>, IEnumerable <MenuViewModel> >(menu);
            var mn = new MontaMenu(menuVM.ToList());

            return(mn);
        }
Ejemplo n.º 2
0
        public HttpResponseMessage GetMenu(HttpRequestMessage request, int perfilModulo)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                var usuario = _usuarioRep.GetSingle(int.Parse(HttpContext.Current.User.Identity.GetUserId()));

                var modulo = 0;
                switch (perfilModulo)
                {
                case 1:    //ADM
                    modulo = 1;
                    break;

                case 2:    //Membro
                    modulo = 3;
                    break;

                case 3:    //Fornecedor
                    modulo = 4;
                    break;

                case 4:    //Franquia
                    modulo = 5;
                    break;
                }

                if (usuario != null)
                {
                    //nao esquecer de colocar pra trazer os menus q estao ativos fazer isso em todos os metodos q a regra se aplica
                    IEnumerable <MenuViewModel> menuVM;

                    if (modulo == 1)
                    {
                        var menuAdm =
                            _usuarioGrupoRep.GetAll()
                            .Where(x => x.UsuarioId == usuario.Id)
                            .SelectMany(x => x.Grupo.PermissoesGrupos.Select(m => m.Menu))
                            .Where(x => x.Ativo)
                            .OrderBy(x => x.Ordem)
                            .Distinct();

                        menuVM = Mapper.Map <IEnumerable <Menu>, IEnumerable <MenuViewModel> >(menuAdm);
                    }
                    else
                    {
                        var menu = _menuRep.GetAll().Where(m => m.ModuloId == modulo && m.Ativo);

                        menuVM = Mapper.Map <IEnumerable <Menu>, IEnumerable <MenuViewModel> >(menu);

                        switch (modulo)
                        {
                        case 3:
                            var membro = this._membroRep.FindBy(x => x.PessoaId == usuario.PessoaId).FirstOrDefault();

                            //Essa verificação é para não exibir o menu de pagamento para membros VIP
                            if (membro.Vip)
                            {
                                menuVM = menuVM.Where(x => x.Id != 131);
                            }

                            //Essa verificação foi feita para membros de franquia aonde não pode mostrar o menu de novos fornecedores
                            //Para desativar o menu tem que desativar o paí e os filhos se não da erro
                            //110=Fornecedor

                            //if (membro.FranquiaId != null)
                            //    menuVM = menuVM.Where(x => x.Id != 110 && x.MenuPaiId !=110);
                            break;
                        }
                    }

                    var mn = new MontaMenu(menuVM.ToList());

                    //string menuMontado = mn.CriaMenu();
                    response = request.CreateResponse(HttpStatusCode.OK, mn.OrderBy(p => p.Ordem));
                }

                return response;
            }));
        }
Ejemplo n.º 3
0
        private void FrmMain_Load(object sender, EventArgs e)
        {
            MontaMenu menu = new MontaMenu(pMenu, pSubMenu, 40, pMenu.Size.Width, 10);

            menu.CarregaMenu();
        }
 public MenuAux()
 {
     Children = new MontaMenu();
 }