public async Task ImportNewBookmark(bool missingOnly) { if (newBookmarkValid) { using (Utils.DataUpdater upd = new Utils.DataUpdater(Core.ApplicationData.Instance.ActiveDatabase)) { await Task.Run(() => { try { GCComBookmarks.Bookmark bm = new GCComBookmarks.Bookmark(); bm.Guid = getGuid().ToString(); Core.Settings.Default.GCComBookmarksID++; bm.ID = string.Format("gccombm{0}", Core.Settings.Default.GCComBookmarksID); bm.Name = BMName; Core.Settings.Default.AddGCComBookmark(bm); GCComBookmarks.Manager.Instance.Bookmarks.Add(bm); GCComBookmarks.Manager.Instance.AddBookmarkToMenu(bm); List <string> gcCodes = GCComBookmarks.Manager.Instance.UpdateBookmarkList(bm); if (missingOnly) { List <string> present = (from a in gcCodes join g in Core.ApplicationData.Instance.ActiveDatabase.GeocacheCollection on a equals g.Code select a).ToList(); foreach (string s in present) { gcCodes.Remove(s); } } LiveAPI.Import.ImportGeocaches(Core.ApplicationData.Instance.ActiveDatabase, gcCodes); BMName = ""; BMUrl = ""; ActiveBookmark = bm; } catch (Exception e) { Core.ApplicationData.Instance.Logger.AddLog(this, e); } }); } } }
public void SaveGCComBookmarkGeocaches(GCComBookmarks.Bookmark bm, List <string> gcCodes) { _settingsStorage.SaveGCComBookmarkGeocaches(bm, gcCodes); }
public List <string> LoadGCComBookmarkGeocaches(GCComBookmarks.Bookmark bm) { return(_settingsStorage.LoadGCComBookmarkGeocaches(bm)); }
public void DeleteGCComBookmark(GCComBookmarks.Bookmark bm) { _settingsStorage.DeleteGCComBookmark(bm); }
public void AddGCComBookmark(GCComBookmarks.Bookmark bm) { _settingsStorage.AddGCComBookmark(bm); }
public List<GCComBookmarks.Bookmark> LoadGCComBookmarks() { List<GCComBookmarks.Bookmark> result = new List<GCComBookmarks.Bookmark>(); lock (this) { if (_dbcon != null) { DbDataReader dr = _dbcon.ExecuteReader("select bm_id, bm_name, bmguid from gccombm"); while (dr.Read()) { GCComBookmarks.Bookmark bm = new GCComBookmarks.Bookmark(); bm.Guid = dr["bmguid"] as string; bm.ID = dr["bm_id"] as string; bm.Name = dr["bm_name"] as string; result.Add(bm); } } } return result; }