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