public IEnumerable <IItem> GetItems(DatabaseUri databaseUri) { Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); journal = new StringJournal("SelectItem", databaseUri.ToString()) { Max = 8, RemoveDuplicates = true }; foreach (var entry in journal.GetHistory()) { var parts = entry.Split('^'); if (parts.Length != 2) { continue; } ItemUri itemUri; if (!ItemUri.TryParse(parts[1], out itemUri)) { continue; } var name = parts[0]; yield return(new HistoryEntry(itemUri, name)); } }
public override void Save() { var writer = new StringWriter(); var output = new XmlTextWriter(writer) { Formatting = Formatting.Indented }; output.WriteStartElement("search"); output.WriteAttributeString("name", Name); output.WriteAttributeString("databaseuri", DatabaseUri.ToString()); output.WriteValue(SearchText); output.WriteEndElement(); output.Flush(); AppHost.Files.CreateDirectory(Path.GetDirectoryName(FileName)); AppHost.Files.WriteAllText(FileName, writer.ToString()); }
public void Ok() { if (!string.IsNullOrEmpty(SettingsKey) && SelectedItemUri != ItemUri.Empty && DatabaseUri != DatabaseUri.Empty) { AppHost.Settings.SetString("SelectItemDialog\\" + SettingsKey, DatabaseUri.ToString(), SelectedItemUri.ItemId.ToString()); } foreach (var item in Tabs.Items) { var tabItem = item as TabItem; if (tabItem == null) { continue; } var pane = tabItem.Content as ISelectDialogPane; if (pane != null) { pane.Close(); } } this.Close(true); }