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); } }
/// <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)); // }
/// <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)); // }
/* * Перегружаемые методы */ #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> /// Контрол редактирует данные о залитом масле для одного агрегата /// </summary> public EngineMonitoringControlItem(Aircraft aircraft, EngineCondition condition) : this() { _currentAircraft = aircraft; AttachedObject = condition; }
/// <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(); }