Exemplo n.º 1
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);
     }
 }
Exemplo n.º 2
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();
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Загрузка записей записной книжки из файла
        /// </summary>
        public void Load(RepositoryAgents RA, string folder = null)
        {
            string fullFileName = folder == null ? this.FileName : folder + "\\" + this.FileName;

            FileInfo fileInfo = new FileInfo(fullFileName);

            if (fileInfo.Exists)
            {
                using (StreamReader sr = new StreamReader(fullFileName))
                {
                    while (!sr.EndOfStream)
                    {
                        string[] record = sr.ReadLine().Split('#');

                        for (int i = 0; i < record.Length; i++)
                        {
                            foreach (Agent agent in RA.Agents())
                            {
                                if (i > 1 && record[i] == agent.GUID.ToString())
                                {
                                    this.AddAgentList(agent, ref RA);
                                }
                            }
                        }

                        Record addRecord = new Record();
                        addRecord.GUID        = Guid.Parse(record[0]);
                        addRecord.CreateDate  = Convert.ToDateTime(record[1]);
                        addRecord.EventDate   = Convert.ToDateTime(record[2]);
                        addRecord.Subj        = record[3];
                        addRecord.Description = record[4].Replace("Environment.NewLine", "\n");
                        addRecord.Agents      = this.GetAgentList();
                        addRecord.Priority    = Convert.ToInt32(record[5]);

                        this.Add(addRecord);
                    }
                }
            }
        }