/// <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);
     }
 }
示例#2
0
        /// <summary>
        /// Событие нажато сохранение карточки ежедневника
        /// </summary>
        private void ButtonSave_Click(object sender, EventArgs e)
        {
            if (isCreatedRecord)
            {
                //*Создание новой записи*
                Agent[] agents = (GridAgents.Grid.DataSource as Agent[]);
                if (agents != null)
                {
                    foreach (Agent agent in agents)
                    {
                        RR.AddAgentList(agent, ref RA);
                    }
                }
                RR.Add(new Record(fieldEventDate.Value, fieldSubj.Text, fieldDescription.Text, RR.GetAgentList(), Convert.ToInt32(fieldPriority.Text)));


                SetRecordForm(false, false);

                //Загрузка сохраненных данных
                this.GridRecords.Grid.DataSource = RR.Records();
                this.GridRecords.Grid.Refresh();

                //Сохранение изменений в файл
                RR.Save();
            }
            else
            {
                //*Завершение редактирования текущей записи*
                if (RR.Count > 0)
                {
                    for (int i = 0; i < RR.Count; i++)
                    {
                        if (RR[i].GUID == this.GridRecords.GUID)
                        {
                            Record editRecord = RR[i];
                            editRecord.EventDate   = fieldEventDate.Value;
                            editRecord.Subj        = fieldSubj.Text;
                            editRecord.Description = fieldDescription.Text;
                            editRecord.Priority    = int.Parse(fieldPriority.Text);

                            Agent[] agents = (GridAgents.Grid.DataSource as Agent[]);
                            if (agents != null)
                            {
                                // Если добавлены новые контакты то надо их сохранить
                                foreach (Agent agent in agents)
                                {
                                    RA.Add(agent);
                                }
                                editRecord.Agents = agents;
                            }
                            else
                            {
                                editRecord.Agents = null;
                            }

                            SetRecordForm(false, false);

                            RR.Edit(editRecord);
                        }
                    }
                }

                //Загрузка сохраненных данных
                this.GridRecords.Grid.DataSource = RR.Records();
                this.GridRecords.Grid.Refresh();

                //Сохранение изменений в файл
                RR.Save();
            }
        }