Exemplo n.º 1
0
        /// <summary>
        /// Выполняет проверку валидности XML, существование указанных путей, для корректной работы FSW.
        /// </summary>
        /// <param name="Directories"></param>
        /// <param name="path"></param>
        private void Loads(Directories Directories, string path)
        {
            XmlSerializer deserializer = new XmlSerializer(typeof(Directories));

            try
            {
                using (TextReader textReader = new StreamReader(path))
                {
                    Directories = (Directories)deserializer.Deserialize(textReader);
                    for (int j = 0; j < Directories.DirectLinks.Length; j++)
                    {
                        if (Directory.Exists(Directories.DirectLinks[j]))
                        {
                            link = Directories.DirectLinks[j];
                            vs.Add(link);
                            watcher = new FileSystemWatcher(link);
                            watchers.Add(watcher);
                            listBox1.Items.Add(link);
                        }
                        else
                        {
                            if (MessageBox.Show("Указанный путь не существует. Пропустить?", "Ошибка!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                continue;
                            }
                            else
                            {
                                //link = Directories.DirectLinks[j];
                                //listBox1.Items.Add(link);
                                Close();
                            }
                        }
                    }
                }
            }
            catch
            {
                if (MessageBox.Show("Файл не найден или имеет недопустимую структуру. Создать новый файл?", "Сообщение", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Exit(Directories, path);
                }
                else
                {
                    Close();
                }
            }
        }