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); }
/// <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); } }