public List <Menu> GetOprationMenu(Guid oprationId, int groupId, Guid?userId, bool?display = true) { try { var menus = new List <Menu>(); var list = new OperationMenuBO().GetOprationMenu(this.ConnectionHandler, oprationId, groupId); var childMenus = new MenuBO().ChildMenus(this.ConnectionHandler, list, userId, groupId, display); var menuBo = new MenuBO(); foreach (var menu in list) { menuBo.GetChildMenu(this.ConnectionHandler, menus, childMenus, menu, userId, display); } return(list); } catch (KnownException ex) { Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace); throw new KnownException(ex.Message, ex); } catch (Exception ex) { Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace); throw new KnownException(ex.Message, ex); } }
public IEnumerable <Menu> MenuTree(Guid?selected) { try { var menuBo = new MenuBO(); var list = menuBo.Where(this.ConnectionHandler, x => x.ParentId == null); foreach (var variable in list) { if (variable.Id == selected) { variable.Selected = true; } variable.Children.AddRange(menuBo.GetChildMenu(this.ConnectionHandler, variable.Id, selected)); } return(list); } catch (KnownException ex) { throw new KnownException(ex.Message, ex); } catch (Exception ex) { Log.Save(ex.Message, LogType.ApplicationError, ex.Source, ex.StackTrace); throw new KnownException(ex.Message, ex); } }