Example #1
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);
     }
 }
Example #2
0
        /*
         * Реализация
         */

        #region private void FillBundle(FuelTankCondition condition, Label labelTitle, TextBox textRemain, TextBox textOnBoard, TextBox textCorrection)
        /// <summary>
        /// Заполняет информацию о отпливных баках
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="labelTitle"></param>
        /// <param name="textRemain"></param>
        /// <param name="textOnBoard"></param>
        /// <param name="textCorrection"></param>
        private void FillBundle(FuelTankCondition condition, Label labelTitle, TextBox textRemain, TextBox textOnBoard, TextBox textCorrection)
        {
            if (condition != null)
            {
                labelTitle.Text     = condition.Tank;
                textRemain.Text     = condition.Remaining.ToString();
                textOnBoard.Text    = condition.OnBoard.ToString();
                textCorrection.Text = condition.Correction.ToString();
            }
            else
            {
                labelTitle.Visible = textRemain.Visible = textOnBoard.Visible = textCorrection.Visible = false;
            }
        }
Example #3
0
        /*
         * События формы
         */

        #region private bool ConditionExists(FuelTankCondition con)
        /// <summary>
        /// Существует ли информация по уровню масла для заданного агрегата
        /// </summary>
        /// <param name="con"></param>
        /// <returns></returns>
        private bool ConditionExists(FuelTankCondition con)
        {
            //
            if (Flight == null || Flight.FuelTankCollection == null)
            {
                return(false);
            }

            //
            for (int i = 0; i < Flight.FuelTankCollection.Count; i++)
            {
                if (Flight.FuelTankCollection[i] == con)
                {
                    return(true);
                }
            }

            //
            return(false);
        }
Example #4
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();
        }
Example #5
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();
        }
Example #6
0
 ///<summary>
 /// Конструктор по умолчанию
 ///</summary>
 public FuelControlItem(FuelTankCondition cond) : this()
 {
     AttachedObject = cond;
 }