예제 #1
0
        /// <summary>
        /// Обновляет отображаемую информацию
        /// </summary>
        /// <param name="sourceDetail">Агрегат по которому отображается информация</param>
        public void UpdateInformation(TemplateAbstractDetail sourceDetail)
        {
            if (sourceDetail == null)
            {
                throw new ArgumentNullException("sourceDetail");
            }

            /*          SinceNewLimitation = sourceDetail.Limitation.MaxResourceSinceNew;
             *        SinceLastShopVisitLimitation = sourceDetail.Limitation.MaxResourceSinceShopVisit;
             *        SinceLastInspectionLimitation = sourceDetail.Limitation.MaxResourceSinceInspection;
             *        SinceLastOverhaulLimitation = sourceDetail.Limitation.MaxResourceSinceOverhaul;
             *        SinceLastHotInspectionLimitation = sourceDetail.Limitation.MaxResourceSinceHotSectionInspection;
             *
             *        SinceNewNotification = sourceDetail.Limitation.NotificationSinceNew;
             *        SinceLastShopVisitNotification = sourceDetail.Limitation.NotificationSinceShopVisit;
             *        SinceLastInspectionNotification = sourceDetail.Limitation.NotificationSinceInspection;
             *        SinceLastOverhaulNotification = sourceDetail.Limitation.NotificationSinceOverhaul;
             *        SinceLastHostInspectionNotification = sourceDetail.Limitation.NotificationSinceHotSectionInspection;
             */
            bool permission = (currentDetail.HasPermission(Users.CurrentUser, DataEvent.Update));

            maxResourcesInfo.ReadOnly      = !permission;
            notifyWhenRemainsInfo.ReadOnly = !permission;
            labelRemark.Visible            = permission;
        }
예제 #2
0
 /// <summary>
 /// Создает элемент управления для отображения ограничений заданного агрегата
 /// </summary>
 /// <param name="detail">Текущий шаблонный агрегат</param>
 public TemplateDatailLimitationsMaxResourcesControl(TemplateAbstractDetail detail) : this()
 {
     if (detail == null)
     {
         throw new ArgumentNullException("detail", "Argument cannot be null");
     }
     CurrentDetail = detail;
 }
예제 #3
0
 ///<summary>
 /// Создается элемент отображения шаблонного агрегата
 ///</summary>
 /// <param name="detail">Деталь для отображения</param>
 public DispatcheredTemplateDetailScreen(TemplateAbstractDetail detail) : base(detail)
 {
     if (detail == null)
     {
         throw new ArgumentNullException("detail");
     }
     this.detail = detail;
 }
 /// <summary>
 /// Создает экземпляр отображатора информации о шаблонном агрегате
 /// </summary>
 /// <param name="currentDetail"></param>
 public TemplateDetailGeneralInformationControl(TemplateAbstractDetail currentDetail)
 {
     if (null == currentDetail)
     {
         throw new ArgumentNullException("currentDetail", "Argument cannot be null");
     }
     this.currentDetail = currentDetail;
     InitializeComponent();
 }
 /// <summary>
 /// Возвращает значение, показывающее были ли изменения в данном элементе управления
 /// </summary>
 /// <returns></returns>
 public bool GetChangeStatus(TemplateAbstractDetail detail)
 {
     if (detail is TemplateDetail)
     {
         TemplateDetail det = (TemplateDetail)detail;
         return((LLPMark != det.IncludedIntoLLP) ||
                (AvionicsInventoryMarkType != det.AvionicsInventoryMark) ||
                (ALTPN != det.AltPN) ||
                (MTOGW != det.MTOGW));
     }
     return(false);
 }
        /// <summary>
        /// Заполняет поля для редактирования шаблонного агрегата
        /// </summary>
        public void UpdateInformation(TemplateAbstractDetail detail)
        {
            if (detail == null)
            {
                throw new ArgumentNullException("detail");
            }

            PartNumber = detail.PartNumber;
            if (detail is TemplateDetail)
            {
                TemplateDetail dt = (TemplateDetail)detail;
                ATAChapter = dt.AtaChapter;
            }
            Description        = detail.Description;
            MaintenanceType    = detail.MaintenanceType;
            Model              = detail.Model;
            Manufacturer       = detail.Manufacturer;
            Amount             = detail.Amount.ToString();
            Remarks            = detail.Remarks;
            HoursApplicable    = detail.Lifelength.IsHoursApplicable;
            CyclesApplicable   = detail.Lifelength.IsCyclesApplicable;
            CalendarApplicable = detail.Lifelength.IsCalendarApplicable;

            bool permission = (detail.HasPermission(Users.CurrentUser, DataEvent.Update));

            textBoxPartNo.ReadOnly = !permission;
            if ((currentDetail is TemplateDetail) && permission)
            {
                comboBoxAtaChapter.Enabled = true;
            }
            else
            {
                comboBoxAtaChapter.Enabled = false;
            }
            textBoxDescription.ReadOnly = !permission;
            if (detail is TemplateGearAssembly)
            {
                LandingGearMark = ((TemplateGearAssembly)detail).LandingGearMark;
            }
            textBoxModel.ReadOnly                  = !permission;
            textBoxManufacturer.ReadOnly           = !permission;
            radioButtonConditionMonitoring.Enabled = permission;
            radioButtonHardTime.Enabled            = permission;
            radioButtonOnCondition.Enabled         = permission;
            radioButtonUnknown.Enabled             = permission;
            textBoxAmount.ReadOnly                 = !permission;
            textBoxRemarks.ReadOnly                = !permission;
            checkBoxCalendarApplicable.Enabled     = permission;
            checkBoxCyclesApplicable.Enabled       = permission;
            checkBoxHoursApplicable.Enabled        = permission;
        }
예제 #7
0
        /// <summary>
        /// Задаются данные агрегату
        /// </summary>
        /// <param name="destinationDetail">Агрегат у которого задаются данные</param>
        public void SaveData(TemplateAbstractDetail destinationDetail)
        {
            if (destinationDetail == null)
            {
                throw new ArgumentNullException("destinationDetail");
            }

            /*destinationDetail.Limitation.MaxResourceSinceNew = SinceNewLimitation;
             * destinationDetail.Limitation.MaxResourceSinceShopVisit = SinceLastShopVisitLimitation;
             * destinationDetail.Limitation.MaxResourceSinceInspection = SinceLastInspectionLimitation;
             * destinationDetail.Limitation.MaxResourceSinceOverhaul = SinceLastOverhaulLimitation;
             * destinationDetail.Limitation.MaxResourceSinceHotSectionInspection = SinceLastHotInspectionLimitation;
             *
             * destinationDetail.Limitation.NotificationSinceNew = SinceNewNotification;
             * destinationDetail.Limitation.NotificationSinceShopVisit = SinceLastShopVisitNotification;
             * destinationDetail.Limitation.NotificationSinceInspection = SinceLastInspectionNotification;
             * destinationDetail.Limitation.NotificationSinceOverhaul = SinceLastOverhaulNotification;
             * destinationDetail.Limitation.NotificationSinceHotSectionInspection = SinceLastHostInspectionNotification;*/
        }
예제 #8
0
        /// <summary>
        /// Задаются данные агрегату
        /// </summary>
        /// <param name="destinationDetail">Агрегат у которого задаются данные</param>
        public void SaveData(TemplateAbstractDetail destinationDetail)
        {
            if (destinationDetail == null)
            {
                throw new ArgumentNullException("destinationDetail");
            }

            maxResourcesInfo.LifeLengthViewers[0].SaveData(destinationDetail.Limitation.MaxResourceSinceNew);
            maxResourcesInfo.LifeLengthViewers[1].SaveData(destinationDetail.Limitation.MaxResourceSinceOverhaul);
            maxResourcesInfo.LifeLengthViewers[2].SaveData(destinationDetail.Limitation.MaxResourceSinceInspection);
            maxResourcesInfo.LifeLengthViewers[3].SaveData(destinationDetail.Limitation.MaxResourceSinceShopVisit);
            maxResourcesInfo.LifeLengthViewers[4].SaveData(destinationDetail.Limitation.MaxResourceSinceHotSectionInspection);

            notifyWhenRemainsInfo.LifeLengthViewers[0].SaveData(destinationDetail.Limitation.NotificationSinceNew);
            notifyWhenRemainsInfo.LifeLengthViewers[1].SaveData(destinationDetail.Limitation.NotificationSinceOverhaul);
            notifyWhenRemainsInfo.LifeLengthViewers[2].SaveData(destinationDetail.Limitation.NotificationSinceInspection);
            notifyWhenRemainsInfo.LifeLengthViewers[3].SaveData(destinationDetail.Limitation.NotificationSinceShopVisit);
            notifyWhenRemainsInfo.LifeLengthViewers[4].SaveData(destinationDetail.Limitation.NotificationSinceHotSectionInspection);
        }
        /// <summary>
        /// Сохраняются данные заданного шаблонного агрегата
        /// </summary>
        /// <param name="abstractDetail">Шаблонный агрегат у которого сохраняются данные</param>
        public void SaveData(TemplateAbstractDetail abstractDetail)
        {
            if (abstractDetail == null)
            {
                throw new ArgumentNullException("abstractDetail");
            }

            if (abstractDetail is TemplateDetail)
            {
                TemplateDetail detail = (TemplateDetail)abstractDetail;

                detail.IncludedIntoLLP       = LLPMark;
                detail.AvionicsInventoryMark = AvionicsInventoryMarkType;
                detail.AltPN = ALTPN;
                detail.MTOGW = MTOGW;
            }
            if (abstractDetail is TemplateEngine)
            {
                abstractDetail.HushKit_ = HusKit;
            }
        }
 /// <summary>
 /// Возвращает значение, показывающее были ли изменения в данном элементе управления
 /// </summary>
 /// <returns></returns>
 public bool GetChangeStatus(TemplateAbstractDetail detail)
 {
     if (detail is TemplateDetail)
     {
         TemplateDetail det = (TemplateDetail)detail;
         if (ATAChapter != det.AtaChapter)
         {
             return(true);
         }
     }
     return((PartNumber != detail.PartNumber) ||
            (Description != detail.Description) ||
            (detail is TemplateGearAssembly ? LandingGearMark != ((TemplateGearAssembly)detail).LandingGearMark : false) ||
            (MaintenanceType != detail.MaintenanceType) ||
            (Model != detail.Model) ||
            (Manufacturer != detail.Manufacturer) ||
            (Amount != detail.Amount.ToString()) ||
            (Remarks != detail.Remarks) ||
            (HoursApplicable != detail.Lifelength.IsHoursApplicable) ||
            (CyclesApplicable != detail.Lifelength.IsCyclesApplicable) ||
            (CalendarApplicable != detail.Lifelength.IsCalendarApplicable));
 }
예제 #11
0
 /// <summary>
 /// Возвращает значение, показывающее были ли изменения в данном элементе управления
 /// </summary>
 /// <returns></returns>
 public bool GetChangeStatus(TemplateAbstractDetail detail)
 {
     //return (detail.Limitation.Modified);
     throw new NotImplementedException("Methods is not implemented");
 }
        /// <summary>
        /// Обновляет отображаемую информацию
        /// </summary>
        /// <param name="abstractDetail">Шаблонный агрегат по которому отображается информация</param>
        public void UpdateInformation(TemplateAbstractDetail abstractDetail)
        {
            if (abstractDetail == null)
            {
                throw new ArgumentNullException("abstractDetail");
            }
            bool permission = abstractDetail.HasPermission(Users.CurrentUser, DataEvent.Update);

            if (abstractDetail is TemplateDetail)
            {
                checkBoxLLP.Visible    = true;
                labelLLPRemark.Visible = true;
                LandingGearVisible     = true;
                checkBoxIncludeToLandingGearReport.Visible = true;
                AvionicsInventoryVisible    = true;
                textBoxALTPN.Visible        = true;
                labelALTPN.Visible          = true;
                textBoxHushKit.Visible      = false;
                labelHushKit.Visible        = false;
                checkBoxLLP.Enabled         = permission;
                checkBoxLandingGear.Enabled = permission;
                checkBoxIncludeToLandingGearReport.Enabled = permission;
                checkBoxAvionicsInventory.Enabled          = permission;
                textBoxALTPN.Enabled = permission;

                TemplateDetail detail = (TemplateDetail)abstractDetail;
                LLPMark            = detail.IncludedIntoLLP;
                MTOGW              = detail.MTOGW;
                LandingGearEnabled = permission;


                AvionicsInventoryMarkType = detail.AvionicsInventoryMark;
                AvionicsInventoryEnabled  = permission;

                ALTPN = detail.AltPN;
            }
            else
            {
                checkBoxLLP.Visible                        = false;
                labelLLPRemark.Visible                     = false;
                LandingGearVisible                         = false;
                labelLandingGearsRemark.Visible            = false;
                labelMTOGW.Visible                         = false;
                checkBoxIncludeToLandingGearReport.Visible = false;
                AvionicsInventoryVisible                   = false;
                labelAvionicsInventoryRemark.Visible       = false;
                textBoxALTPN.Visible                       = false;
                labelALTPN.Visible                         = false;
                if (abstractDetail is TemplateEngine)
                {
                    labelHushKit.Location   = new Point(MARGIN, MARGIN);
                    textBoxHushKit.Location = new Point(labelHushKit.Right, MARGIN);
                    textBoxHushKit.Visible  = true;
                    textBoxHushKit.Enabled  = permission;
                    labelHushKit.Visible    = true;
                    HusKit = abstractDetail.HushKit_;
                }
                else
                {
                    textBoxHushKit.Visible = false;
                    labelHushKit.Visible   = false;
                }
            }
        }
 /// <summary>
 /// Создает элемент управления для отображения параметров шаблонного агрегата
 /// </summary>
 /// <param name="detail">Текущий агрегат</param>
 public TemplateDetailParametersControl(TemplateAbstractDetail detail) : this()
 {
     currentDetail = detail;
     UpdateInformation();
 }
예제 #14
0
 /// <summary>
 /// Возвращает значение, показывающее были ли изменения в данном элементе управления
 /// </summary>
 /// <returns></returns>
 public bool GetChangeStatus(TemplateAbstractDetail detail)
 {
     return(maxResourcesInfo.Modified || notifyWhenRemainsInfo.Modified);
 }
예제 #15
0
        /// <summary>
        /// —оздает элемент управлени¤ дл¤ отображени¤ отдельного агрегата
        /// </summary>
        /// <param name="detail"></param>
        public TemplateDetailScreen(TemplateAbstractDetail detail)
        {
            if (detail == null)
            {
                throw new ArgumentNullException("detail", "Argument cannot be null");
            }

            currentDetail = detail;

            BackColor     = Css.CommonAppearance.Colors.BackColor;
            Dock          = DockStyle.Fill;
            footerControl = new FooterControl();
            headerControl = new HeaderControl();
            if (currentDetail is TemplateDetail)
            {
                aircraftHeader = new TemplateAircraftHeaderControl(currentDetail.Parent.Parent as TemplateAircraft, true);
            }
            else
            {
                aircraftHeader = new TemplateAircraftHeaderControl(((TemplateBaseDetail)currentDetail).ParentAircraft, true);
            }
            generalInformationControl   = new TemplateDetailGeneralInformationControl(currentDetail);
            limitationControl           = new TemplateDatailLimitationsMaxResourcesControl(currentDetail);
            parametersControl           = new TemplateDetailParametersControl(currentDetail);
            generalInformationContainer = new ExtendableRichContainer();
            limitationsContainer        = new ExtendableRichContainer();
            parametersContainer         = new ExtendableRichContainer();
            buttonDeleteDetail          = new RichReferenceButton();
            buttonAddTemplate           = new AvButtonT();
            //
            // aircraftHeader
            //
            aircraftHeader.AircraftClickable = true;
            //
            // headerControl
            //
            headerControl.Controls.Add(aircraftHeader);
            headerControl.ButtonEdit.TextMain       = "Save";
            headerControl.ButtonEdit.Icon           = icons.Save;
            headerControl.ButtonEdit.IconNotEnabled = icons.SaveGray;
            headerControl.TabIndex = 0;
            headerControl.ButtonEdit.DisplayerRequested += ButtonSave_DisplayerRequested;
            headerControl.ReloadRised += headerControl_ReloadRised;
            //
            // generalInformationContainer
            //
            generalInformationContainer.Dock          = DockStyle.Top;
            generalInformationContainer.UpperLeftIcon = icons.GrayArrow;
            generalInformationContainer.Caption       = "Component General Information";
            generalInformationContainer.MainControl   = generalInformationControl;
            generalInformationContainer.TabIndex      = 1;
            //
            // limitationsContainer
            //
            limitationsContainer.Dock          = DockStyle.Top;
            limitationsContainer.UpperLeftIcon = icons.GrayArrow;
            limitationsContainer.Caption       = "Limitations. Max resources";
            limitationsContainer.MainControl   = limitationControl;
            limitationsContainer.TabIndex      = 2;
            //
            // parametersContainer
            //
            parametersContainer.Dock          = DockStyle.Top;
            parametersContainer.UpperLeftIcon = icons.GrayArrow;
            parametersContainer.Caption       = "Parameters";
            parametersContainer.MainControl   = parametersControl;
            parametersContainer.TabIndex      = 3;
            //
            // panelHeader
            //
            panelHeader.AutoSize     = true;
            panelHeader.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            panelHeader.Dock         = DockStyle.Top;
            panelHeader.TabIndex     = 0;
            panelHeader.Controls.Add(buttonDeleteDetail);
            //
            // buttonDeleteDetail
            //
            buttonDeleteDetail.Anchor             = AnchorStyles.Right | AnchorStyles.Top;
            buttonDeleteDetail.BackColor          = Color.Transparent;
            buttonDeleteDetail.FontMain           = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDetail.FontSecondary      = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDetail.ForeColorMain      = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDetail.ForeColorSecondary = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDetail.Location           = new Point(panelHeader.Right - 160, 0);
            buttonDeleteDetail.Icon                  = icons.Delete;
            buttonDeleteDetail.IconNotEnabled        = icons.DeleteGray;
            buttonDeleteDetail.IconLayout            = ImageLayout.Center;
            buttonDeleteDetail.Name                  = "buttonDeleteDetail";
            buttonDeleteDetail.NormalBackgroundImage = null;
            buttonDeleteDetail.PaddingMain           = new Padding(3, 0, 0, 0);
            buttonDeleteDetail.ReflectionType        = ReflectionTypes.CloseSelected;
            buttonDeleteDetail.Size                  = new Size(160, 50);
            buttonDeleteDetail.TabIndex              = 16;
            buttonDeleteDetail.TextAlignMain         = ContentAlignment.MiddleLeft;
            buttonDeleteDetail.TextAlignSecondary    = ContentAlignment.TopLeft;
            buttonDeleteDetail.TextMain              = "Delete";
            buttonDeleteDetail.TextSecondary         = "component";
            buttonDeleteDetail.DisplayerRequested   += avButtonDeleteDetail_DisplayerRequested;
            //
            // buttonAddTemplate
            //
            buttonAddTemplate.Anchor         = AnchorStyles.Bottom | AnchorStyles.Right;
            buttonAddTemplate.FontMain       = Css.HeaderControl.Fonts.PrimaryFont;
            buttonAddTemplate.ForeColorMain  = Css.HeaderControl.Colors.PrimaryColor;
            buttonAddTemplate.Icon           = icons.Add;
            buttonAddTemplate.IconNotEnabled = icons.AddGray;
            buttonAddTemplate.Width          = 160;
            buttonAddTemplate.Location       = new Point(mainPanel.Right - buttonAddTemplate.Width - 10, mainPanel.Bottom - buttonAddTemplate.Height - 10);
            buttonAddTemplate.TextMain       = "Add To Database";
            buttonAddTemplate.Click         += buttonAddTemplate_Click;
            buttonAddTemplate.TabIndex       = 4;
            buttonAddTemplate.Visible        = false;
            //
            // mainPanel
            //
            mainPanel.Dock       = DockStyle.Fill;
            mainPanel.AutoScroll = true;
            mainPanel.TabIndex   = 1;
            mainPanel.Controls.Add(buttonAddTemplate);
            if ((currentDetail is TemplateDetail) || (currentDetail is TemplateEngine))
            {
                mainPanel.Controls.Add(parametersContainer);
            }
            mainPanel.Controls.Add(limitationsContainer);
            mainPanel.Controls.Add(generalInformationContainer);
            mainPanel.Controls.Add(panelHeader);


            Controls.Add(mainPanel);
            Controls.Add(footerControl);
            Controls.Add(headerControl);
            UpdateDetail(false);
        }
        /// <summary>
        /// Сохранаяет данные заданного шаблонного агрегата
        /// </summary>
        /// <param name="detail">Агрегат</param>
        /// <param name="changePageName">Менять ли название вкладки</param>
        public void SaveData(TemplateAbstractDetail detail, bool changePageName)
        {
            if (detail == null)
            {
                throw new ArgumentNullException("detail");
            }
            int amount;

            CheckAmount(out amount);
            if (textBoxPartNo.Text != detail.PartNumber)
            {
                detail.PartNumber = textBoxPartNo.Text;
                if (changePageName)
                {
                    string caption;
                    if (detail is TemplateBaseDetail)
                    {
                        caption = ((TemplateBaseDetail)detail).ParentAircraft.Model + ". Component PN " + detail.PartNumber;
                    }
                    else
                    {
                        if (detail.Parent != null)
                        {
                            caption = ((TemplateAircraft)detail.Parent.Parent).Model + ". Component PN " + detail.PartNumber;
                        }
                        else
                        {
                            caption = "Component PN " + detail.PartNumber;
                        }
                    }
                    if (DisplayerRequested != null)
                    {
                        DisplayerRequested(this, new ReferenceEventArgs(null, ReflectionTypes.ChangeTextOfContainingDisplayer, caption));
                    }
                }
            }
            if (detail is TemplateDetail)
            {
                TemplateDetail det = (TemplateDetail)detail;
                det.AtaChapter = ATAChapter;
            }
            if (textBoxDescription.Text != detail.Description)
            {
                detail.Description = textBoxDescription.Text;
            }
            if (detail is TemplateGearAssembly)
            {
                TemplateGearAssembly gearAssembly = (TemplateGearAssembly)detail;
                if (gearAssembly.LandingGearMark != LandingGearMark)
                {
                    gearAssembly.LandingGearMark = LandingGearMark;
                }
            }
            if (textBoxModel.Text != detail.Model)
            {
                detail.Model = textBoxModel.Text;
            }
            if (textBoxManufacturer.Text != detail.Manufacturer)
            {
                detail.Manufacturer = textBoxManufacturer.Text;
            }
            if (MaintenanceType != detail.MaintenanceType)
            {
                detail.MaintenanceType = MaintenanceType;
            }
            if (textBoxAmount.Text != detail.Amount.ToString())
            {
                detail.Amount = amount;
            }
            if (textBoxRemarks.Text != detail.Remarks)
            {
                detail.Remarks = textBoxRemarks.Text;
            }
            if (checkBoxHoursApplicable.Checked != detail.Lifelength.IsHoursApplicable)
            {
                detail.Lifelength.IsHoursApplicable = checkBoxHoursApplicable.Checked;
            }
            if (checkBoxCyclesApplicable.Checked != detail.Lifelength.IsCyclesApplicable)
            {
                detail.Lifelength.IsCyclesApplicable = checkBoxCyclesApplicable.Checked;
            }
            if (checkBoxCalendarApplicable.Checked != detail.Lifelength.IsCalendarApplicable)
            {
                detail.Lifelength.IsCalendarApplicable = checkBoxCalendarApplicable.Checked;
            }
        }