Esempio n. 1
0
        /*
         * Реализация
         */

        #region private void BuildControls()
        /// <summary>
        /// Строит нужные контролы
        /// </summary>
        private void BuildControls()
        {
            // Освобождаем старые контролы
            flowLayoutPanel1.Controls.Clear();


            int count = 5;

            if (Flight != null && Flight.OilConditionCollection != null && Flight.OilConditionCollection.Count > count)
            {
                count = Flight.OilConditionCollection.Count;
            }

            for (int i = 0; i < count; i++)
            {
                // Добавляем контрол для ввода данных по маслу
                ComponentOilControl c = new ComponentOilControl();
                if (Flight != null && Flight.OilConditionCollection != null && i < Flight.OilConditionCollection.Count)
                {
                    c.OilCondition = Flight.OilConditionCollection[i];
                }
                else if (Flight != null)
                {
                    ComponentOilCondition condition = new ComponentOilCondition();
                    c.OilCondition = condition;
                }
                //
                this.flowLayoutPanel1.Controls.Add(c);
            }
        }
Esempio n. 2
0
        private void OilConditionControlDeleted(object sender, EventArgs e)
        {
            ComponentOilControl   control = (ComponentOilControl)sender;
            ComponentOilCondition cond    = control.OilCondition;

            if (cond.ItemId > 0 && MessageBox.Show("Do you really want to delete oil condition?", "Deleting confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
            {
                //если информация о состоянии сохранена в БД
                //и получен положительный ответ на ее удаление
                try
                {
                    GlobalObjects.NewKeeper.Delete(cond);
                }
                catch (Exception ex)
                {
                    Program.Provider.Logger.Log("Error while removing data", ex);
                }

                flowLayoutPanelMain.Controls.Remove(control);
                control.Deleted             -= OilConditionControlDeleted;
                control.AfterRemainChanget  -= ItemAfterRemainChanget;
                control.RefuelChanget       -= ItemRefuelChanget;
                control.OnBoardChanget      -= ItemOnBoardChanget;
                control.SpentChanget        -= ItemSpentChanget;
                control.BeforeRemainChanget -= ItemBeforeRemainChanget;
                control.ComponentChanget    -= ItemComponentChanget;
                control.OilFlowChanget      -= ItemFlowChanget;
                SetOilFlow(control.PowerUnit);

                control.Dispose();
            }
            else if (cond.ItemId <= 0)
            {
                flowLayoutPanelMain.Controls.Remove(control);
                control.Deleted             -= OilConditionControlDeleted;
                control.AfterRemainChanget  -= ItemAfterRemainChanget;
                control.RefuelChanget       -= ItemRefuelChanget;
                control.OnBoardChanget      -= ItemOnBoardChanget;
                control.SpentChanget        -= ItemSpentChanget;
                control.BeforeRemainChanget -= ItemBeforeRemainChanget;
                control.ComponentChanget    -= ItemComponentChanget;
                control.OilFlowChanget      -= ItemFlowChanget;

                SetOilFlow(control.PowerUnit);

                control.Dispose();
            }

            GetTotalBefore();
            GetTotalRefuel();
            GetTotalOnBoard();
            GetTotalSpent();
            GetTotalAfter();
        }
Esempio n. 3
0
        /// <summary>
        /// Существует ли информация по уровню масла для заданного агрегата
        /// </summary>
        /// <param name="con"></param>
        /// <returns></returns>
        private bool ConditionExists(ComponentOilCondition con)
        {
            //
            if (Flight == null || Flight.OilConditionCollection == null)
            {
                return(false);
            }

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

            //
            return(false);
        }
Esempio n. 4
0
 /// <summary>
 /// Контрол редактирует данные о залитом масле для одного агрегата
 /// </summary>
 public ComponentOilControl(Aircraft aircraft, ComponentOilCondition condition): this()
 {
     _currentAircraft = aircraft;
     AttachedObject = condition;
 }