Esempio n. 1
0
 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);
         }
     }
 }
Esempio n. 2
0
        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);
                }
            }
        }