private static void SwapIndex(DirectoryNameParser from, DirectoryNameParser to) { var tempIndex = from.Priority; from.Priority = to.Priority; to.Priority = tempIndex; }
public DirectoryNameParserViewModel(IDirectoryNameParserManager DirectoryNameParserManager, DirectoryNameParser model) { Model = model; Priority = Model .ObserveProperty(x => x.Priority) .ToReactiveProperty() .AddTo(Disposable); Pattern = Model .ObserveProperty(x => x.Pattern) .ToReactiveProperty() .AddTo(Disposable); CommitAsObservable .Select(_ => Pattern.Value) .Subscribe(x => { Model.Pattern = x; if (DirectoryNameParserManager.Items.Where(i => i.Pattern.Equals(Model.Pattern)).Count() == 0) { Model.Priority = DirectoryNameParserManager.Items.Count; DirectoryNameParserManager.Items.Add(Model); } }) .AddTo(Disposable); }
private int GetIndex(DirectoryNameParser target) { return(DirectoryNameParserManager.Items.IndexOf(target)); }