private bool SubCheckContains(MaintenanceLimitation limitation)
 {
     for (int i = 0; i < limitation.SubChecks.Count; i++)
     {
         if (limitation.SubChecks[i].Name == textBoxName.Text.ToUpper())
         {
             return(true);
         }
     }
     return(false);
 }
 /// <summary>
 /// Происходит отображение данных об ограничениях
 /// </summary>
 public void DisplayLimitations()
 {
     infoViewerMaxResource.SetVisibleItemsAmount(directive.Limitations.Length);
     infoViewerNotification.SetVisibleItemsAmount(directive.Limitations.Length);
     for (int i = 0; i < directive.Limitations.Length; i++)
     {
         MaintenanceLimitation limitation = directive.Limitations[i];
         infoViewerMaxResource.SetValue(i, limitation.SinceLastPerformanceLimitation);
         infoViewerNotification.SetValue(i, limitation.Notification);
         checkBoxs[i].Text    = limitation.CheckType.FullName;
         checkBoxs[i].Checked = limitation.IsInuse;
     }
 }
Exemple #3
0
        /// <summary>
        /// Возвращает SubCheck-и, кототые можно присоединить
        /// </summary>
        /// <returns></returns>
        public List <MaintenanceSubCheck> GetAvailableSubChecks()
        {
            MaintenanceDirective       directive  = (MaintenanceDirective)subCheck.Parent.Parent;
            MaintenanceLimitation      limitation = (MaintenanceLimitation)subCheck.Parent;
            List <MaintenanceSubCheck> subChecks  = new List <MaintenanceSubCheck>();

            for (int i = 0; i < directive.Limitations.Length; i++)
            {
                for (int j = 0; j < directive.Limitations[i].SubChecks.Count; j++)
                {
                    if (directive.Limitations[i].CheckType.Priority >= limitation.CheckType.Priority && directive.Limitations[i].SubChecks[j] != subCheck && !directive.Limitations[i].SubChecks[j].JoinedSubChecks.Contains(subCheck))
                    {
                        subChecks.Add(directive.Limitations[i].SubChecks[j]);
                    }
                }
            }
            return(subChecks);
        }
        /// <summary>
        /// Создает новую строку <see cref="MaintenanceStatusSummaryControl"/>
        /// </summary>
        public MaintenanceStatusSummaryControlRow(MaintenanceLimitation limitation)
        {
            InitializeCommonElements(false);
            SetAppearance(Css.OrdinaryText.Fonts.RegularFont, Css.OrdinaryText.Colors.ForeColor);

            labelCheck.Text          = limitation.CheckType.FullName;
            labelInterval.Text       = limitation.MaxResource.ToComplianceItemString();
            labelNextCompliance.Text = limitation.Next.ToComplianceItemString();
            MaintenancePerformance lastRecord = limitation.LastPerformance as MaintenancePerformance;

            if (lastRecord != null)
            {
                labelLastCompliance.Text =
                    lastRecord.RecordDate.ToString(new TermsProvider()["DateFormat"].ToString()) +
                    "     " + lastRecord.Lifelength.ToComplianceItemString();
                labelLastComplianceCheck.Text = (lastRecord.CheckTypeExtended == "" ? lastRecord.CheckType.ShortName : lastRecord.CheckTypeExtended) + " check";
            }
        }
        /// <summary>
        /// Происходит отображение переданных ограничений
        /// </summary>
        public void DisplayLimitations()
        {
            rows.Clear();
            Controls.Clear();
            MaintenanceStatusSummaryControlRow controlTitle = new MaintenanceStatusSummaryControlRow();

            if (DisplayDateAsOFAndTSNCSN)
            {
                //
                // labelDateAsOf
                //
                labelDateAsOf.Text     = "Date As Of: " + DateTime.Today.ToString(new TermsProvider()["DateFormat"].ToString());
                labelDateAsOf.Location = new Point(LABEL_DATE_AS_OF_LEFT_MARGIN, 0);
                //
                // labelTSNCSN
                //
                labelTSNCSN.Text     = currentAircraft + " TSN/CSN: ";// +currentAircraft.Limitation.ResourceSinceNew.ToComplianceItemString(); todo
                labelTSNCSN.Location = new Point(LABEL_DATE_AS_OF_LEFT_MARGIN, labelDateAsOf.Bottom);
                Controls.Add(labelDateAsOf);
                Controls.Add(labelTSNCSN);
                controlTitle.Top = labelTSNCSN.Bottom;
            }
            Controls.Add(controlTitle);
            rows.Add(controlTitle);
            for (int i = 0; i < currentAircraft.MaintenanceDirective.Limitations.Length; i++)
            {
                MaintenanceLimitation limitation = currentAircraft.MaintenanceDirective.Limitations[i];
                if (!limitation.IsInuse)
                {
                    continue;
                }
                MaintenanceStatusSummaryControlRow controlRow = new MaintenanceStatusSummaryControlRow(limitation);
                controlRow.Top = rows[rows.Count - 1].Bottom;
                rows.Add(controlRow);
                Controls.Add(controlRow);
            }
            //
            // linkEdit
            //
            linkEdit.Location = new Point(LABEL_DATE_AS_OF_LEFT_MARGIN, rows[rows.Count - 1].Bottom + INTERVAL);
            Controls.Add(linkEdit);
            //Size = new Size(MaintenanceStatusSummaryControlRow.DefaultSize.Width, rows.Count * MaintenanceStatusSummaryControlRow.DefaultSize.Height + labelDateAsOf.Height + labelTSNCSN.Height + linkEdit.Height + INTERVAL);
        }