private void mainRepositoryBindingSource_AddingNew(object sender, AddingNewEventArgs e)
        {
            //List<RepositoryLocationInfo> current = new RepositoryLocations().GetMainRepositories();
            //current.Add(new RepositoryLocationInfo("", "", true));
            //new RepositoryLocations().MainRepositories = current;

            //mainRepositoryBindingSource.DataSource = new RepositoryLocations();
            RepositoryLocations re = ((RepositoryLocations)mainRepositoryBindingSource.DataSource);

            re.MainRepositories.Add(new RepositoryLocationInfo("", "", true));

            mainRepositoryBindingSource.ResetBindings(false);
        }
Beispiel #2
0
        public void UpdateRepository()
        {
            if (!Directory.Exists(RepositoryFolder))
            {
                Directory.CreateDirectory(RepositoryFolder);
            }
            RepositoryFiles = new List <string>();

            //remove old folder
            if (Directory.Exists(RepositoryFolder + "previous"))
            {
                Directory.Delete(RepositoryFolder + "previous", true);
            }
            Directory.CreateDirectory(RepositoryFolder + "previous");
            foreach (string filename in Directory.GetFiles(RepositoryFolder, "*.xml"))
            {
                File.Copy(filename, Path.GetDirectoryName(filename) + Path.DirectorySeparatorChar + "previous" + Path.DirectorySeparatorChar + Path.GetFileName(filename));
            }

            CurrentUpdatingIndex = 0;
            Dictionary <string, string> MainRepositories = new RepositoryLocations().GetEnabledMainRepositories();

            FoundNumberOfRepositories = MainRepositories.Count;

            foreach (KeyValuePair <string, string> kv in MainRepositories)
            {
                DownloadRepositoryFiles(kv.Key, kv.Value);
            }

            CleanupOldRepositoryFiles();
            LoadRepositoryFiles();

            UpdateNewState();

            Directory.Delete(RepositoryFolder + "previous", true);
            OnUpdate(100, "Done");
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            string result = string.Empty;

            if (DataIsValid(out result))
            {
                if (mainRepositoryBindingSource.DataSource != null)
                {
                    RepositoryLocations reps = (RepositoryLocations)mainRepositoryBindingSource.DataSource;
                    reps.SaveRepository();

                    btnSave.Enabled = btnCancel.Enabled = false;

                    if (MessageBox.Show(Resources.MessageBox_RepositoryRestartConfirm, Resources.MessageBox_RepositoryRestartCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        Application.Restart();
                    }
                }
            }
            else
            {
                MessageBox.Show(Resources.MessageBox_RepositoryInfoInvalid + result, Resources.MessageBox_RepositoryInfoInvalidCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #4
0
        private static void SelectMainRepository()
        {
            RepositoryLocations _repositoryLocations = new RepositoryLocations();

            string Language = Settings.Default.UILanguage;

            if (!Enum.IsDefined(typeof(HardwareTypeEnum), Settings.Default.HardwareType))
            {
                return;
            }

            HardwareDetails det = HardwareDetailsFactory.CreateDetails((HardwareTypeEnum)Enum.Parse(typeof(HardwareTypeEnum), Settings.Default.HardwareType));

            bool found = false;
            int  i     = 0;

            while ((i < _repositoryLocations.MainRepositories.Count) && (!found))
            {
                if (_repositoryLocations.MainRepositories[i].Name.Equals("Main_Type" + det.RepositoryType + "_" + Language, StringComparison.CurrentCultureIgnoreCase))
                {
                    found = true;
                }
                else
                {
                    i++;
                }
            }



            if (found)
            {
                bool changed = false;
                foreach (RepositoryLocationInfo info in _repositoryLocations.MainRepositories)
                {
                    if (info.Name.StartsWith("Main_Type" + det.RepositoryType + "_" + Language, StringComparison.CurrentCultureIgnoreCase))
                    {
                        if (!info.Enabled)
                        {
                            info.Enabled = true;
                            changed      = true;
                        }
                    }
                    else
                    if (info.Name.StartsWith("Main_", StringComparison.CurrentCultureIgnoreCase))
                    {
                        if (info.Enabled)
                        {
                            info.Enabled = false;
                            changed      = true;
                        }
                    }
                }

                if (changed)
                {
                    _repositoryLocations.SaveRepository();
                }
            }
            else
            {
                foreach (RepositoryLocationInfo info in _repositoryLocations.MainRepositories)
                {
                    if (info.Name.StartsWith("Main_Type" + det.RepositoryType + "_English", StringComparison.CurrentCultureIgnoreCase))
                    {
                        info.Enabled = true;
                    }
                    else
                    if (info.Name.StartsWith("Main_", StringComparison.CurrentCultureIgnoreCase))
                    {
                        info.Enabled = false;
                    }
                }

                _repositoryLocations.SaveRepository();
            }
        }