Beispiel #1
0
 /// <summary>
 /// Применяет введенные данные к стойкам шасси
 /// </summary>
 /// <param name="condition"></param>
 /// <param name="textN1"></param>
 /// <param name="textN2"></param>
 private void ApplyBundle(LandingGearCondition condition, TextBox textN1, TextBox textN2)
 {
     if (condition.LandingGear != null)
     {
         condition.TirePressure1 = UsefulMethods.StringToDouble(textN1.Text);
         condition.TirePressure2 = UsefulMethods.StringToDouble(textN2.Text);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Применяет введенные данные
 /// </summary>
 /// <param name="condition"></param>
 /// <param name="textRemain"></param>
 /// <param name="textOnBoard"></param>
 /// <param name="textCorrection"></param>
 private void ApplyBundle(FuelTankCondition condition, TextBox textRemain, TextBox textOnBoard, TextBox textCorrection)
 {
     if (condition != null)
     {
         condition.Remaining  = UsefulMethods.StringToDouble(textRemain.Text);
         condition.OnBoard    = UsefulMethods.StringToDouble(textOnBoard.Text);
         condition.Correction = UsefulMethods.StringToDouble(textCorrection.Text);
     }
 }
Beispiel #3
0
        /*
         * Перегружаемые методы
         */

        #region public override void ApplyChanges()
        /// <summary>
        /// Применить к объекту сделанные изменения на контроле.
        /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
        /// Вызов base.ApplyChanges() обязателен
        /// </summary>
        /// <returns></returns>
        public override void ApplyChanges()
        {
            if (OilCondition != null)
            {
                OilCondition.Detail   = textDetail.Text;
                OilCondition.OilAdded = UsefulMethods.StringToDouble(textAdded.Text);
                OilCondition.OnBoard  = UsefulMethods.StringToDouble(textOnBoard.Text);
            }
            //
            base.ApplyChanges();
        }
        /// <summary>
        /// Проверяет правильность ввода дробного числа
        /// </summary>
        /// <param name="textBox"></param>
        /// <returns></returns>
        private bool ValidateDoubleTextBox(TextBox textBox)
        {
            double d;

            if (!UsefulMethods.StringToDouble(textBox.Text, out d))
            {
                SimpleBalloon.Show(textBox, ToolTipIcon.Warning, "Incorrect numeric format", "Enter valid number");
                return(false);
            }

            //
            return(true);
        }
        /*
         * Перегружаемые методы
         */

        #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();
        }
Beispiel #6
0
        /// <summary>
        /// Ввели изменения в один из трех полей Correction - Обновляем сумму Total
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void textCorrection3_TextChanged(object sender, EventArgs e)
        {
            double d1, d2, d3;

            if (UsefulMethods.StringToDouble(textCorrection1.Text, out d1) &&
                UsefulMethods.StringToDouble(textCorrection2.Text, out d2) &&
                UsefulMethods.StringToDouble(textCorrection3.Text, out d3))
            {
                textCorrectionTotal.Text = (d1 + d2 + d3).ToString();
            }
            else
            {
                textCorrectionTotal.Text = "";
            }
        }
Beispiel #7
0
        /// <summary>
        /// Проверяет правильность введенных данных
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="labelTitle"></param>
        /// <param name="textN1"></param>
        /// <param name="textN2"></param>
        /// <returns></returns>
        private bool ValidateBundle(LandingGearCondition condition, Label labelTitle, TextBox textN1, TextBox textN2)
        {
            double d;

            if (!UsefulMethods.StringToDouble(textN1.Text, out d))
            {
                SimpleBalloon.Show(textN1, ToolTipIcon.Warning, "Incorrect numeric format", "Enter valid number");

                return(false);
            }
            if (!UsefulMethods.StringToDouble(textN2.Text, out d))
            {
                SimpleBalloon.Show(textN2, ToolTipIcon.Warning, "Incorrect numeric format", "Enter valid number");

                return(false);
            }

            //
            return(true);
        }
        /*
         * Перегружаемые методы
         */

        #region public override void ApplyChanges()
        /// <summary>
        /// Применить к объекту сделанные изменения на контроле.
        /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
        /// Вызов base.ApplyChanges() обязателен
        /// </summary>
        /// <returns></returns>
        public override void ApplyChanges()
        {
            if (Flight != null && Flight.FluidsCondition != null)
            {
                // Hydraulic Fluid
                Flight.FluidsCondition.HydraulicFluidAdded   = UsefulMethods.StringToDouble(textAdded.Text);
                Flight.FluidsCondition.HydraulicFluidOnBoard = UsefulMethods.StringToDouble(textOnBoard.Text);

                // De Iceing
                Flight.FluidsCondition.GroundDeIce = checkDeIce.Checked;

                TimeSpan time1, time2;
                UsefulMethods.ParseTimePeriod(textTimePeriod.Text, out time1, out time2);
                Flight.FluidsCondition.AntiIcingStartTime = time1;
                Flight.FluidsCondition.AntiIcingEndTime   = time2;
                Flight.FluidsCondition.AntiIcingFluidType = textFluidType.Text;
                Flight.FluidsCondition.AEACode            = textAEACode.Text;
            }
            //
            base.ApplyChanges();
        }
Beispiel #9
0
        /*
         * Перегружаемые методы
         */

        #region public override void ApplyChanges()
        /// <summary>
        /// Применить к объекту сделанные изменения на контроле.
        /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
        /// Вызов base.ApplyChanges() обязателен
        /// </summary>
        /// <returns></returns>
        public override void ApplyChanges()
        {
            // Применяем сделанные изменения объектам
            for (int i = 0; i < flowLayoutPanelItems.Controls.Count; i++)
            {
                FuelControlItem c = flowLayoutPanelItems.Controls[i] as FuelControlItem;
                if (c == null)
                {
                    continue;
                }
                c.ApplyChanges();
                if (Flight != null && Flight.FuelTankCollection != null && !ConditionExists(c.FuelCondition))
                {
                    Flight.FuelTankCollection.Add(c.FuelCondition);
                }
            }


            // Сохраняем общие параметры
            if (Flight != null && Flight.FuelTankCollection != null && Flight.FuelTankCollection.Count >= 1)
            {
                FuelTankCondition c = Flight.FuelTankCollection[0];
                c.CalculateUplift = UsefulMethods.StringToDouble(textCalculateUplift.Text);
                c.ActualUpliftLit = UsefulMethods.StringToDouble(textActualUplift.Text);
                c.Discrepancy     = UsefulMethods.StringToDouble(textDiscrepancy.Text);
                c.Density         = UsefulMethods.StringToDouble(textDensity.Text);

                // Сохраняем эти значения на всякий случай во все остальные записи коллекции
                for (int i = 1; i < Flight.FuelTankCollection.Count; i++)
                {
                    Flight.FuelTankCollection[i].CalculateUplift = c.CalculateUplift;
                    Flight.FuelTankCollection[i].ActualUpliftLit = c.ActualUpliftLit;
                    Flight.FuelTankCollection[i].Discrepancy     = c.Discrepancy;
                    Flight.FuelTankCollection[i].Density         = c.Density;
                }
            }


            base.ApplyChanges();
        }
Beispiel #10
0
        /*
         * Перегружаемые методы
         */

        #region public override void ApplyChanges()
        /// <summary>
        /// Применить к объекту сделанные изменения на контроле.
        /// Если не все данные удовлетворяют формату ввода (например при вводе чисел), свойства объекта не изменяются, возвращается false
        /// Вызов base.ApplyChanges() обязателен
        /// </summary>
        /// <returns></returns>
        public override void ApplyChanges()
        {
            // Сохраняем информацию о трех топливных баках
            if (Flight != null && Flight.FuelTankCollection != null && Flight.FuelTankCollection.Count >= 1)
            {
                ApplyBundle(Flight.FuelTankCollection[0], textRemain1, textOnBoard1, textCorrection1);
            }
            if (Flight != null && Flight.FuelTankCollection != null && Flight.FuelTankCollection.Count >= 2)
            {
                ApplyBundle(Flight.FuelTankCollection[1], textRemain2, textOnBoard2, textCorrection2);
            }
            if (Flight != null && Flight.FuelTankCollection != null && Flight.FuelTankCollection.Count >= 3)
            {
                ApplyBundle(Flight.FuelTankCollection[2], textRemain3, textOnBoard3, textCorrection3);
            }

            // Сохраняем общие параметры
            if (Flight != null && Flight.FuelTankCollection != null && Flight.FuelTankCollection.Count >= 1)
            {
                FuelTankCondition c = Flight.FuelTankCollection[0];
                c.CalculateUplift = UsefulMethods.StringToDouble(textCalculateUplift.Text);
                c.ActualUpliftLIT = UsefulMethods.StringToDouble(textActualUplift.Text);
                c.Discrepancy     = UsefulMethods.StringToDouble(textDiscrepancy.Text);
                c.Density         = UsefulMethods.StringToDouble(textDensity.Text);

                // Сохраняем эти значения на всякий случай во все остальные записи коллекции
                for (int i = 1; i < Flight.FuelTankCollection.Count; i++)
                {
                    Flight.FuelTankCollection[i].CalculateUplift = c.CalculateUplift;
                    Flight.FuelTankCollection[i].ActualUpliftLIT = c.ActualUpliftLIT;
                    Flight.FuelTankCollection[i].Discrepancy     = c.Discrepancy;
                    Flight.FuelTankCollection[i].Density         = c.Density;
                }
            }

            //
            base.ApplyChanges();
        }