protected override void FillDisplayerRequestedParams(ReferenceEventArgs e) { if (SelectedItem != null) { e.TypeOfReflection = ReflectionTypes.DisplayInNew; if (SelectedItem is Component) { Component d = (Component)SelectedItem; if (d.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.MaintenanceMaterials) || d.GoodsClass.IsNodeOrSubNodeOf(GoodsClass.Tools)) { e.Cancel = true; ConsumablePartAndKitForm form = new ConsumablePartAndKitForm(d); form.ShowDialog(); } else { var location = d.ParentAircraftId > 0 ? $"{d.GetParentAircraftRegNumber()}." : d.ParentOperator != null ? $"{d.ParentOperator.Name}." : ""; //TODO:(Evgenii Babak) заменить на использование OperatorCore e.DisplayerText = location + " Component PN " + d.PartNumber; e.RequestedEntity = new ComponentScreenNew(d); } } else { var d = ((ComponentDirective)SelectedItem).ParentComponent; var location = d.ParentAircraftId > 0 ? $"{d.GetParentAircraftRegNumber()}." : d.ParentOperator != null ? $"{d.ParentOperator.Name}." : "";//TODO:(Evgenii Babak) заменить на использование OperatorCore e.DisplayerText = location + " Component PN " + d.PartNumber; e.RequestedEntity = new ComponentScreenNew(d); } } }
private void AddToWorkPackageItemClick(object sender, EventArgs e) { var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(_currentComponent.ParentAircraftId); //TODO:(Evgenii Babak) пересмотреть использование ParentAircrafId здесь if (listViewCompliance.SelectedItems.Count <= 0 || parentAircraft == null) { return; } WorkPackage wp = (WorkPackage)((ToolStripMenuItem)sender).Tag; if (MessageBox.Show("Add item to Work Package: " + wp.Title + "?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { List <NextPerformance> nextPerformances = listViewCompliance.SelectedItems .Cast <ListViewItem>() .Where(lvi => lvi.Tag is NextPerformance) .Select(lvi => lvi.Tag as NextPerformance) .ToList(); if (nextPerformances.Count == 0) { MessageBox.Show("Not select next compliance to adding", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { string message; if (!GlobalObjects.WorkPackageCore.AddToWorkPakage(nextPerformances, wp.ItemId, parentAircraft, out message)) { MessageBox.Show(message, (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.OK, MessageBoxIcon.Error); return; } foreach (NextPerformance np in nextPerformances) { np.BlockedByPackage = wp; UpdateItemColor(np); } if (MessageBox.Show("Items added successfully. Open work package?", (string)new GlobalTermsProvider()["SystemName"], MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { ReferenceEventArgs refArgs = new ReferenceEventArgs(); refArgs.TypeOfReflection = ReflectionTypes.DisplayInNew; refArgs.DisplayerText = $"{_currentComponent.GetParentAircraftRegNumber()}.{wp.Title}"; refArgs.RequestedEntity = new WorkPackageScreen(wp); InvokeDisplayerRequested(refArgs); } } catch (Exception ex) { Program.Provider.Logger.Log("error while create Work Package", ex); } } }