コード例 #1
0
        private void ConditionControlDeleted(object sender, EventArgs e)
        {
            EngineMonitoringControlItem control = (EngineMonitoringControlItem)sender;
            EngineCondition             cond    = control.Condition;

            if (cond.ItemId > 0 && MessageBox.Show("Do you really want to delete engine condition?", "Deleting confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                //если информация о состоянии сохранена в БД
                //и получен положительный ответ на ее удаление
                try
                {
                    GlobalObjects.CasEnvironment.NewKeeper.Delete(cond);
                }
                catch (Exception ex)
                {
                    Program.Provider.Logger.Log("Error while removing data", ex);
                }

                flowLayoutPanelEngineConditions.Controls.Remove(control);
            }
            else if (cond.ItemId <= 0)
            {
                flowLayoutPanelEngineConditions.Controls.Remove(control);
            }
        }
コード例 #2
0
        /// <summary>
        /// Существует ли информация по уровню масла для заданного агрегата
        /// </summary>
        /// <param name="con"></param>
        /// <returns></returns>
        private bool ConditionExists(EngineCondition con)
        {
            //
            if (Flight == null || Flight.EngineConditionCollection == null)
            {
                return(false);
            }

            //
            return(Flight.EngineConditionCollection.Any(t => t == con));

            //
        }
コード例 #3
0
        /// <summary>
        /// Существует ли информация по уровню масла для заданного агрегата
        /// </summary>
        /// <param name="con"></param>
        /// <returns></returns>
        private bool ConditionExists(EngineCondition con)
        {
            //
            if (EngineGeneral == null || EngineGeneral.EngineConditions == null)
            {
                return(false);
            }

            //
            return(EngineGeneral.EngineConditions.Any(t => t == con));

            //
        }
コード例 #4
0
        /*
         * Перегружаемые методы
         */

        #region public override void ApplyChanges()
        /// <summary>
        /// Применить к объекту сделанные изменения на контроле.
        /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
        /// Вызов base.ApplyChanges() обязателен
        /// </summary>
        /// <returns></returns>
        public override void ApplyChanges()
        {
            // Заполняем общие данные о проведении измерений
            if (Flight != null)
            {
                EnginesGeneralCondition egc = Flight.EnginesGeneralCondition;
                egc.PressALT = textPressAlt.Text;
                TimeSpan time;
                if (TimeSpan.TryParse(textGMT.Text, out time))
                {
                    egc.TimeGMT = time;
                }
                egc.GrossWeight = UsefulMethods.StringToDouble(textGrossWeight.Text);
                egc.IAS         = UsefulMethods.StringToDouble(textIAS.Text);
                egc.MACH        = UsefulMethods.StringToDouble(textMach.Text);
                egc.TAT         = UsefulMethods.StringToDouble(textTAT.Text);
                egc.OAT         = UsefulMethods.StringToDouble(textOAT.Text);
            }

            // Заполняем данные о первом двигателе
            if (Flight != null && Flight.EngineConditions != null && Flight.EngineConditions.Length >= 1)
            {
                EngineCondition eng = Flight.EngineConditions[0];
                eng.EPR            = UsefulMethods.StringToDouble(textERP1.Text);
                eng.N1             = UsefulMethods.StringToDouble(textN11.Text);
                eng.EGT            = UsefulMethods.StringToDouble(textEGT1.Text);
                eng.N2             = UsefulMethods.StringToDouble(textN21.Text);
                eng.OilTemperature = UsefulMethods.StringToDouble(textOilTemperature1.Text);
                eng.OilPressure    = UsefulMethods.StringToDouble(textOilPressure1.Text);
                eng.FuelFlow       = UsefulMethods.StringToDouble(textFuelFlow1.Text);
                eng.FuelBurn       = UsefulMethods.StringToDouble(textFuelBurn1.Text);
            }

            // Заполняем данные о первом двигателе
            if (Flight != null && Flight.EngineConditions != null && Flight.EngineConditions.Length >= 2)
            {
                EngineCondition eng = Flight.EngineConditions[1];
                eng.EPR            = UsefulMethods.StringToDouble(textERP2.Text);
                eng.N1             = UsefulMethods.StringToDouble(textN12.Text);
                eng.EGT            = UsefulMethods.StringToDouble(textEGT2.Text);
                eng.N2             = UsefulMethods.StringToDouble(textN22.Text);
                eng.OilTemperature = UsefulMethods.StringToDouble(textOilTemperature2.Text);
                eng.OilPressure    = UsefulMethods.StringToDouble(textOilPressure2.Text);
                eng.FuelFlow       = UsefulMethods.StringToDouble(textFuelFlow2.Text);
                eng.FuelBurn       = UsefulMethods.StringToDouble(textFuelBurn2.Text);
            }

            //
            base.ApplyChanges();
        }
コード例 #5
0
 /// <summary>
 /// Контрол редактирует данные о залитом масле для одного агрегата
 /// </summary>
 public EngineMonitoringControlItem(Aircraft aircraft, EngineCondition condition) : this()
 {
     _currentAircraft = aircraft;
     AttachedObject   = condition;
 }
コード例 #6
0
        /// <summary>
        /// Обновляет значения полей
        /// </summary>
        public override void FillControls()
        {
            BeginUpdate();

            // Заполняем общие данные проведения измерений
            if (Flight != null && Flight.EnginesGeneralCondition != null)
            {
                textPressAlt.Text    = Flight.EnginesGeneralCondition.PressALT;
                textGMT.Text         = UsefulMethods.TimeToString(Flight.EnginesGeneralCondition.TimeGMT);
                textGrossWeight.Text = Flight.EnginesGeneralCondition.GrossWeight.ToString();
                textIAS.Text         = Flight.EnginesGeneralCondition.IAS.ToString();
                textMach.Text        = Flight.EnginesGeneralCondition.MACH.ToString();
                textTAT.Text         = Flight.EnginesGeneralCondition.TAT.ToString();
                textOAT.Text         = Flight.EnginesGeneralCondition.OAT.ToString();
            }
            else
            {
                textPressAlt.Text = textGMT.Text = textGrossWeight.Text = textIAS.Text = textMach.Text = textTAT.Text = textOAT.Text = "";
            }


            // Заполняем данные первого двигателя
            if (Flight != null && Flight.EngineConditions != null && Flight.EngineConditions.Length >= 1)
            {
                EngineCondition eng = Flight.EngineConditions[0];
                if (eng.Engine != null)
                {
                    labelEng1.Text = "ENG " + eng.Engine.PositionNumber;
                }
                else
                {
                    labelEng1.Text = "ENG #1";
                }
                textERP1.Text            = eng.EPR.ToString();
                textN11.Text             = eng.N1.ToString();
                textEGT1.Text            = eng.EGT.ToString();
                textN21.Text             = eng.N2.ToString();
                textOilTemperature1.Text = eng.OilTemperature.ToString();
                textOilPressure1.Text    = eng.OilPressure.ToString();
                textFuelFlow1.Text       = eng.FuelFlow.ToString();
                textFuelBurn1.Text       = eng.FuelBurn.ToString();
            }
            else
            {
                textERP1.Text          = textN11.Text = textEGT1.Text = textN21.Text = textOilTemperature1.Text = textOilPressure1.Text =
                    textFuelFlow1.Text = textFuelBurn1.Text = "";
            }

            // Заполняем данные второго двигателя
            if (Flight != null && Flight.EngineConditions != null && Flight.EngineConditions.Length >= 2)
            {
                EngineCondition eng = Flight.EngineConditions[1];
                if (eng.Engine != null)
                {
                    labelEng2.Text = "ENG " + eng.Engine.PositionNumber;
                }
                else
                {
                    labelEng2.Text = "ENG #2";
                }
                textERP2.Text            = eng.EPR.ToString();
                textN12.Text             = eng.N1.ToString();
                textEGT2.Text            = eng.EGT.ToString();
                textN22.Text             = eng.N2.ToString();
                textOilTemperature2.Text = eng.OilTemperature.ToString();
                textOilPressure2.Text    = eng.OilPressure.ToString();
                textFuelFlow2.Text       = eng.FuelFlow.ToString();
                textFuelBurn2.Text       = eng.FuelBurn.ToString();
            }
            else
            {
                textERP2.Text          = textN12.Text = textEGT2.Text = textN22.Text = textOilTemperature2.Text = textOilPressure2.Text =
                    textFuelFlow2.Text = textFuelBurn2.Text = "";
            }

            EndUpdate();
        }