/* * Реализация */ #region private void BuildControls() /// <summary> /// Строит нужные контролы /// </summary> private void BuildControls() { // Освобождаем старые контролы flowLayoutPanelMain.Controls.Clear(); flowLayoutPanelMain.Controls.Add(label); if (Flight != null && Flight.EngineAccelerationTimeCollection != null) { var aircraft = GlobalObjects.AircraftsCore.GetAircraftById(Flight.AircraftId); List <EngineAccelerationTime> runUps = Flight.EngineAccelerationTimeCollection.ToArray().Where(r => r.BaseComponent.BaseComponentType.ItemId == _componentType.ItemId). ToList(); //группировка запусков по ИД детали и определение первого запуска в каждой группе for (int i = 0; i < runUps.Count; i++) { // Добавляем контрол для ввода данных по запускам PowerUnitAccelerationControlItem c = new PowerUnitAccelerationControlItem(aircraft, runUps[i]) { DetailLabelText = _componentType.ToString() }; if (i > 0) { c.ShowHeaders = false; } flowLayoutPanelMain.Controls.Add(c); } } flowLayoutPanelMain.Controls.Add(panelAdd); }
/* * Реализация */ #region private void BuildControls() /// <summary> /// Строит нужные контролы /// </summary> private void BuildControls() { // Освобождаем старые контролы flowLayoutPanelMain.Controls.Clear(); if (Flight != null && Flight.RunupsCollection != null) { var aircraft = GlobalObjects.AircraftsCore.GetAircraftById(Flight.AircraftId); List <RunUp> runUps = Flight.RunupsCollection.ToArray().Where(r => r.BaseComponent.BaseComponentType.ItemId == _componentType.ItemId). ToList(); //группировка запусков по ИД детали и определение первого запуска в каждой группе List <RunUp> firsts = Flight.RunupsCollection.GroupBy(r => r.BaseComponentId).Select(ups => ups.First()).ToList(); for (int i = 0; i < runUps.Count; i++) { // Добавляем контрол для ввода данных по запускам PowerUnitRunupControl c = new PowerUnitRunupControl(aircraft, Flight, runUps[i]) { DetailLabelText = _componentType.ToString(), FligthDate = _flightDate, }; if (i > 0) { c.ShowHeaders = false; } //если добавляемый запуск является первым в группе, то блокируется список выбора foreach (RunUp first in firsts) { if (runUps[i] == first) { c.EnableDetailCombobox = false; } else { c.Deleted += RunUpControlDeleted; } } c.WorkTimeChanged += RunUpControlWorkTimeChanged; flowLayoutPanelMain.Controls.Add(c); RunUpControlWorkTimeChanged(c, null); } } flowLayoutPanelMain.Controls.Add(panelAddRunUp); }
/* * Реализация */ #region private void BuildControls() /// <summary> /// Строит нужные контролы /// </summary> private void BuildControls() { // Освобождаем старые контролы flowLayoutPanelMain.Controls.Clear(); flowLayoutPanelMain.Controls.Add(label); if (Flight != null && Flight.PowerUnitTimeInRegimeCollection != null) { var aircraft = GlobalObjects.AircraftsCore.GetAircraftById(Flight.AircraftId); List <EngineTimeInRegime> runUps = Flight.PowerUnitTimeInRegimeCollection.ToArray().Where(r => r.BaseComponent.BaseComponentType.ItemId == _componentType.ItemId). ToList(); //группировка запусков по ИД детали и определение первого запуска в каждой группе for (int i = 0; i < runUps.Count; i++) { // Добавляем контрол для ввода данных по запускам PowerUnitTimeInRegimeControlItem c = new PowerUnitTimeInRegimeControlItem(aircraft, runUps[i]) { DetailLabelText = _componentType.ToString() }; if (i > 0) { c.ShowHeaders = false; } c.Deleted += OilConditionControlDeleted; c.PowerUnitChanget += ConditionControlPowerUnitChanget; c.FligthRegimeChanget += ConditionControlFlightRegimeChanget; c.WorkTimeChanget += ConditionControlWorkTimeChanget; flowLayoutPanelMain.Controls.Add(c); //Обновление информации об общем времени работы //заданной силовой установки в заданном режиме SetWorkTimeGA(c.PowerUnit, c.FlightRegime); } } flowLayoutPanelMain.Controls.Add(panelAdd); }