Exemple #1
0
        public static void MainMenu()
        {
            int StackReference = Stack.Add("UI.MainMenu()");

            LDGraphicsWindow.ExitButtonMode(GraphicsWindow.Title, "Enabled");
            GraphicsWindow.CanResize = true;

            LDGraphicsWindow.State = 2;
            GraphicsWindow.Title   = GlobalStatic.Title + " ";

            Primitive Sorts = $"1={Language.Localization["Table"]};2={Language.Localization["View"]};3={Language.Localization["Index"]};4={Language.Localization["Master Table"]};";

            if (Engines.CurrentDatabase != null && Engines.CurrentDatabase != null)
            {
                Engines.GetSchema(Engines.CurrentDatabase);
            }
            GraphicsWindow.FontSize = GlobalStatic.DefaultFontSize + 8;
            int UIx = GlobalStatic.Listview_Width - 380;

            string Menu = LDControls.AddMenu(Desktop.Width * 1.5, 30, MenuList, IconList, null);

            Shapes.Move(Shapes.AddText(Language.Localization["Sort"] + ":"), UIx, 1);

            int TextWidth = LDText.GetHeight(Language.Localization["Sort"] + ":");

            GraphicsWindow.FontSize = GlobalStatic.DefaultFontSize;

            try
            {
                GlobalStatic.ComboBox["Table"] = LDControls.AddComboBox(Engines.Tables.ToPrimitiveArray(), 100, 100);
            }
            catch (Exception ex)
            {
                Events.LogMessage(ex.ToString(), "System");
            }

            GlobalStatic.ComboBox["Sorts"]    = LDControls.AddComboBox(Sorts, 100, 100);
            GlobalStatic.ComboBox["Database"] = LDControls.AddComboBox(Engines.DB_ShortName.ToPrimitiveArray(), 100, 100);
            Controls.Move(GlobalStatic.ComboBox["Database"], UIx + TextWidth + 35, 5);
            Controls.Move(GlobalStatic.ComboBox["Sorts"], UIx + TextWidth + 150, 5);
            Controls.Move(GlobalStatic.ComboBox["Table"], UIx + TextWidth + 260, 5);

            //Virtual Call to Handler
            Events.MC(Language.Localization["View"]);

            Title();

            Controls.ButtonClicked         += Events.BC;
            LDControls.MenuClicked         += Events.MC;
            LDControls.ComboBoxItemChanged += Events.CB;
            LDControls.ContextMenuClicked  += Events.MI;

            Stack.Exit(StackReference);
        }
Exemple #2
0
        public static void ShowDisplayResults()
        {
            int StackPointer = Stack.Add("UI.ShowDisplayResults()");

            DisplayHelper();
            GraphicsWindow.FontSize = GlobalStatic.DefaultFontSize;
            for (int i = 0; i < _HideDisplay.Count; i++)
            {
                Controls.ShowControl(_HideDisplay[i]);
            }
            Stack.Exit(StackPointer);
        }
Exemple #3
0
        /// <summary>
        /// Converts a text settings file to XML.
        /// </summary>
        static string ConverttoXML(Primitive Settings)
        {
            int           StackPointer = Stack.Add("Settings.ConvertToXML");
            StringBuilder SB           = new StringBuilder();

            SB.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
            SB.AppendLine("<root>");
            SB.AppendLine("\t<!-- Details whether or not a transaction is stored in the transaction database -->");
            SB.AppendLine("\t<Transactions>");
            SB.AppendFormat("\t\t<Query>{0}</Query>\n", (bool?)Settings["Transactions"]["Query"] ?? Settings["Transaction_Query"]);
            SB.AppendFormat("\t\t<Commands>{0}</Commands>\n", (bool?)Settings["Transactions"]["Commands"] ?? Settings["Transaction_Commands"]);
            SB.AppendLine("\t</Transactions>\n");
            SB.AppendLine("\t<!-- List of all paths that the Program uses.-->");
            SB.AppendLine("\t<!-- Warning: Change this at your own risk! It may break the application!-->");
            SB.AppendLine("\t<Paths>");
            SB.AppendFormat("\t\t<OS>{0}</OS>\n", (string)Settings["Paths"]["OS"] ?? Settings["OS_Dir"]);

            SB.AppendFormat("\t\t<LastFolder>{0}</LastFolder>\n", (string)Settings["Paths"]["LastFolder"] ?? Settings["LastFolder"]);
            SB.AppendFormat("\t\t<Assets>{0}</Assets>\n", (string)Settings["Paths"]["Assets"] ?? Settings["Asset_Dir"]);
            SB.AppendFormat("\t\t<Log>{0}</Log>\n", (string)Settings["Paths"]["Log"] ?? Settings["Log_DB_Path"]);
            SB.AppendFormat("\t\t<Transaction>{0}</Transaction>\n", (string)Settings["Paths"]["Transaction"] ?? Settings["Transaction_DB"]);
            SB.AppendLine("\t</Paths>\n");

            SB.AppendLine("\t<!-- Set AutoUpdate to False if Internet Access is restricted or unavailable.-->");
            SB.AppendLine("\t<Updates>");
            SB.AppendFormat("\t\t<LastCheck>{0}</LastCheck>\n", (string)Settings["Updates"]["LastCheck"] ?? Settings["LastUpdateCheck"]);
            SB.AppendFormat("\t\t<AutoUpdate>{0}</AutoUpdate>\n", (string)Settings["Updates"]["AutoUpdate"] ?? Settings["AutoUpdate"]);
            SB.AppendLine("\t</Updates>\n");

            SB.AppendLine("\t<EULA>");
            SB.AppendFormat("\t\t<Signer>{0}</Signer>\n", (string)Settings["EULA"]["Signer"] ?? Settings["EULA_By"]);
            SB.AppendFormat("\t\t<Signed>{0}</Signed>\n", (string)Settings["EULA"]["Signed"] ?? Settings["EULA"]);
            SB.AppendLine("\t</EULA>\n");

            SB.AppendFormat("\t<Deliminator>{0}</Deliminator>\n", Settings["Deliminator"]);
            SB.AppendFormat("\t<VersionID>{0}</VersionID>\n", Settings["VersionID"]);
            SB.AppendFormat("\t<Extensions>{0}</Extensions>\n", Settings["Extensions"]);
            SB.AppendLine("	<!-- UI Related Stuff -->");
            SB.AppendFormat("\t<fontsize>{0}</fontsize>\n", (string)Settings["fontsize"] ?? Settings["Font_Size"]);
            SB.AppendFormat("\t<language>{0}</language>\n", (string)Settings["language"] ?? Settings["Language"]);
            SB.AppendLine("\t<listview>");
            SB.AppendFormat("\t\t<width>{0}</width>\n", (int?)Settings["listview"]["width"] ?? Settings["Listview_Width"]);
            SB.AppendFormat("\t\t<height>{0}</height>\n", (int?)Settings["listview"]["height"] ?? Settings["Listview_Height"]);
            SB.AppendLine("\t</listview>");

            SB.AppendLine("\t<Intervals>");
            SB.AppendFormat($"\t\t<CSV>{Settings["Intervals"]["CSV"]}</CSV>\n");
            SB.AppendFormat($"\t\t<SQL>{Settings["Intervals"]["SQL"]}</SQL>\n");
            SB.AppendLine("\t</Intervals>");
            SB.Append("</root>");
            Stack.Exit(StackPointer);
            return(SB.ToString());
        }
Exemple #4
0
            public static string SQLServer(string Server, string Database)
            {
                int StackPointer = Stack.Add($"Engines.Load.SQLServer({Server},{Database})");
                Dictionary <string, string> Data = new Dictionary <string, string>
                {
                    ["Server"]   = Server,
                    ["Database"] = Database
                };

                Stack.Exit(StackPointer);
                return(DB(EnginesMode.SQLSERVER, Data));
            }
Exemple #5
0
        public static Primitive ToPrimitiveArray <T>(this ReadOnlyCollection <T> List)
        {
            int       StackPointer = Stack.Add("Transform.ReadOnlyCollectionToPrimitiveArray");
            Primitive _return      = null;

            for (int i = 0; i < List.Count; i++)
            {
                _return[i + 1] = List[i].ToString();
            }
            Stack.Exit(StackPointer);
            return(_return);
        }
Exemple #6
0
        public static Primitive ToPrimitiveArray <T>(this IDictionary <T, T> Dictionary)
        {
            int           StackPointer = Stack.Add("Transform.DictionaryToPrimitiveArray");
            StringBuilder Exporter     = new StringBuilder();

            foreach (KeyValuePair <T, T> entry in Dictionary)
            {
                Exporter.Append(entry.Key + "=" + entry.Value + ";");
            }
            Stack.Exit(StackPointer);
            return(Exporter.ToString());
        }
Exemple #7
0
        static void ColumnsChanged(object sender, EventArgs e)
        {
            int StackPointer = Stack.Add("ColumnsChanged");

            if (GlobalStatic.SortBy != 0)
            {
                LDControls.ComboBoxContent(GlobalStatic.ComboBox["Sort"], Engines.Schema);
                LDControls.ComboBoxContent(GlobalStatic.ComboBox["Search"], Engines.Schema);
                LDControls.ComboBoxContent(GlobalStatic.ComboBox["ColumnList"], Engines.Schema);
            }
            Stack.Exit(StackPointer);
        }
Exemple #8
0
        public static void AddOrReplace <T>(this IDictionary <T, T> Dictionary, T Key, T Value)
        {
            int StackPointer = Stack.Add("Transform.AddorReplaceDictionary");

            if (Dictionary.ContainsKey(Key) == true)
            {
                Dictionary[Key] = Value;
                Stack.Exit(StackPointer);
                return;
            }
            Dictionary.Add(Key, Value);
            Stack.Exit(StackPointer);
        }
Exemple #9
0
            public static string OLEDB(string Server, string Database, string Provider)
            {
                int StackPointer = Stack.Add($"Engines.Load.OLEDB({Server},{Database},{Provider})");
                Dictionary <string, string> Data = new Dictionary <string, string>
                {
                    ["Provider"] = Provider,
                    ["Server"]   = Server,
                    ["Database"] = Database
                };

                Stack.Exit(StackPointer);
                return(DB(EnginesMode.OLEDB, Data));
            }
Exemple #10
0
        public static string[] ConvertSchema(Primitive Schema)
        {
            int StackPointer = Stack.Add("Export.ConvertSchema()");
            int SchemaCount  = Schema.GetItemCount();

            string[] SchemaArray = new string[SchemaCount];
            for (int i = 1; i <= SchemaCount; i++)
            {
                SchemaArray[i - 1] = Schema[i];
            }
            Stack.Exit(StackPointer);
            return(SchemaArray);
        }
Exemple #11
0
        /// <summary>
        /// For Wikipedia Tables. Currently does not deal with Pipe characters.
        /// </summary>
        public static string MarkUp(Primitive Data, Primitive Schema)
        {
            int       StackPointer = Stack.Add("Export.MarkUp");
            Primitive Index        = Schema.GetAllIndices();

            int DataCount   = Data.GetItemCount();
            int SchemaCount = Schema.GetItemCount();

            string[] SchemaArray = ConvertSchema(Schema);
            string[,] DataArray = ConvertData(Schema, Data);

            StringBuilder SB = new StringBuilder();

            SB.AppendLine("{| class=\"wikitable sortable\"");
            SB.AppendLine("|-");
            SB.Append("! ");
            //Headers
            for (int i = 0; i < SchemaCount; i++)
            {
                if (i > 0)
                {
                    SB.AppendFormat("!! {0}", SchemaArray[i]);
                }
                else
                {
                    SB.AppendFormat("{0}", SchemaArray[i]);
                }
            }
            SB.AppendLine();

            for (int i = 0; i < DataCount; i++)
            {
                SB.Append("|-\n|");
                for (int ii = 0; ii < SchemaCount; ii++)
                {
                    if (ii < (SchemaCount - 1))
                    {
                        SB.AppendFormat("{0} ||", DataArray[i, ii]);
                    }
                    else
                    {
                        SB.Append(DataArray[i, ii]);
                    }
                }
                SB.AppendLine();
            }

            SB.AppendLine("|}");
            Stack.Exit(StackPointer);
            return(SB.ToString());
        }
Exemple #12
0
            public static string DB(EnginesMode Mode, Dictionary <string, string> Data) //Tasked with connecting to a Database and adding the DB Connection Name to a list.
            {
                int StackEntry = Stack.Add($"Engines.Load.DB({Mode})");

                switch (Mode)
                {
                case EnginesMode.SQLITE:
                    Stack.Exit(StackEntry);
                    return(DB(Mode, Data, Path.GetFileNameWithoutExtension(Data["URI"])));

                default:
                    throw new NotImplementedException();
                }
            }
Exemple #13
0
        public static void HideDisplayResults()
        {
            int    StackPointer  = Stack.Add("UI.HideDisplayResults()");
            string Default_Brush = GraphicsWindow.BrushColor;

            GraphicsWindow.BrushColor = "WHITE";
            GraphicsWindow.FillRectangle(GlobalStatic.UIx - 5, 45, 320, 350);
            GraphicsWindow.BrushColor = Default_Brush;
            for (int i = 0; i < _HideDisplay.Count; i++)
            {
                Controls.HideControl(_HideDisplay[i]);
            }
            Stack.Exit(StackPointer);
        }
Exemple #14
0
        public static void Save()
        {
            int StackReference = Stack.Add("Settings.SaveSettings()");

            try
            {
                ConverttoXML(GlobalStatic.Settings, GlobalStatic.SettingsPath.Replace(".txt", ".xml"));
            }
            catch (Exception) //Settings could not be saved for some reason!
            {
                Events.LogMessage(Language.Localization["Failed Save Settings"], Language.Localization["UI"]);
            }
            Stack.Exit(StackReference);
        }
Exemple #15
0
        public static int LatestUpdate()
        {
            int StackReference = Stack.Add("Updater.LatestUpdate()");

            if (string.IsNullOrWhiteSpace(UpdaterDB))
            {
                UpdaterDB = LDDataBase.ConnectSQLite(GlobalStatic.UpdaterDBpath);
            }
            Primitive QueryItems = LDDataBase.Query(UpdaterDB, $"SELECT * FROM updates WHERE PRODUCTID = '{ GlobalStatic.ProductID }';", null, true);

            int.TryParse(QueryItems[1]["VERSION"], out int LatestVersion);
            Stack.Exit(StackReference);
            return(LatestVersion);
        }
Exemple #16
0
            public static string MySQL(string Server, string Database, string User, string Password)
            {
                int StackPointer = Stack.Add($"Engines.Load.MySQL({Server},{Database}");
                Dictionary <string, string> Data = new Dictionary <string, string>
                {
                    ["Server"]   = Server,
                    ["User"]     = User,
                    ["Password"] = Password,
                    ["Database"] = Database
                };

                Stack.Exit(StackPointer);
                return(DB(EnginesMode.MySQL, Data));
            }
Exemple #17
0
        /// <summary>
        /// Converts a text settings file to an XML settings file.
        /// </summary>
        static void ConverttoXML(Primitive Settings, string URI)
        {
            int StackPointer = Stack.Add("Settings.ConvertToXML");

            try
            {
                System.IO.File.WriteAllText(URI, ConverttoXML(Settings));
            }
            catch (Exception)
            {
                GraphicsWindow.ShowMessage(Language.Localization["Failed Save Settings"], Language.Localization["Error"]);
            }
            Stack.Exit(StackPointer);
        }
Exemple #18
0
        public static void Load(string File, string DataPath)
        {
            int StackReference = Stack.Add($"Language.Load({File},{DataPath})");

            if (System.IO.File.Exists(File) == false && System.IO.File.Exists(DataPath) == false)
            {
                throw new FileNotFoundException("Localization File not found!"); //DO NOT LOCALIZE
            }

            string XMLDoc = LDxml.Open(File);

            _Localization.Clear();

            LDxml.FirstNode();
            LDxml.FirstChild();
            LDxml.LastChild();

            Primitive XML_Array;

            XML_Array = Utilities.XMLAttributes();
            Add(
                ((string)XML_Array[4]).Replace("_", " "),
                XML_Array[6]);

            while (LDxml.PreviousSibling() == "SUCCESS")
            {
                XML_Array = Utilities.XMLAttributes();
                Add(
                    ((string)XML_Array[4]).Replace("_", " "),
                    XML_Array[6]);
            }

            Primitive Localization_Temp = System.IO.File.ReadAllText(DataPath);

            string[] LocalizationFiles = Directory.GetFiles(Path.GetDirectoryName(File));

            _ISO_Text.Clear();
            _ISO_LangCode.Clear();

            foreach (string FilePath in LocalizationFiles)
            {
                string LanguageFile = Path.GetFileNameWithoutExtension(FilePath);
                _ISO_LangCode.Add(LanguageFile);
                _ISO_Text.Add(Localization_Temp[LanguageFile]);
            }

            Stack.Exit(StackReference);
        }
Exemple #19
0
            public static string Sqlite(string FilePath, string ShortName)
            {
                int StackPointer = Stack.Add($"Engines.Load.Sqlite({FilePath},{ShortName})");
                Dictionary <string, string> _Data = new Dictionary <string, string>
                {
                    ["URI"] = FilePath
                };

                Stack.Exit(StackPointer);

                if (string.IsNullOrWhiteSpace(ShortName))
                {
                    return(DB(EnginesMode.SQLITE, _Data));
                }
                return(DB(EnginesMode.SQLITE, _Data, ShortName));
            }
Exemple #20
0
        static string[] FetchLinks()
        {
            int StackPointer = Stack.Add("Updater.DownloadLinks");

            if (string.IsNullOrWhiteSpace(UpdaterDB))
            {
                UpdaterDB = LDDataBase.ConnectSQLite(GlobalStatic.UpdaterDBpath);
            }
            Primitive QueryItems = LDDataBase.Query(UpdaterDB, $"SELECT * FROM updates WHERE PRODUCTID = '{ GlobalStatic.ProductID }';", null, true);

            string[] Locations = new string[2];
            Locations[0] = QueryItems[1]["URL"];
            Locations[1] = QueryItems[1]["URL2"];
            Stack.Exit(StackPointer);
            return(Locations);
        }
Exemple #21
0
        public static Dictionary <string, string> SQL_Fetch_Type(Primitive SchemaQuery, Primitive Schema, Engines.EnginesMode CurrentEngine)
        {
            int StackPointer = Stack.Add("Export.SQL_Fetch_Type");

            Engines.IEngine engine;
            switch (CurrentEngine)
            {
            case Engines.EnginesMode.SQLITE:
                engine = new Engines.SQLite();
                break;

            default:
                throw new PlatformNotSupportedException("Current Engine is not supported");
            }
            return(engine.GetTypes(SchemaQuery, Schema));
        }
Exemple #22
0
        public static void ContextMenu(string Control, int Index)
        {
            int StackPointer = Stack.Add($"Handlers.ContextMenu({Control},{Index})");

            if (Control == GlobalStatic.ListView)
            {
                if (Index <= 3)
                {
                    Primitive Schema = Export.GenerateSchemaFromLastQuery();
                    LDControls.ComboBoxSelect(GlobalStatic.ComboBox["Sort"], LDControls.LastListViewColumn);
                    LDControls.ComboBoxSelect(GlobalStatic.ComboBox["ASCDESC"], Index);
                    Buttons(UI.Buttons["Sort"]);
                }
            }
            Stack.Exit(StackPointer);
        }
Exemple #23
0
        static void LogMessage(string Message, string Type, string Caller)
        {
#if DEBUG
            Console.WriteLine("Log : Caller was : {0}; Type: {1}; Message: {2} ;", Caller, Type, Message);
#endif
            if (string.IsNullOrWhiteSpace(Type))
            {
                Type = "Unknown";
            }

            if (Type == "Debug" && GlobalStatic.DebugMode == false)
            {
                return;
            }

            if (Type == "PopUp")
            {
                GraphicsWindow.ShowMessage(Message, Caller);
            }
            else if (Message.Contains("LDDataBase.Query") == true || Message.Contains("LDDataBase.Command") == true)
            {
                if (Message.Contains("logic error"))
                {
                    Type = "SQL Error";
                    GraphicsWindow.ShowMessage(Message, Type);
                }
            }
            else if (Message.Contains("Shape not found"))
            {
                Type = "Shape";
            }

            int StackPointer = Stack.Add($"Events.LogMessage({Message},{Type},{Caller})");

            string LogCMD = "INSERT INTO LOG ([UTC DATE],[UTC TIME],DATE,TIME,USER,ProductID,ProductVersion,Event,Type) VALUES(DATE(),TIME(),DATE('now','localtime'),TIME('now','localtime'),'" + GlobalStatic.UserName + "','" + GlobalStatic.ProductID + "','" + GlobalStatic.VersionID + "','" + Message.Replace("\n", "") + "','" + Type + "');";;
            var    CS     = new Engines.CommandSettings()
            {
                Database    = GlobalStatic.LogDB,
                SQL         = LogCMD,
                User        = Language.Localization["App"],
                Explanation = Language.Localization["Auto Log"]
            };

            Engines.Command(CS);
            Stack.Exit(StackPointer);
        }
Exemple #24
0
        public static void Startup()
        {
            int StackPointer = Stack.Add("UI.Startup()");

            try
            {
                DBM.Settings.Load(GlobalStatic.RestoreSettings,
                                  GlobalStatic.SettingsPath);
                DBM.Settings.Paths
                (
                    GlobalStatic.AssetPath,
                    GlobalStatic.PluginPath,
                    GlobalStatic.LocalizationFolder,
                    GlobalStatic.AutoRunPluginPath,
                    GlobalStatic.Localization_LanguageCodes_Path,
                    GlobalStatic.AutoRunPluginMessage
                );     //Makes sure passed paths are valid and creates them if they are not
            }
            catch (Exception) { }
            DBM.Settings.IniateDatabases();
            Engines.CreateBindList();

            Language.Load(
                Path.Combine(GlobalStatic.LocalizationFolder, GlobalStatic.LanguageCode + ".xml"),
                Path.Combine(GlobalStatic.Localization_LanguageCodes_Path, GlobalStatic.LanguageCode + ".txt")
                );

            Events.LogMessage(Language.Localization["PRGM Start"], Language.Localization["Application"]);

            if (Program.ArgumentCount == 1)
            {
                Engines.Load.Sqlite(GetPath(Engines.EnginesMode.SQLITE));
            }
            if (RunProgram)
            {
                StartupGUI();
            }
            else
            {
                DBM.Settings.Save();
                EULA.UI(GlobalStatic.EULA_Text_File, 0, GlobalStatic.Title, GlobalStatic.Copyright, GlobalStatic.ProductID);
            }
            StartUpStopWatch.Stop();
            Events.LogMessage($"Startup Time : {StartUpStopWatch.ElapsedMilliseconds} (ms).", Language.Localization["UI"]);
            Stack.Exit(StackPointer);
        }
Exemple #25
0
        public static void StartupGUI()
        {
            int StackPointer = Stack.Add("UI.StartupGUI()");

            ClearWindow();
            LDScrollBars.Add(GlobalStatic.Listview_Width + 370, GlobalStatic.Listview_Height);
            LDGraphicsWindow.State = 2;
            PreMainMenu();
            MainMenu();
            //AutoUpdate Code
            if (GlobalStatic.AutoUpdate == true && GlobalStatic.LastUpdateCheck + 14 <= GlobalStatic.ISO_Today)
            {
                Events.LogMessage("Autoupdate Check", "Updater");
                Updater.CheckForUpdates(GlobalStatic.UpdaterDBpath, GlobalStatic.OnlineDB_Refrence_Location, false);
            }
            Stack.Exit(StackPointer);
        }
Exemple #26
0
        /// <summary>
        /// Automatically creates Directories if they do not exist.
        /// </summary>
        public static void Paths(string AssetPath, string PluginPath, string LocalizationFolder, string AutoRunPluginPath, string Localization_LanguageCodes_Path, string AutoRunPluginMessage)
        {
            int StackPointer = Stack.Add("Settings.Paths()");

            if (Directory.Exists(AssetPath) == false || Directory.Exists(LocalizationFolder) == false)             //Creates Folders if one is missing
            {
                Directory.CreateDirectory(AssetPath);
                Directory.CreateDirectory(LocalizationFolder);
                Directory.CreateDirectory(Localization_LanguageCodes_Path);
            }

            if (System.IO.File.Exists(AutoRunPluginPath) == false)
            {
                System.IO.File.WriteAllText(AutoRunPluginPath, AutoRunPluginMessage);
            }
            Stack.Exit(StackPointer);
        }
Exemple #27
0
        public static void Closing()
        {
            int StackPointer = Stack.Add("Events.Closing()");

            if (string.IsNullOrEmpty(Engines.CurrentDatabase))
            {
                LogMessage("Program Closing", Language.Localization["Application"]); //Localize
            }
            else
            {
                LogMessage("Program Closing - Closing : " + Engines.DatabaseShortname, Language.Localization["Application"]);  //Localize
            }
            GraphicsWindow.Clear();
            GraphicsWindow.Hide();
            Stack.Exit(StackPointer);
            Environment.Exit(0);
        }
Exemple #28
0
            public static string ODBC(string Server, string Database, string User, string Password, int Port, string Driver, string Option)
            {
                int StackPointer = Stack.Add($"Engines.Load.ODBC({Server},{Database})");
                Dictionary <string, string> Data = new Dictionary <string, string>
                {
                    ["Driver"]   = Driver,
                    ["Server"]   = Server,
                    ["Port"]     = Port.ToString(CultureInfo.InvariantCulture),
                    ["User"]     = User,
                    ["Password"] = Password,
                    ["Option"]   = Option,
                    ["Database"] = Database
                };

                Stack.Exit(StackPointer);
                return(DB(EnginesMode.ODBC, Data));
            }
Exemple #29
0
            public static void MemoryDB(EnginesMode Mode)
            {
                int StackPointer = Stack.Add($"Engines.Load.MemoryDB({Mode})");

                switch (Mode)
                {
                case EnginesMode.SQLITE:
                    LDDataBase.Connection = "Data Source=:memory:;Version=3;New=True;";
                    AddToList("", LDDataBase.ConnectSQLite(""), "SQLITE MEM DB", EnginesMode.SQLITE, "URI=;");
                    LDDataBase.Connection = string.Empty;
                    break;

                default:
                    throw new NotImplementedException();
                }
                Stack.Exit(StackPointer);
            }
Exemple #30
0
        public static void CheckForUpdates(string downloadlocation, string URI = GlobalStatic.OnlineDB_Refrence_Location, bool UI = true)
        {
            int StackReference = Stack.Add($"Utilities.Updater.CheckForUpdates({UI})");

            if (string.IsNullOrWhiteSpace(UpdaterDB) == false || LDNetwork.DownloadFile(downloadlocation, URI) != -1)
            {
                int LatestVersion = LatestUpdate();
                int.TryParse(GlobalStatic.VersionID, out int CurrentVersion);

                string[] Locations         = FetchLinks();
                string   DownloadLocation  = Locations[0];
                string   DownloadLocation2 = Locations[1];

                if (CurrentVersion == LatestVersion && UI == true)
                {
                    GraphicsWindow.ShowMessage("There are no updates available", Language.Localization["NoUpdates"] ?? "No Updates"); //TODO LOCALIZE
                }
                else if (CurrentVersion > LatestVersion && UI == true)
                {
                    GraphicsWindow.ShowMessage("You have a more recent edition of the program than that offered to the public.\nYou have version " + CurrentVersion + " while the most recent public release is version " + LatestVersion,
                                               Language.Localization["NoUpdates"] ?? "No Updates");
                }
                else if (CurrentVersion < LatestVersion)
                {
                    if (LDDialogs.Confirm($"Do you wish to download Version {LatestVersion }? You have Version {CurrentVersion}.", "Download Update") == "Yes") //TODO LOCALIZE
                    {
                        if (Download(DownloadLocation) == false)
                        {
                            Download(DownloadLocation2);
                        }
                    }
                }
                Primitive Temp = GlobalStatic.Settings["Updates"];
                Temp["LastCheck"] = DateTime.Now.ToString("yyyy-MM-dd");
                GlobalStatic.Settings["Updates"] = Temp;
                Settings.Save();
                Settings.Load(GlobalStatic.RestoreSettings, GlobalStatic.SettingsPath);
            }
            else
            {
                GraphicsWindow.ShowMessage(
                    Language.Localization["Check Log"],
                    Language.Localization["Error"]);
            }
            Stack.Exit(StackReference);
        }