Ejemplo n.º 1
0
        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);
                        }
                    });
                }
            }
        }
Ejemplo n.º 2
0
 public void SaveGCComBookmarkGeocaches(GCComBookmarks.Bookmark bm, List <string> gcCodes)
 {
     _settingsStorage.SaveGCComBookmarkGeocaches(bm, gcCodes);
 }
Ejemplo n.º 3
0
 public List <string> LoadGCComBookmarkGeocaches(GCComBookmarks.Bookmark bm)
 {
     return(_settingsStorage.LoadGCComBookmarkGeocaches(bm));
 }
Ejemplo n.º 4
0
 public void DeleteGCComBookmark(GCComBookmarks.Bookmark bm)
 {
     _settingsStorage.DeleteGCComBookmark(bm);
 }
Ejemplo n.º 5
0
 public void AddGCComBookmark(GCComBookmarks.Bookmark bm)
 {
     _settingsStorage.AddGCComBookmark(bm);
 }
Ejemplo n.º 6
0
 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;
 }