///<summary> ///</summary> private void UpdateInformation() { if (_currentDirctive == null || _currentDirctive.DamageDocs == null || _currentAircraft == null) { return; } if (_currentDirctive.DamageDocs.Count == 0) { //если у родителя нет ни одного Damage Doc-а, то ему добавляется в коллекцию Damage Doc-ов //пустой Damage Doc, ради того, что бы при появлении формы она не была пустой //если пользователь не изменит объект пустого Damage Doc-а, то данный Damage Doc при //закрытии формы не сохранится и произоидет удаление всех пустых Damage Doc-ов из //коллекции Damage Doc-ов родителя DamageDocument damageDoc = new DamageDocument(1, _currentDirctive.ItemId); _currentDirctive.DamageDocs.Add(damageDoc); DamageDocument imageDoc = new DamageDocument(2, _currentDirctive.ItemId); _currentDirctive.DamageDocs.Add(imageDoc); } int countCharts = 0, countImages = 0; foreach (DamageDocument doc in _currentDirctive.DamageDocs) { if (doc.DocumentTypeId == 1) { DamageChartFileControlNew docControl = new DamageChartFileControlNew(doc, _currentAircraft); docControl.Extended = countCharts == 0; countCharts++; _damageChartsFileControls.Add(docControl); docControl.Deleted += ChartDeleted; flowLayoutPanelCharts.Controls.Remove(panelButtonsFiles); flowLayoutPanelCharts.Controls.Add(docControl); flowLayoutPanelCharts.Controls.Add(panelButtonsFiles); } if (doc.DocumentTypeId == 2) { DamageChartImageControl docControl = new DamageChartImageControl(doc); if (countImages == 0) { docControl.Extended = true; } else { docControl.Extended = false; } countImages++; _damageImagesFileControls.Add(docControl); docControl.Deleted += ImageDeleted; flowLayoutPanelImages.Controls.Remove(panelButtonsImages); flowLayoutPanelImages.Controls.Add(docControl); flowLayoutPanelImages.Controls.Add(panelButtonsImages); } } }
void ImageDeleted(object sender, EventArgs e) { DamageChartImageControl control = (DamageChartImageControl)sender; DamageDocument doc = control.DamageDocument; GlobalObjects.CasEnvironment.Manipulator.Delete(doc); _currentDirctive.DamageDocs.Remove(control.DamageDocument); _damageImagesFileControls.Remove(control); flowLayoutPanelImages.Controls.Remove(control); }
private void ButtonAddImageClick(object sender, EventArgs e) { DamageDocument newDoc = new DamageDocument(2, _currentDirctive.ItemId); _currentDirctive.DamageDocs.Add(newDoc); DamageChartImageControl newImage = new DamageChartImageControl(newDoc); _damageImagesFileControls.Add(newImage); newImage.Deleted += ImageDeleted; flowLayoutPanelImages.Controls.Remove(panelButtonsImages); flowLayoutPanelImages.Controls.Add(newImage); flowLayoutPanelImages.Controls.Add(panelButtonsImages); }