/// <summary> /// Данные у директивы обновляются по введенным данным /// </summary> public void ApplyChanges(MaintenanceDirective directive) { textboxTaskNumberCheck.Focus(); directive.ATAChapter = ATAChapter; if (directive.TaskNumberCheck != TaskNumberCheck) { directive.TaskNumberCheck = TaskNumberCheck; string caption = ""; if (directive.ParentBaseComponent != null) { if (directive.ParentBaseComponent.BaseComponentType == BaseComponentType.Frame) { caption = directive.ParentBaseComponent.GetParentAircraftRegNumber(); } else { if (directive.ParentBaseComponent.ParentAircraftId > 0) { caption = directive.ParentBaseComponent.GetParentAircraftRegNumber() + ". " + directive.ParentBaseComponent; } else { caption = directive.ParentBaseComponent.ToString(); } } caption += ". MPD. " + directive.WorkType.CommonName + ". " + directive.TaskNumberCheck; } if (DisplayerRequested != null) { DisplayerRequested(this, new ReferenceEventArgs(null, ReflectionTypes.ChangeTextOfContainingDisplayer, caption)); } } directive.IsApplicability = checkBoxIsApplicability.Checked; directive.IsOperatorTask = checkBoxOperatorTask.Checked; directive.HiddenRemarks = HiddenRemarks; directive.Threshold.EffectiveDate = EffectiveDate; directive.EngineeringOrders = EngOrderNumber; directive.MPDTaskNumber = textBoxMpdTaskNumber.Text; directive.MaintenanceManual = textBoxMaintenanceManual.Text; directive.Zone = textBoxZone.Text; directive.Access = textBoxAccess.Text; directive.TaskCardNumber = textBoxTaskCardNumber.Text; directive.MRB = textBoxMRB.Text; directive.Applicability = Applicability; if (checkBoxIsApplicability.Checked) { directive.Applicability = directive.Applicability.Replace("APL", "").TrimStart(); } else { directive.Applicability = directive.Applicability.Replace("N/A", "").TrimStart(); } directive.Description = Subject; directive.Remarks = Remarks; directive.CriticalSystem = comboBoxCriticalSystem.SelectedItem as CriticalSystemList; directive.Program = comboBoxProgram.SelectedItem as MaintenanceDirectiveProgramType; directive.ProgramIndicator = comboBoxProgramIndicator.SelectedItem as MaintenanceDirectiveProgramIndicator; directive.JobCard = lookupComboboxJobCard.SelectedItem as JobCard; directive.MpdRef = textBoxMpdRef.Text; directive.MpdRevisionNum = textBoxMpdRevNum.Text; directive.ScheduleRef = textBoxScheuleRef.Text; directive.ScheduleRevisionNum = textBoxScheuleRev.Text; directive.ScheduleItem = textBoxScheduleItem.Text; directive.MpdRevisionDate = dateTimePickerRevDate.Value; directive.ScheduleRevisionDate = dateTimePickerScheuleDate.Value; directive.MpdOldTaskCard = textBoxOldTaslCard.Text; directive.Workarea = textBoxWorkArea.Text; directive.Category = comboBoxCategory.SelectedItem as MpdCategory; if (fileControlTaskNumberCheck.GetChangeStatus()) { fileControlTaskNumberCheck.ApplyChanges(); directive.TaskNumberCheckFile = fileControlTaskNumberCheck.AttachedFile; } if (fileControlEO.GetChangeStatus()) { fileControlEO.ApplyChanges(); directive.EngineeringOrderFile = fileControlEO.AttachedFile; } if (fileControlTaskCardNumber.GetChangeStatus()) { fileControlTaskCardNumber.ApplyChanges(); directive.TaskCardNumberFile = fileControlTaskCardNumber.AttachedFile; } if (fileControlMaintenanceManual.GetChangeStatus()) { fileControlMaintenanceManual.ApplyChanges(); directive.MaintenanceManualFile = fileControlMaintenanceManual.AttachedFile; } if (FileControlMRB.GetChangeStatus()) { FileControlMRB.ApplyChanges(); directive.MRBFile = FileControlMRB.AttachedFile; } }
/// <summary> /// Возвращает значение, показывающее является ли значение элемента управления допустимым /// </summary> /// <returns></returns> public bool ValidateData(out string message) { message = ""; if (ATAChapter == null || ATAChapter.ItemId <= 0) { if (message != "") { message += "\n "; } message += "Please select ATA chapter"; } if (TaskNumberCheck == "") { if (message != "") { message += "\n "; } message += "You should enter Title"; } if (comboBoxCategory.SelectedItem == null) { if (message != "") { message += "\n "; } message += "Please select Category"; } string validateFiles; if (!fileControlTaskNumberCheck.ValidateData(out validateFiles)) { if (message != "") { message += "\n "; } message += "MPD Task File: " + validateFiles; } if (!fileControlEO.ValidateData(out validateFiles)) { if (message != "") { message += "\n "; } message += "MPD EO File: " + validateFiles; } if (!fileControlMaintenanceManual.ValidateData(out validateFiles)) { if (message != "") { message += "\n "; } message += "MPD Maintenance Manual File: " + validateFiles; } if (!fileControlTaskCardNumber.ValidateData(out validateFiles)) { if (message != "") { message += "\n "; } message += "MPD Task Card Number File: " + validateFiles; } if (!FileControlMRB.ValidateData(out validateFiles)) { if (message != "") { message += "\n "; } message += "MPD MRB File: " + validateFiles; } if (message != "") { return(false); } return(true); }
/// <summary> /// Заполняет поля для редактирования директивы /// </summary> private void UpdateInformation(MaintenanceDirective directive) { if (directive == null) { return; } var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(directive.ParentBaseComponent.ParentAircraftId); //TODO:(Evgenii Babak) пересмотреть использование ParentAircrafId здесь MSG aircraftMSG = parentAircraft != null ? parentAircraft.MSG : MSG.MSG2; comboBoxCriticalSystem.Items.Clear(); comboBoxCriticalSystem.Items.AddRange(CriticalSystemList.Items.ToArray()); comboBoxProgram.Items.Clear(); comboBoxProgram.Items.AddRange(MaintenanceDirectiveProgramType.Items.ToArray()); comboBoxProgramIndicator.Items.Clear(); comboBoxProgramIndicator.Items.AddRange(MaintenanceDirectiveProgramIndicator.Items.ToArray()); dateTimePickerEffDate.ValueChanged -= DateTimePickerEffDateValueChanged; ATAChapter = directive.ATAChapter; TaskNumberCheck = directive.TaskNumberCheck; textBoxMpdTaskNumber.Text = directive.MPDTaskNumber; textBoxMaintenanceManual.Text = directive.MaintenanceManual; textBoxZone.Text = directive.Zone; textBoxAccess.Text = directive.Access; textBoxTaskCardNumber.Text = directive.TaskCardNumber; textBoxMRB.Text = directive.MRB; comboBoxProgram.SelectedItem = directive.Program; comboBoxProgramIndicator.SelectedItem = directive.ProgramIndicator; comboBoxCriticalSystem.SelectedItem = directive.CriticalSystem; dateTimePickerEffDate.Value = directive.ItemId > 0 ? directive.Threshold.EffectiveDate : DateTime.Today; EngOrderNumber = directive.EngineeringOrders; Subject = directive.Description; Remarks = directive.Remarks; HiddenRemarks = directive.HiddenRemarks; checkBoxIsApplicability.Checked = directive.IsApplicability; Applicability = directive.IsApplicability ? $"APL {directive.Applicability}" : $"N/A {directive.Applicability}"; textBoxMpdRef.Text = directive.MpdRef; textBoxMpdRevNum.Text = directive.MpdRevisionNum; textBoxScheuleRef.Text = directive.ScheduleRef; textBoxScheuleRev.Text = directive.ScheduleRevisionNum; textBoxScheduleItem.Text = directive.ScheduleItem; dateTimePickerRevDate.Value = directive.MpdRevisionDate; dateTimePickerScheuleDate.Value = directive.ScheduleRevisionDate; textBoxOldTaslCard.Text = directive.MpdOldTaskCard; textBoxWorkArea.Text = directive.Workarea; checkBoxOperatorTask.Checked = directive.IsOperatorTask; comboBoxCategory.Items.Clear(); comboBoxCategory.Items.AddRange(MpdCategory.Items.ToArray()); comboBoxCategory.SelectedItem = directive.Category; #region Job Card lookupComboboxJobCard.SelectedIndexChanged -= LookupComboboxMaintenanceCheckSelectedIndexChanged; if (parentAircraft != null) { var maintenanceScreenDisplayerText = $"{directive.ParentBaseComponent.GetParentAircraftRegNumber()} Job Cards"; lookupComboboxJobCard.SetItemsScreenControl <CommonListScreen>(new[] { parentAircraft }, maintenanceScreenDisplayerText); lookupComboboxJobCard.SetEditScreenControl <JobCardScreen>(maintenanceScreenDisplayerText); lookupComboboxJobCard.SetAddScreenControl <JobCardScreen>(new object[] { directive }, directive + ". New Job Card"); lookupComboboxJobCard.LoadObjectsFunc = GlobalObjects.CasEnvironment.NewLoader.GetJobCard; lookupComboboxJobCard.FilterParam1 = directive; lookupComboboxJobCard.SelectedItemId = directive.JobCard != null ? directive.JobCard.ItemId : -1; lookupComboboxJobCard.UpdateInformation(); } lookupComboboxJobCard.SelectedIndexChanged += LookupComboboxMaintenanceCheckSelectedIndexChanged; #endregion fileControlTaskNumberCheck.UpdateInfo(directive.TaskNumberCheckFile, "Adobe PDF Files|*.pdf", "This record does not contain a file proving the Task Number Check. Enclose PDF file to prove the compliance.", "Attached file proves the Task Number Check."); fileControlEO.UpdateInfo(directive.EngineeringOrderFile, "Adobe PDF Files|*.pdf", "This record does not contain a file proving the Engineering order. Enclose PDF file to prove the compliance.", "Attached file proves the Engineering order."); fileControlMaintenanceManual.UpdateInfo(directive.MaintenanceManualFile, "Adobe PDF Files|*.pdf", "This record does not contain a file proving the Maintenance Manual. Enclose PDF file to prove the compliance.", "Attached file proves the Maintenance Manual."); FileControlMRB.UpdateInfo(directive.MRBFile, "Adobe PDF Files|*.pdf", "This record does not contain a file proving the MRB file. Enclose PDF file to prove the compliance.", "Attached file proves the MRB file."); fileControlTaskCardNumber.UpdateInfo(directive.TaskCardNumberFile, "Adobe PDF Files|*.pdf", "This record does not contain a file proving the Task Card Number. Enclose PDF file to prove the compliance.", "Attached file proves the Task Card Number."); dateTimePickerEffDate.ValueChanged += DateTimePickerEffDateValueChanged; }
///<summary> ///Возвращает значение, показывающее были ли изменения в данном элементе управления ///</summary> ///<param name="directive">Директива для которой производится проверка</param> ///<returns></returns> public bool GetChangeStatus(MaintenanceDirective directive) { DateTime oldEffDate = directive.Threshold.EffectiveDate; if (directive.ItemId > 0) { return(ATAChapter != directive.ATAChapter || HiddenRemarks != directive.HiddenRemarks || comboBoxCategory.SelectedItem != directive.Category || TaskNumberCheck != directive.TaskNumberCheck || textBoxMpdTaskNumber.Text != directive.MPDTaskNumber || textBoxMaintenanceManual.Text != directive.MaintenanceManual || textBoxZone.Text != directive.Zone || textBoxAccess.Text != directive.Access || textBoxMpdRef.Text != directive.MpdRef || textBoxMpdRevNum.Text != directive.MpdRevisionNum || checkBoxIsApplicability.Checked != directive.IsApplicability || checkBoxOperatorTask.Checked != directive.IsOperatorTask || textBoxScheuleRef.Text != directive.ScheduleRef || textBoxScheuleRev.Text != directive.ScheduleRevisionNum || comboBoxCriticalSystem.SelectedItem != directive.CriticalSystem || comboBoxProgram.SelectedItem != directive.Program || comboBoxProgramIndicator.SelectedItem != directive.ProgramIndicator || textBoxScheduleItem.Text != directive.ScheduleItem || dateTimePickerEffDate.Value != oldEffDate || EngOrderNumber != directive.EngineeringOrders || textBoxTaskCardNumber.Text != directive.TaskCardNumber || textBoxMRB.Text != directive.MRB || EngOrderNumber != directive.EngineeringOrders || Subject != directive.Description || Remarks != directive.Remarks || Applicability != directive.Applicability || directive.JobCard == null && lookupComboboxJobCard.SelectedItemId > 0 || directive.JobCard != null && lookupComboboxJobCard.SelectedItemId != directive.JobCard.ItemId || fileControlEO.GetChangeStatus() || fileControlTaskNumberCheck.GetChangeStatus() || fileControlMaintenanceManual.GetChangeStatus() || fileControlTaskCardNumber.GetChangeStatus() || FileControlMRB.GetChangeStatus()); } return(ATAChapter != null || Paragraph != "" || TaskNumberCheck != "" || textBoxMpdTaskNumber.Text != "" || textBoxMaintenanceManual.Text != "" || textBoxMpdTaskNumber.Text != "" || textBoxTaskCardNumber.Text != "" || textBoxMpdRef.Text != "" || textBoxMpdRevNum.Text != "" || textBoxScheuleRef.Text != "" || textBoxScheuleRev.Text != "" || textBoxZone.Text != "" || textBoxAccess.Text != "" || dateTimePickerEffDate.Value.Date != DateTime.Today || EngOrderNumber != "" || References != "" || Applicability != "" || BiWeeklyReport != "" || Subject != "" || Applicability != "" || Remarks != "" || comboBoxCriticalSystem.SelectedItem != null || comboBoxProgramIndicator.SelectedItem != null || comboBoxProgram.SelectedItem != null || fileControlTaskNumberCheck.GetChangeStatus() || fileControlEO.GetChangeStatus() || fileControlMaintenanceManual.GetChangeStatus() || FileControlMRB.GetChangeStatus() || fileControlTaskCardNumber.GetChangeStatus()); }