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"))); }
public T Do() { _parent.Link(_menuItemBuilder.Build()); return(_parent); }