示例#1
0
 public void AddUserFlagged()
 {
     if (SelectedCollection != null &&
         !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
         )
     {
         try
         {
             var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             if (System.IO.File.Exists(fn))
             {
                 using (var db = new Database.DBConSqlite(fn))
                 {
                     string target = "target";
                     db.ExecuteNonQuery(string.Format("ATTACH DATABASE '{0}' as {1}", System.IO.Path.Combine(Settings.Settings.Default.SettingsFolder, "settings.db3"), target));
                     db.ExecuteNonQuery(string.Format("insert or ignore into {0}.GeocacheCollectionItem (CollectionID, GeocacheCode, Name) select {1} as CollectionID, main.Caches.Code as GeocacheCode, main.Caches.Name as Name from main.Caches where main.Caches.UserFlag = 1", target, SelectedCollection.CollectionID));
                     db.ExecuteNonQuery(string.Format("DETACH DATABASE {0}", target));
                 }
             }
         }
         catch
         {
         }
         Close();
     }
 }
示例#2
0
 private string GetGeocachePostion(string code)
 {
     string result = "";
     if (!string.IsNullOrEmpty(code)
         && !string.IsNullOrEmpty(Settings.Settings.Default.DatabaseFolderPath)
         && !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
         )
     {
         try
         {
             var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             if (System.IO.File.Exists(fn))
             {
                 using (var temp = new Database.DBConSqlite(fn))
                 using (var db = new NPoco.Database(temp.Connection, NPoco.DatabaseType.SQLite))
                 {
                     var wp = db.FirstOrDefault<DataTypes.GSAKCaches>("select * from Caches where Code=@0", code);
                     var wpc = db.FirstOrDefault<DataTypes.GSAKCorrected>("select * from Corrected where kCode=@0", code);
                     if (wpc != null && !string.IsNullOrEmpty(wpc.kAfterLat) && !string.IsNullOrEmpty(wpc.kAfterLon))
                     {
                         result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wpc.kAfterLat), Utils.Conversion.StringToDouble(wpc.kAfterLon));
                     }
                     else if (!string.IsNullOrEmpty(wp.Latitude) && !string.IsNullOrEmpty(wp.Longitude))
                     {
                         result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wp.Latitude), Utils.Conversion.StringToDouble(wp.Longitude));
                     }
                 }
             }
         }
         catch
         {
         }
     }
     return result;
 }
示例#3
0
        private object GetWaypointPostion(string wpt)
        {
            string result = "";

            if (!string.IsNullOrEmpty(Settings.Settings.Default.ActiveGeocacheCode) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.DatabaseFolderPath) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
                )
            {
                try
                {
                    var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
                    if (System.IO.File.Exists(fn))
                    {
                        using (var temp = new Database.DBConSqlite(fn))
                            using (var db = new NPoco.Database(temp.Connection, NPoco.DatabaseType.SQLite))
                            {
                                var wp = db.FirstOrDefault <DataTypes.GSAKWaypoints>("select * from Waypoints where cCode=@0", wpt);
                                if (!string.IsNullOrEmpty(wp.cLat) && !string.IsNullOrEmpty(wp.cLon))
                                {
                                    result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wp.cLat), Utils.Conversion.StringToDouble(wp.cLon));
                                }
                            }
                    }
                }
                catch
                {
                }
            }
            return(result);
        }
        public WaypointSelectorWindow()
        {
            InitializeComponent();

            Waypoints = new ObservableCollection <string>();
            if (!string.IsNullOrEmpty(Settings.Settings.Default.ActiveGeocacheCode) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.DatabaseFolderPath) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
                )
            {
                Waypoints.Add(Settings.Settings.Default.ActiveGeocacheCode);
                try
                {
                    var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
                    if (System.IO.File.Exists(fn))
                    {
                        using (var temp = new Database.DBConSqlite(fn))
                            using (var db = new NPoco.Database(temp.Connection, NPoco.DatabaseType.SQLite))
                            {
                                var lst = db.Fetch <string>("select cCode from Waypoints where cParent=@0", Settings.Settings.Default.ActiveGeocacheCode);
                                foreach (var s in lst)
                                {
                                    Waypoints.Add(s);
                                }
                            }
                    }
                }
                catch
                {
                }
            }
            DataContext = this;
        }
示例#5
0
 public async Task RunFowSequence(FlowSequence fs)
 {
     await Task.Run(() =>
     {
         var sw = new System.Diagnostics.Stopwatch();
         sw.Start();
         try
         {
             string defaultFlowDatabasePath = null;
             if (string.IsNullOrEmpty(fs.Database))
             {
                 defaultFlowDatabasePath = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             }
             else
             {
                 defaultFlowDatabasePath = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, fs.Database, "sqlite.db3");
             }
             if (System.IO.File.Exists(defaultFlowDatabasePath))
             {
                 foreach (var sq in fs.FlowSequenceItems)
                 {
                     string fn = null;
                     if (string.IsNullOrEmpty(sq.Database))
                     {
                         fn = defaultFlowDatabasePath;
                     }
                     else
                     {
                         fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, sq.Database, "sqlite.db3");
                     }
                     var af = (from a in UIControls.ActionBuilder.Manager.Instance.ActionFlows where string.Compare(a.Name, sq.FlowName, true) == 0 select a).FirstOrDefault();
                     if (af != null)
                     {
                         using (var db = new Database.DBConSqlite(fn))
                         {
                             UIControls.ActionBuilder.Manager.Instance.RunFlow(af, db);
                         }
                     }
                 }
             }
             sw.Stop();
             ApplicationData.Instance.StatusText = string.Format(Localization.TranslationManager.Instance.Translate("FlowSequenceFinishedIn") as string, fs.Name, sw.Elapsed.TotalSeconds.ToString("0.0"));
         }
         catch (Exception e)
         {
             sw.Stop();
             ApplicationData.Instance.StatusText = string.Format("{0}: {1}", Localization.TranslationManager.Instance.Translate("Error"), e.Message);
         }
     });
 }
示例#6
0
        void cb2_DropDownOpened(object sender, EventArgs e)
        {
            AvailableFields.Clear();
            List <string> opt = new List <string>();
            var           fn  = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");

            if (System.IO.File.Exists(fn))
            {
                using (var db = new Database.DBConSqlite(fn))
                {
                    opt = AvailableCustomFields(db);
                }
            }
            opt.Insert(0, "County");
            opt.Insert(0, "State");
            opt.Insert(0, "Country");
            foreach (var c in opt)
            {
                AvailableFields.Add(c);
            }
        }
示例#7
0
 void cb_DropDownOpened(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase))
     {
         try
         {
             var cb    = sender as ComboBox;
             var items = new List <ComboBoxItem>();
             foreach (ComboBoxItem item in cb.Items)
             {
                 if (item.Content as string != cb.Text)
                 {
                     items.Add(item);
                 }
             }
             foreach (var item in items)
             {
                 cb.Items.Remove(item);
             }
             var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             if (System.IO.File.Exists(fn))
             {
                 using (var db = new Database.DBConSqlite(fn))
                 {
                     var cf = AvailableCustomFields(db);
                     foreach (var c in cf)
                     {
                         ComboBoxItem cboxitem = new ComboBoxItem();
                         cboxitem.Content = c;
                         cb.Items.Add(cboxitem);
                     }
                 }
             }
         }
         catch
         {
         }
     }
 }
示例#8
0
        public async Task RunActionFow(ActionFlow af)
        {
            SqlStatementsOfLastExecutedFlow = "";
            await Task.Run(() =>
            {
                var sw = new System.Diagnostics.Stopwatch();
                sw.Start();
                try
                {
                    var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
                    if (System.IO.File.Exists(fn))
                    {
                        using (var db = new Database.DBConSqlite(fn))
                        {
                            try
                            {
                                RunFlow(af, db);
                            }
                            finally
                            {
                                SqlStatementsOfLastExecutedFlow = string.Join("\r\n", db.ExecutedSqlQueries);
                            }
                        }
                    }
                    sw.Stop();
                    ApplicationData.Instance.StatusText = string.Format(Localization.TranslationManager.Instance.Translate("FlowFinishedIn") as string, af.Name, sw.Elapsed.TotalSeconds.ToString("0.0"));
                }
                catch (Exception e)
                {
                    sw.Stop();
                    ApplicationData.Instance.StatusText = string.Format("{0}: {1}", Localization.TranslationManager.Instance.Translate("Error"), e.Message);
                }
            });

#if DEBUG
            System.IO.File.WriteAllText(System.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "GSAKWrapper", "sqlstatements.log"), SqlStatementsOfLastExecutedFlow);
#endif
        }
示例#9
0
        public async Task RunActionFow(ActionFlow af)
        {
            SqlStatementsOfLastExecutedFlow = "";
            await Task.Run(() =>
                {
                    var sw = new System.Diagnostics.Stopwatch();
                    sw.Start();
                    try
                    {
                        var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
                        if (System.IO.File.Exists(fn))
                        {
                            using (var db = new Database.DBConSqlite(fn))
                            {
                                try
                                {
                                    RunFlow(af, db);
                                }
                                finally
                                {
                                    SqlStatementsOfLastExecutedFlow = string.Join("\r\n", db.ExecutedSqlQueries);
                                }
                            }
                        }
                        sw.Stop();
                        ApplicationData.Instance.StatusText = string.Format(Localization.TranslationManager.Instance.Translate("FlowFinishedIn") as string, af.Name, sw.Elapsed.TotalSeconds.ToString("0.0"));
                    }
                    catch (Exception e)
                    {
                        sw.Stop();
                        ApplicationData.Instance.StatusText = string.Format("{0}: {1}", Localization.TranslationManager.Instance.Translate("Error"), e.Message);
                    }
                });
#if DEBUG
            System.IO.File.WriteAllText(System.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "GSAKWrapper", "sqlstatements.log"), SqlStatementsOfLastExecutedFlow);
#endif
        }
示例#10
0
        private string GetGeocachePostion(string code)
        {
            string result = "";

            if (!string.IsNullOrEmpty(code) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.DatabaseFolderPath) &&
                !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
                )
            {
                try
                {
                    var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
                    if (System.IO.File.Exists(fn))
                    {
                        using (var temp = new Database.DBConSqlite(fn))
                            using (var db = new NPoco.Database(temp.Connection, NPoco.DatabaseType.SQLite))
                            {
                                var wp  = db.FirstOrDefault <DataTypes.GSAKCaches>("select * from Caches where Code=@0", code);
                                var wpc = db.FirstOrDefault <DataTypes.GSAKCorrected>("select * from Corrected where kCode=@0", code);
                                if (wpc != null && !string.IsNullOrEmpty(wpc.kAfterLat) && !string.IsNullOrEmpty(wpc.kAfterLon))
                                {
                                    result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wpc.kAfterLat), Utils.Conversion.StringToDouble(wpc.kAfterLon));
                                }
                                else if (!string.IsNullOrEmpty(wp.Latitude) && !string.IsNullOrEmpty(wp.Longitude))
                                {
                                    result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wp.Latitude), Utils.Conversion.StringToDouble(wp.Longitude));
                                }
                            }
                    }
                }
                catch
                {
                }
            }
            return(result);
        }
 protected void cbCustomFields_DropDownOpened(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase))
     {
         try
         {
             var cb = sender as ComboBox;
             var items = new List<ComboBoxItem>();
             foreach (ComboBoxItem item in cb.Items)
             {
                 if (item.Content as string != cb.Text)
                 {
                     items.Add(item);
                 }
             }
             foreach (var item in items)
             {
                 cb.Items.Remove(item);
             }
             var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             if (System.IO.File.Exists(fn))
             {
                 using (var db = new Database.DBConSqlite(fn))
                 {
                     var cf = AvailableCustomFields(db);
                     foreach (var c in cf)
                     {
                         ComboBoxItem cboxitem = new ComboBoxItem();
                         cboxitem.Content = c;
                         cb.Items.Add(cboxitem);
                     }
                 }
             }
         }
         catch
         {
         }
     }
 }
示例#12
0
 public async Task RunFowSequence(FlowSequence fs)
 {
     await Task.Run(() =>
     {
         var sw = new System.Diagnostics.Stopwatch();
         sw.Start();
         try
         {
             string defaultFlowDatabasePath = null;
             if (string.IsNullOrEmpty(fs.Database))
             {
                 defaultFlowDatabasePath = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             }
             else
             {
                 defaultFlowDatabasePath = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, fs.Database, "sqlite.db3");
             }
             if (System.IO.File.Exists(defaultFlowDatabasePath))
             {
                 foreach (var sq in fs.FlowSequenceItems)
                 {
                     string fn = null;
                     if (string.IsNullOrEmpty(sq.Database))
                     {
                         fn = defaultFlowDatabasePath;
                     }
                     else
                     {
                         fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, sq.Database, "sqlite.db3");
                     }
                     var af = (from a in UIControls.ActionBuilder.Manager.Instance.ActionFlows where string.Compare(a.Name, sq.FlowName, true) == 0 select a).FirstOrDefault();
                     if (af != null)
                     {
                         using (var db = new Database.DBConSqlite(fn))
                         {
                             UIControls.ActionBuilder.Manager.Instance.RunFlow(af, db);
                         }
                     }
                 }
             }
             sw.Stop();
             ApplicationData.Instance.StatusText = string.Format(Localization.TranslationManager.Instance.Translate("FlowSequenceFinishedIn") as string, fs.Name, sw.Elapsed.TotalSeconds.ToString("0.0"));
         }
         catch (Exception e)
         {
             sw.Stop();
             ApplicationData.Instance.StatusText = string.Format("{0}: {1}", Localization.TranslationManager.Instance.Translate("Error"), e.Message);
         }
     });
 }
示例#13
0
 private object GetWaypointPostion(string wpt)
 {
     string result = "";
     if (!string.IsNullOrEmpty(Settings.Settings.Default.ActiveGeocacheCode)
         && !string.IsNullOrEmpty(Settings.Settings.Default.DatabaseFolderPath)
         && !string.IsNullOrEmpty(Settings.Settings.Default.SelectedDatabase)
         )
     {
         try
         {
             var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
             if (System.IO.File.Exists(fn))
             {
                 using (var temp = new Database.DBConSqlite(fn))
                 using (var db = new NPoco.Database(temp.Connection, NPoco.DatabaseType.SQLite))
                 {
                     var wp = db.FirstOrDefault<DataTypes.GSAKWaypoints>("select * from Waypoints where cCode=@0", wpt);
                     if (!string.IsNullOrEmpty(wp.cLat) && !string.IsNullOrEmpty(wp.cLon))
                     {
                         result = Utils.Conversion.GetCoordinatesPresentation(Utils.Conversion.StringToDouble(wp.cLat), Utils.Conversion.StringToDouble(wp.cLon));
                     }
                 }
             }
         }
         catch
         {
         }
     }
     return result;
 }
 void cb2_DropDownOpened(object sender, EventArgs e)
 {
     AvailableFields.Clear();
     List<string> opt = new List<string>();
     var fn = System.IO.Path.Combine(Settings.Settings.Default.DatabaseFolderPath, Settings.Settings.Default.SelectedDatabase, "sqlite.db3");
     if (System.IO.File.Exists(fn))
     {
         using (var db = new Database.DBConSqlite(fn))
         {
             opt = AvailableCustomFields(db);
         }
     }
     opt.Insert(0, "County");
     opt.Insert(0, "State");
     opt.Insert(0, "Country");
     foreach (var c in opt)
     {
         AvailableFields.Add(c);
     }
 }