Пример #1
0
        /// <summary>
        /// Сохраняет все записи в указанный каталог для удобства, запрещает сохранять в каталог где находится текущий источник
        /// </summary>
        private void menuSave_Click(object sender, EventArgs e)
        {
            string currentDirectory = Directory.GetCurrentDirectory();

            using (FolderBrowserDialog fbd = new FolderBrowserDialog())
            {
                fbd.SelectedPath = currentDirectory;
                if (fbd.ShowDialog() == DialogResult.OK)
                {
                    //Проверка, что не выбран текущий каталог
                    if (fbd.SelectedPath == currentDirectory)
                    {
                        MessageBox.Show("Запрещено сохранять данные в выбранное место.");
                    }
                    else
                    {
                        if (Directory.GetFiles(fbd.SelectedPath, "RepositoryRecords.csv").Length > 0)
                        {
                            if (MessageBox.Show("В указанной дирректории имеются файлы которые будут презаписаны, продолжить?", "Внимание!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                RA.Save(fbd.SelectedPath);
                                RR.Save(fbd.SelectedPath);
                            }
                        }
                        else
                        {
                            RA.Save(fbd.SelectedPath);
                            RR.Save(fbd.SelectedPath);
                        }
                    }
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Добавляет контрагентов для сохранения перед добавлением новой записи
 /// </summary>
 /// <param name="newAgent">Новый или известный КА</param>
 /// <param name="RA">Репозиторий контрагентов</param>
 public void AddAgentList(Agent newAgent, ref RepositoryAgents RA)
 {
     if (!this.AddAgentRecord.Contains(newAgent))
     {
         RA.Add(newAgent);
         RA.Save();
         this.AddAgentRecord.Add(newAgent);
     }
 }
Пример #3
0
        /// <summary>
        /// Загружает все записи из указанной директории с проверкой на существование файла
        /// </summary>
        private void menuLoad_Click(object sender, EventArgs e)
        {
            string currentDirectory = Directory.GetCurrentDirectory();

            using (OpenFileDialog fd = new OpenFileDialog())
            {
                fd.InitialDirectory = currentDirectory;
                fd.Filter           = "OWLNotebook|RepositoryRecords.csv";
                fd.DefaultExt       = "csv";
                fd.Multiselect      = false;
                if (fd.ShowDialog() == DialogResult.OK)
                {
                    FileInfo fileInfo = new FileInfo(fd.FileName);
                    if (fileInfo.DirectoryName == currentDirectory)
                    {
                        MessageBox.Show("Эти данные уже загружены.");
                    }
                    else
                    {
                        RepositoryAgents  loadRA = new RepositoryAgents();
                        RepositoryRecords loadRR = new RepositoryRecords();

                        // Загрузка из указанной директории
                        loadRA.Load(fileInfo.DirectoryName);
                        loadRR.Load(loadRA, fileInfo.DirectoryName);
                        RA = loadRA;
                        RR = loadRR;

                        // Сохранение в текущий репозиторий
                        RA.Save();
                        RR.Save();

                        // Отменяем редактирование или создание записей
                        this.SetRecordForm(false, false);

                        // Загружаем текущие данные
                        this.GridRecords.Grid.DataSource = RR.Records();
                        this.GridRecords.Grid.Refresh();

                        // Обновление данных на форме
                        this.RefrashRecord();
                    }
                }
            }
        }