public async Task <OperationDataResult <NavigationMenuModel> > UpdateCurrentUserMenu(List <NavigationMenuItemModel> menuItemModels)
        {
            // Step 1. Firstly remove all menu items from database
            var actualMenu = await _dbContext.MenuItems.ToListAsync();

            _dbContext.MenuItems.RemoveRange(actualMenu);
            await _dbContext.SaveChangesAsync();

            // Step 2. Traversal collection and add to database depend on menu item type
            for (var i = 0; i < menuItemModels.Count; i++)
            {
                var menuItemBuilder = new MenuItemBuilder(_dbContext, menuItemModels[i], i);

                menuItemBuilder.Build();
            }

            return(new OperationDataResult <NavigationMenuModel>(true,
                                                                 _localizationService.GetString("NavigationMenuUpdate")));
        }
예제 #2
0
 public T Do()
 {
     _parent.Link(_menuItemBuilder.Build());
     return(_parent);
 }