public static void LoadBackupStatus(MyBackup backup)
        {
            var MyIni      = new IniFile("BackupStatus.ini");
            var StrIndexes = MyIni.ReadString("Configuration", "Indexes#" + backup.MyIndex, "");

            int[] Indexes = StrIndexes.Split(',').Select(x => int.TryParse(x, out var i) ? i : 0).ToArray();

            foreach (var i in Indexes)
            {
                string Section = "Status#" + backup.MyIndex + "#" + i.ToString();
                int    MyIndex = MyIni.ReadInt32(Section, "MyIndex", 0);
                if (MyIndex > 0)
                {
                    var state = new BackupState()
                    {
                        StateIndex            = MyIndex,
                        backup                = backup,
                        FullPath              = MyIni.ReadString(Section, "FullPath"),
                        BackupDateTime        = MyIni.ReadInt64(Section, "BackupDateTime"),
                        DefaultBackupDateTime = MyIni.ReadInt64(Section, "DefaultBackupDateTime"),
                        Warning               = MyIni.ReadBoolean(Section, "Warning"),
                        WarningMessage        = MyIni.ReadString(Section, "WarningMessage"),
                        FullWarning           = MyIni.ReadString(Section, "FullWarning"),
                        Read = MyIni.ReadBoolean(Section, "Read"),
                    };

                    backup.BackupStatus.Add(state);
                }
            }
        }
        public static void SaveBackup(MyBackup backup)
        {
            var MyIni   = new IniFile("Configuration.ini");
            var Section = "Configuration#";

            if (backup.MyIndex == 0)
            {
                var MaxIndex = MyIni.ReadInt32("Configuration", "MaxIndex", 0) + 1;
                backup.MyIndex = MaxIndex;
                Section       += MaxIndex.ToString();

                MyIni.Write("Configuration", "MaxIndex", MaxIndex);
            }
            else
            {
                Section += backup.MyIndex.ToString();
            }


            MyIni.Write(Section, "MyIndex", backup.MyIndex);
            MyIni.Write(Section, "IsEnabled", backup.IsEnabled);
            MyIni.Write(Section, "BackupName", backup.BackupName);
            MyIni.Write(Section, "Host", backup.Host);
            MyIni.Write(Section, "Database", backup.Database);
            MyIni.Write(Section, "Authentication", backup.Authentication);
            MyIni.Write(Section, "Username", backup.Username);
            MyIni.Write(Section, "Password", backup.Password);
            MyIni.Write(Section, "SavePassword", backup.SavePassword);
            MyIni.Write(Section, "BackupPath", backup.BackupPath);
            MyIni.Write(Section, "Repeat", backup.Repeat);
            MyIni.Write(Section, "Time", backup.Time);
            MyIni.Write(Section, "Sat", backup.Sat);
            MyIni.Write(Section, "Sun", backup.Sun);
            MyIni.Write(Section, "Mon", backup.Mon);
            MyIni.Write(Section, "Tue", backup.Tue);
            MyIni.Write(Section, "Wed", backup.Wed);
            MyIni.Write(Section, "Thu", backup.Thu);
            MyIni.Write(Section, "Fri", backup.Fri);
            MyIni.Write(Section, "Specific", backup.Specific);
            MyIni.Write(Section, "Every", backup.Every);
            MyIni.Write(Section, "SpecificType", (int)backup.SpecificType);
            MyIni.Write(Section, "LastBackup", backup.LastBackup);

            if (!MyBackups.Contains(backup))
            {
                MyBackups.Add(backup);
            }
        }
        public static void LoadBackups(MainMenu mainMenu)
        {
            var MyIni    = new IniFile("Configuration.ini");
            var MaxIndex = MyIni.ReadInt32("Configuration", "MaxIndex", 0);

            for (int i = 0; i < MaxIndex; i++)
            {
                var Section = "Configuration#" + (i + 1).ToString();
                var MyIndex = MyIni.ReadInt32(Section, "MyIndex", 0);
                if (MyIndex > 0)
                {
                    var backup = new MyBackup()
                    {
                        MyIndex        = MyIndex,
                        IsEnabled      = MyIni.ReadBoolean(Section, "IsEnabled"),
                        BackupName     = MyIni.ReadString(Section, "BackupName"),
                        Host           = MyIni.ReadString(Section, "Host"),
                        Database       = MyIni.ReadString(Section, "Database"),
                        Authentication = MyIni.ReadBoolean(Section, "Authentication"),
                        Username       = MyIni.ReadString(Section, "Username"),
                        Password       = MyIni.ReadString(Section, "Password"),
                        SavePassword   = MyIni.ReadBoolean(Section, "SavePassword"),
                        BackupPath     = MyIni.ReadString(Section, "BackupPath"),
                        Repeat         = MyIni.ReadBoolean(Section, "Repeat"),
                        Time           = MyIni.ReadInt64(Section, "Time"),
                        Sat            = MyIni.ReadBoolean(Section, "Sat"),
                        Sun            = MyIni.ReadBoolean(Section, "Sun"),
                        Mon            = MyIni.ReadBoolean(Section, "Mon"),
                        Tue            = MyIni.ReadBoolean(Section, "Tue"),
                        Wed            = MyIni.ReadBoolean(Section, "Wed"),
                        Thu            = MyIni.ReadBoolean(Section, "Thu"),
                        Fri            = MyIni.ReadBoolean(Section, "Fri"),
                        Specific       = MyIni.ReadBoolean(Section, "Specific"),
                        Every          = MyIni.ReadDecimal(Section, "Every"),
                        SpecificType   = (SpecificTypes)MyIni.ReadInt32(Section, "SpecificType"),
                        LastBackup     = MyIni.ReadInt64(Section, "LastBackup"),
                    };

                    MyBackups.Add(backup);
                    LoadBackupStatus(backup);
                }
            }

            mainMenu.BackupsLoaded();
        }
        public static void DeleteBackup(MyBackup backup)
        {
            while (backup.BackupStatus.Count > 0)
            {
                DeleteBackupState(backup.BackupStatus[0]);
            }

            IniFile MyIni = new IniFile("Configuration.ini");

            MyIni.DeleteSection("Configuration#" + backup.MyIndex);
            MyBackups.Remove(backup);
            int MaxIndex;

            if (MyBackups.Count == 0)
            {
                MaxIndex = 0;
            }
            else
            {
                MaxIndex = MyBackups.Max(x => x.MyIndex);
            }
            MyIni.Write("Configuration", "MaxIndex", MaxIndex.ToString());
        }