protected bool AddNewDirective(bool changePageName)
        {
            if (generalDataAndPerformanceControl.Description == "")
            {
                MessageBox.Show("You should enter Title", new GlobalTermsProvider()["SystemName"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }
            if (generalDataAndPerformanceControl.RepeatInterval == null)
            {
                MessageBox.Show("You should enter Repeat Interval", new GlobalTermsProvider()["SystemName"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(false);
            }
            if (!generalDataAndPerformanceControl.SaveData(addedDirective, changePageName))
            {
                return(false);
            }
            addedDirective.FirstPerformSinceNew = new Lifelength(generalDataAndPerformanceControl.RepeatInterval);
            if (parentBaseDetail is Aircraft)
            {
                addedDirective.EffectivityDate = ((Aircraft)parentBaseDetail).ManufactureDate;
            }
            else
            {
                addedDirective.EffectivityDate = ((BaseDetail)parentBaseDetail).ParentAircraft.ManufactureDate;
            }
            addedDirective.PerformSinceEffectivityDate = true;
            addedDirective.RepeatedlyPerform           = true;
            parentBaseDetail.Add(addedDirective);

/*            if (addedDirective.DirectiveType == DirectiveTypeCollection.Instance.SBDirectiveType)
 *          {
 *              if (generalDataAndPerformanceControl.Supersedes != "")
 *              {
 *                  BaseDetailDirective directive = GetSBDirectiveByTitle(generalDataAndPerformanceControl.Supersedes);
 *                  if (directive != null)
 *                  {
 *                      directive.SupersededBy = currentDirective.Title;
 *                      directive.Save();
 *                      DetailRecord record = new DetailRecord();
 *                      record.RecordType = RecordTypesCollection.Instance.DirectiveSupersedingRecordType;
 *                      directive.AddRecord(record);
 *                  }
 *              }
 *              if (generalDataAndPerformanceControl.SupersededBy != "")
 *              {
 *                  BaseDetailDirective directive =
 *                      GetSBDirectiveByTitle(generalDataAndPerformanceControl.SupersededBy);
 *                  if (directive != null)
 *                  {
 *                      directive.Supersedes = currentDirective.Title;
 *                      directive.Save();
 *                      DetailRecord record = new DetailRecord();
 *                      record.RecordType = RecordTypesCollection.Instance.DirectiveSupersedingRecordType;
 *                      currentDirective.AddRecord(record);
 *                  }
 *              }
 *          }*/
            return(true);
        }
예제 #2
0
 /// <summary>
 /// Сохранение измененных данных в редактируемом элементе
 /// </summary>
 public void SaveData()
 {
     if (!generalDataAndPerformanceControl.SaveData())
     {
         return;
     }
     try
     {
         currentDirective.EffectivityDate = ((Aircraft)currentDirective.Parent.Parent).ManufactureDate;
         currentDirective.Save(true);
         ReloadDirective();
     }
     catch (Exception ex)
     {
         Program.Provider.Logger.Log("Error while saving data", ex);
     }
 }