public void Initialise(ItemFilterScript itemFilterScript, bool newScript) { ItemFilterBlockViewModels.Clear(); Script = itemFilterScript; foreach (var block in Script.ItemFilterBlocks) { var vm = _itemFilterBlockViewModelFactory.Create(); vm.Initialise(block, this); ItemFilterBlockViewModels.Add(vm); } _filenameIsFake = newScript; if (newScript) { Script.FilePath = "Untitled.filter"; } if (ItemFilterBlockViewModels.Count > 0) { SelectedBlockViewModel = ItemFilterBlockViewModels.First(); } Title = Filename; ContentId = "ScriptContentId"; }
public IItemFilterBlockViewModelBase Create(IItemFilterBlockBase itemFilterBlockBase) { if (itemFilterBlockBase is IItemFilterBlock) { return(_itemFilterBlockViewModelFactory.Create()); } if (itemFilterBlockBase is IItemFilterCommentBlock) { return(_itemFilterCommentBlockViewModelFactory.Create()); } throw new InvalidOperationException("Unknown IItemFilterBlockBase type"); }