/// <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); } }
/// <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); } }
/* * Перегружаемые методы */ #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(); }
/// <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 = ""; } }
/// <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(); }
/* * Перегружаемые методы */ #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(); }
/* * Перегружаемые методы */ #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(); }