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; } }
/// <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); }