public bool GetParentMenu(int userId, string menuItemGroup, string childCode)
 {
     try
     {
         LogEventManager.Logger.Info("GetParentMenu(RouteMenuItem childMenu) execution have started");
         RouteMenuItem item  = null;
         var           child = Db.Set <MenuItem>().Single(it => it.Code == childCode);
         Assert.DoesNotThrow(() => item = _repository.GetParentMenu(new ChildUserBasedFilter <int?, int?, string>
         {
             UserId        = userId,
             ChildId       = child.Id,
             MenuItemGroup = menuItemGroup
         }));
         return(item != null && item.Id > 0);
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Info(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Info("GetParentMenu(RouteMenuItem childMenu) execution have ended");
     }
 }
 public void GetMenuById()
 {
     try
     {
         LogEventManager.Logger.Info("GetMenuById(TKey id) execution have started");
         var           id   = 1;
         RouteMenuItem item = null;
         Assert.DoesNotThrow(() => item = _repository.GetMenuById(id));
         Assert.True(item.Id == id);
         Assert.NotNull(item);
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Info(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Info("GetMenuById(TKey id) execution have ended");
     }
 }
        public IEnumerable <RouteMenuItem> GetMenuItems(MenuParentFilter <int?, string> parentFilter)
        {
            var result = new List <RouteMenuItem>();

            foreach (var ri in GetRouteMenuItems(parentFilter))
            {
                var item = new RouteMenuItem
                {
                    Id          = ri.Id,
                    Name        = ri.Name,
                    RouteName   = ri.RouteName,
                    RouteParams = ri.RouteParams.ToDictionary(kv =>
                                                              kv.Name, kv => kv.Value),
                    ParentId = ri.ParentId
                };
                parentFilter.ParentId = ri.Id;
                if (parentFilter.InitHierarchy)
                {
                    item.Children = GetMenuItems(parentFilter);
                }
                result.Add(item);
            }
            return(result);
        }