public override object GetViewModel(object parent, SystemEntryViewModel entry, object previous) { return this.Providers.Select(p => p.GetViewModel(parent, entry, previous)).Where(vm => vm != null).FirstOrDefault(); }
public void StartUp(Application.CommandLineOption option) { this._RootProvider = new RootProvider(this); this._RootEntry = new SystemEntryViewModel(null, this._RootProvider, new RootEntry(this)); this._JobManager = new JobManager(); }
public bool TryParseEntryPath(string path, out SystemEntryViewModel viewModel) { path.ThrowIfNull("path"); ISystemEntry entry; ISystemProvider provider; viewModel = null; var root = this.Entry.Entry; if(this._RootProvider.TryParsePath(root, path, out entry, out provider)) { var stack = new Stack<ISystemEntry>(); while(root != entry) { stack.Push(entry); entry = entry.Parent; } viewModel = this.Entry; while(stack.Count > 0) { viewModel = new SystemEntryViewModel(viewModel, provider, stack.Pop()); } return true; } else { return false; } }
public override object GetViewModel(object parent, SystemEntryViewModel entry, object previous) { return null; }