/// <summary> /// Retorna Menu de AJustes /// </summary> /// <param name="menunestead">Menu Hierarquia</param> /// <param name="idPai">id Menu PAI</param> /// <returns></returns> public List <Menu> RetornaMenuAjuste(MenuNestead menunestead, int idPai) { var lista = new List <Menu>(); var menu = _repo.Obter <Menu>(menunestead.id); if (menu.MenuPai == null && idPai > 0) { menu.MenuPai = new Menu(); } menu.MenuPai = _repo.Obter <Menu>(idPai); lista.Add(menu); if (menunestead.children != null) { foreach (var item in menunestead.children) { lista.AddRange(RetornaMenuAjuste(item, menu.Id)); } } return(lista); }
/// <summary> /// Parse View Model /// </summary> /// <param name="model">Menu View Model</param> /// <returns></returns> public MenuNestead ParseViewModel(MenuViewModel model) { var menus = new List <Menu>(); var paginas = new List <Pagina>(); if (model.MenuNestead != null) { var array = model.MenuNestead; foreach (var item in array) { var menu = new Menu(); if (item.tipo.ToUpper() == "MENU") { menu = _repo.Obter <Menu>(item.id); menu.MenuPai = null; menus.Add(menu); } else { var pagina = new Pagina(); pagina = _repoPagina.Obter <Pagina>(item.id); paginas.Add(pagina); } if (item.children != null) { foreach (var it in item.children) { if (it.tipo.ToUpper() == "MENU") { var menufilho = RetornaMenuAjuste(it, menu.Id); menus.AddRange(menufilho); } else { var paginaFilho = new Pagina(); paginaFilho = _repoPagina.Obter <Pagina>(it.id); paginaFilho.Menu = menu; paginas.Add(paginaFilho); } } } } } var menuNestead = new MenuNestead() { Menus = menus , Paginas = paginas }; return(menuNestead); }