public void AddBlock(BlockType blockType) { BlockBuilderViewModel blockBuilder = blockBuilderViewModelFactory.CreateBlockBuilderViewModel(blockType); blockBuilder.BlockBuilt += (sender, e) => { AddBlock(e); BlockBuilderRemoved?.Invoke(this, blockBuilder); }; blockBuilder.BlockDeleted += (sender, e) => { BlockBuilderRemoved?.Invoke(this, blockBuilder); }; BlockBuilderAdded?.Invoke(this, blockBuilder); }
public void EditBlock(BlockViewModel blockViewModel) { BlockBuilderViewModel blockBuilder = blockBuilderViewModelFactory.CreateBlockBuilderViewModel(blockViewModel.Block); blockBuilder.BlockBuilt += (sender, e) => { ReplaceBlock(blockViewModel.Block, e); BlockBuilderRemoved?.Invoke(this, blockBuilder); }; blockBuilder.BlockDeleted += (sender, e) => { RemoveBlock(e); BlockBuilderRemoved?.Invoke(this, blockBuilder); }; BlockBuilderAdded?.Invoke(this, blockBuilder); }