Esempio n. 1
0
        private void BaseDetailSaved_Saved(object sender, EventArgs e)
        {
            TemplateBaseDetail baseDetail = (TemplateBaseDetail)sender;

            if (baseDetail is TemplateAircraftFrame)
            {
                aircraftFrameControl.UpdateInformation();
            }
            else if (baseDetail is TemplateEngine)
            {
                for (int i = 0; i < enginesControls.Length; i++)
                {
                    if (baseDetail.ID == ((TemplateEngine)enginesControls[i].Tag).ID)
                    {
                        enginesControls[i].UpdateInformation();
                        break;
                    }
                }
            }
            else if (baseDetail is TemplateAPU)
            {
                apuControl.UpdateInformation();
            }
            else if (baseDetail is TemplateGearAssembly)
            {
                landingGearsButtons.UpdateInformation();
            }
        }
Esempio n. 2
0
        private void UpdateAircraft(bool reloadAircraft)
        {
            try
            {
                if (reloadAircraft)
                {
                    currentAircraft.Reload(true);
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while loading data", ex);
                return;
            }
            UnHookBaseDetailEvents();
            UpdateHeader();
            aircraftInfoReference.UpdateData();

            if (flowLayoutPanelBaseDetailsContainer.Controls.Contains(apuControl))
            {
                flowLayoutPanelBaseDetailsContainer.Controls.Remove(apuControl);
            }
            for (int i = 0; i < enginesControls.Length; i++)
            {
                if (flowLayoutPanelBaseDetailsContainer.Controls.Contains(enginesControls[i]))
                {
                    flowLayoutPanelBaseDetailsContainer.Controls.Remove(enginesControls[i]);
                }
            }

            aircraftFrameControl.UpdateInformation();
            List <TemplateEngine> engines = new List <TemplateEngine>();

            engines.AddRange(currentAircraft.Engines);
            engines.Sort(new TemplateEnginePositionSerialNumberComparerDesc());
            enginesControls = new TemplateBaseDetailControl[engines.Count];
            flowLayoutPanelBaseDetailsContainer.AutoSize = false;
            for (int i = 0; i < engines.Count; i++)
            {
                if (engines[i] != null)
                {
                    enginesControls[i]          = new TemplateBaseDetailControl(engines[i]);
                    enginesControls[i].TabIndex = engines.Count - i;
                    enginesControls[i].Tag      = engines[i];
                    flowLayoutPanelBaseDetailsContainer.Controls.Add(enginesControls[i]);
                }
            }
            if (currentAircraft.Apu != null)
            {
                apuControl          = new TemplateBaseDetailControl(currentAircraft.Apu);
                apuControl.Height   = 50;
                apuControl.TabIndex = enginesControls.Length + 1;
                flowLayoutPanelBaseDetailsContainer.Controls.Add(apuControl);
            }
            flowLayoutPanelBaseDetailsContainer.AutoSize = true;
            landingGearsButtons.UpdateInformation();
            HookBaseDetailEvents();

/*                aircraftInfoReference.UpdateData();
 *          if (flowLayoutPanelBaseDetailsContainer.Controls.Contains(aircraftFrameControl))
 *              flowLayoutPanelBaseDetailsContainer.Controls.Remove(aircraftFrameControl);
 *          if (flowLayoutPanelBaseDetailsContainer.Controls.Contains(apuControl))
 *              flowLayoutPanelBaseDetailsContainer.Controls.Remove(apuControl);
 *          if (enginesControls != null)
 *          {
 *              for (int i = 0; i < enginesControls.Length; i++)
 *              {
 *                  if (flowLayoutPanelBaseDetailsContainer.Controls.Contains(enginesControls[i]))
 *                      flowLayoutPanelBaseDetailsContainer.Controls.Remove(enginesControls[i]);
 *              }
 *          }
 *          if (currentAircraft.TemplateAircraftContainer != null)
 *          {
 *              aircraftFrameControl = new TemplateBaseDetailControl(currentAircraft.TemplateAircraftContainer);
 *              aircraftFrameControl.Dock = DockStyle.Top;
 *              aircraftFrameControl.TabIndex = 0;
 *          }
 *          List<TemplateEngine> engines = new List<TemplateEngine>();
 *          engines.AddRange(currentAircraft.Engines);
 *          engines.Sort(new TemplateEnginePositionSerialNumberComparerDesc());
 *          enginesControls = new TemplateBaseDetailControl[engines.Count];
 *          for (int i = 0; i < engines.Count; i++)
 *          {
 *              if (engines[i] != null)
 *              {
 *                  enginesControls[i] = new TemplateBaseDetailControl(engines[i]);
 *                  enginesControls[i].Dock = DockStyle.Top;
 *                  enginesControls[i].TabIndex = engines.Count - i;
 *              }
 *          }
 *          if (currentAircraft.Apu != null)
 *          {
 *              apuControl = new TemplateBaseDetailControl(currentAircraft.Apu);
 *              apuControl.Dock = DockStyle.Top;
 *              apuControl.TabIndex = enginesControls.Length + 1;
 *          }
 *
 * /*
 *          if (currentAircraft.GearAssembly != null) //todo массив GearAssembly
 *          {
 *              landingGearsButtons = new TemplateLandingGearsButtonsControl(new TemplateDetail[] {});// currentAircraft.GearAssembly);
 *              landingGearsButtons.Dock = DockStyle.Top;
 *              landingGearsButtons.BackColor = Color.Transparent;
 *              landingGearsButtons.TabIndex = enginesControls.Length + 2;
 *          }
 */

            /*       flowLayoutPanelBaseDetailsContainer.Controls.Clear();
             *
             *
             *     flowLayoutPanelBaseDetailsContainer.Controls.Add(landingGearsButtons);
             *     flowLayoutPanelBaseDetailsContainer.Controls.Add(apuControl);
             *     flowLayoutPanelBaseDetailsContainer.Controls.AddRange(enginesControls);
             *     flowLayoutPanelBaseDetailsContainer.Controls.Add(aircraftFrameControl);
             *
             *     paddingPanel.SendToBack();
             *
             *     headerControl.ActionControl.ButtonEdit.Enabled =
             *         currentAircraft.HasPermission(Users.CurrentUser, DataEvent.Update);*/
        }