private void headerControl_ButtonPrintDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { e.TypeOfReflection = ReflectionTypes.DisplayInNew; if (sender == _itemPrintReportListOfDocuments) { _listOfDocumentsReportBulder = new ListOfDocumentsReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray()); _listOfDocumentsReportBulder.FilterSelection = _filter; e.DisplayerText = aircraftHeaderControl1.Operator.Name + "." + "List of Documents"; e.RequestedEntity = new ReportScreen(_listOfDocumentsReportBulder); } else if (sender == _itemPrintReportNomenclature) { _nomenclatureReportBuilder = new NomenclatureReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray()); _nomenclatureReportBuilder.FilterSelection = _filter; e.DisplayerText = aircraftHeaderControl1.Operator.Name + "." + "Nomenclature"; e.RequestedEntity = new ReportScreen(_nomenclatureReportBuilder); } else if (sender == _itemPrintReportRegisterOfDocument) { _registerOfDocumentReportBuilder = new RegisterOfDocumentReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray()); _registerOfDocumentReportBuilder.FilterSelection = _filter; e.DisplayerText = aircraftHeaderControl1.Operator.Name + "." + "Register of Documents"; e.RequestedEntity = new ReportScreen(_registerOfDocumentReportBuilder); } else { _workScheduleReportBuilder = new WorkScheduleReportBuilder(CurrentOperator, _directivesViewer.GetItemsArray()); _workScheduleReportBuilder.FilterSelection = _filter; e.DisplayerText = aircraftHeaderControl1.Operator.Name + "." + "Work Schedule"; e.RequestedEntity = new ReportScreen(_workScheduleReportBuilder); } }
private void LinkInternalDocuments_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { e.DisplayerText = "InternalDocumentScreen"; e.RequestedEntity = new MailListScreen(GlobalObjects.CasEnvironment.Operators[0], new MailRecords { DocClass = DocumentClass.InternalDoc, MailChatId = -1 }); }
private void LinkInventoryControl_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { var k = new Keyboard(); if (k.ShiftKeyDown && e.TypeOfReflection == ReflectionTypes.DisplayInCurrent) { e.TypeOfReflection = ReflectionTypes.DisplayInNew; } e.DisplayerText = "All Stores"; e.RequestedEntity = new StoreAllScreen(GlobalObjects.CasEnvironment.Operators[0]); }
private void HeaderControlSaveButtonDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { try { string message; if (!ValidateData(out message)) { message += "\nAbort operation"; MessageBox.Show(message, new GlobalTermsProvider()["SystemName"].ToString(), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); e.Cancel = true; return; } AddNewDetail(); var dp = ScreenAndFormManager.GetComponentScreen(_addedComponent); e.SetParameters(dp); e.TypeOfReflection = ReflectionTypes.DisplayInNewWithCloseCurrent; } catch (Exception ex) { Program.Provider.Logger.Log("Error while saving data", ex); e.Cancel = true; } }
private void LinkRecords_DisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { e.DisplayerText = "MailChatScreen"; e.RequestedEntity = new MailChatListScreen(GlobalObjects.CasEnvironment.Operators[0]); }
private void ReferenceLinkLabelComponentsDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { e.DisplayerText = _currentComponent + ". Component Status"; e.RequestedEntity = new ComponentsListScreen(_currentComponent, MaintenanceControlProcess.Items.ToArray(), false); }
private void ReferenceLinkLabelBaseDetailDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { e.DisplayerText = $"{_currentComponent.GetParentAircraftRegNumber()}. Component SN {_currentComponent.SerialNumber}"; e.RequestedEntity = new ComponentScreenNew(_currentComponent); }
private void HeaderControlButtonPrintDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { if (sender == itemPrintReportGeneralData) { AircraftGeneralDataReportBuilder builder = new AircraftGeneralDataReportBuilder(); string caption = CurrentAircraft.RegistrationNumber + "." + "General data report"; builder.ReportedAircraft = CurrentAircraft; builder.LifelengthAircraftSinceNew = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(CurrentAircraft); e.DisplayerText = caption; e.TypeOfReflection = ReflectionTypes.DisplayInNew; e.RequestedEntity = new ReportScreen(builder); GlobalObjects.AuditRepository.WriteReportAsync(GlobalObjects.CasEnvironment.IdentityUser, "AircraftGeneralDaraScreen (Aircraft General Data)"); } else if (sender == itemPrintReportTechnicalCondition) { var maintenanceChecks = GlobalObjects.MaintenanceCore.GetMaintenanceCheck(CurrentAircraft, true); var workPackages = GlobalObjects.WorkPackageCore.GetWorkPackagesLite(CurrentAircraft, WorkPackageStatus.Closed, maintenanceChecks.Select(m => (IDirective)m).ToList()); var minCCheck = maintenanceChecks.Where(mc => mc.CheckType.ShortName == "C" && mc.Schedule && mc.Grouping && mc.Resource == LifelengthSubResource.Hours) .OrderBy(mc => mc.Interval.GetSubresource(LifelengthSubResource.Hours)) .FirstOrDefault(); var lastCCheckRecord = maintenanceChecks.Where(mc => mc.CheckType.ShortName == "C" && mc.Schedule && mc.Grouping && mc.Resource == LifelengthSubResource.Hours) .SelectMany(mc => mc.PerformanceRecords) .Where(pr => pr.RecordDate.Date <= DateTime.Now) .OrderByDescending(pr => pr.RecordDate) .FirstOrDefault(); var lastACheckRecord = maintenanceChecks.Where(mc => mc.CheckType.ShortName == "A" && mc.Schedule && mc.Grouping && mc.Resource == LifelengthSubResource.Hours) .SelectMany(mc => mc.PerformanceRecords) .Where(pr => pr.RecordDate.Date <= DateTime.Now) .OrderByDescending(pr => pr.RecordDate) .FirstOrDefault(); if (lastCCheckRecord != null) { if (lastACheckRecord.NumGroup == lastCCheckRecord.NumGroup) { lastACheckRecord = null; } } var dCheckRecords = maintenanceChecks.Where(mc => mc.CheckType.ShortName == "D") .SelectMany(mc => mc.PerformanceRecords) .ToList(); var maintenanceCheckRecordGroups = new List <MaintenanceCheckRecordGroup>(); foreach (MaintenanceCheckRecord record in dCheckRecords) { //Поиск коллекции групп, в которую входят группы с нужными критериями //по плану, группировка и основному ресурсу if (record.ParentCheck.Grouping) { MaintenanceCheckRecordGroup recordGroup = maintenanceCheckRecordGroups .FirstOrDefault(g => g.Schedule == record.ParentCheck.Schedule && g.Grouping == record.ParentCheck.Grouping && g.Resource == record.ParentCheck.Resource && g.GroupComplianceNum == record.NumGroup); if (recordGroup != null) { //Коллекция найдена //Поиск в ней группы чеков с нужным типом recordGroup.Records.Add(record); } else { //Коллекции с нужными критериями нет //Созадние и добавление recordGroup = new MaintenanceCheckRecordGroup(record.ParentCheck.Schedule, record.ParentCheck.Grouping, record.ParentCheck.Resource, record.NumGroup); recordGroup.Records.Add(record); maintenanceCheckRecordGroups.Add(recordGroup); } } else { MaintenanceCheckRecordGroup recordGroup = new MaintenanceCheckRecordGroup(record.ParentCheck.Schedule, record.ParentCheck.Grouping, record.ParentCheck.Resource); recordGroup.Records.Add(record); maintenanceCheckRecordGroups.Add(recordGroup); } } AircraftTechnicalConditionReportBuilder reportBuilder = new AircraftTechnicalConditionReportBuilder(CurrentAircraft, minCCheck, GlobalObjects.ComponentCore.GetAicraftBaseComponents(CurrentAircraft.ItemId), lastACheckRecord, lastCCheckRecord, workPackages, maintenanceCheckRecordGroups.Count); e.TypeOfReflection = ReflectionTypes.DisplayInNew; e.DisplayerText = CurrentAircraft.RegistrationNumber + " Operation Time Report"; e.RequestedEntity = new ReportScreen(reportBuilder); GlobalObjects.AuditRepository.WriteReportAsync(GlobalObjects.CasEnvironment.IdentityUser, "AircraftGeneralDaraScreen (Technical Condition)"); } else { e.Cancel = true; } }
private void HeaderControlPrintButtonDisplayerRequested(object sender, Interfaces.ReferenceEventArgs e) { BaseComponent baseComponent; Operator reportedOperator; var reportedDetail = _currentComponent; var directiveList = new List <ComponentDirective>(_currentComponent.ComponentDirectives.ToArray()); if (_currentComponent is BaseComponent) { baseComponent = (BaseComponent)_currentComponent; var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseComponent.ParentAircraftId); var parentStore = GlobalObjects.StoreCore.GetStoreById(baseComponent.ParentStoreId); reportedOperator = parentAircraft != null ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId) : parentStore.Operator; } else { baseComponent = _currentComponent.ParentBaseComponent; //TODO:(Evgenii Babak) заменить на использование ComponentCore if (baseComponent == null) { return; } var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseComponent.ParentAircraftId); var parentStore = GlobalObjects.StoreCore.GetStoreById(baseComponent.ParentStoreId); reportedOperator = parentAircraft != null ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId) : parentStore.Operator; } var caption = $"{DestinationHelper.GetDestinationObjectString(baseComponent)}. Compliance List"; if (sender == _itemPrintReportEngineRecords) { var selection = ""; var header = ""; var trust = ""; if (baseComponent.BaseComponentType == BaseComponentType.Frame) { selection = "All"; header = "FRAME"; } if (baseComponent.BaseComponentType == BaseComponentType.LandingGear) { selection = baseComponent.TransferRecords.GetLast().Position; header = "LANDING GEAR"; } if (baseComponent.BaseComponentType == BaseComponentType.Engine) { selection = BaseComponentType.Engine + " " + baseComponent.TransferRecords.GetLast().Position; header = "ENGINE"; trust = $"Thrust: {baseComponent.Thrust}"; } if (baseComponent.BaseComponentType == BaseComponentType.Apu) { selection = BaseComponentType.Apu.ToString(); header = "APU"; } var builder = new ComponentTasksReportBuilderNew(header, trust); e.DisplayerText = caption; e.TypeOfReflection = ReflectionTypes.DisplayInNew; builder.DateAsOf = DateTime.Today.ToString(new GlobalTermsProvider()["DateFormat"].ToString()); builder.ReportedComponent = reportedDetail; builder.OperatorLogotype = reportedOperator.LogoTypeWhite; builder.FilterSelection = selection; builder.AddDirectives(directiveList.ToArray()); builder.ForecastData = null; e.RequestedEntity = new ReportScreen(builder); } else { var builder = new ComponentTasksReportBuilder(); e.DisplayerText = caption; e.TypeOfReflection = ReflectionTypes.DisplayInNew; builder.DateAsOf = DateTime.Today.ToString(new GlobalTermsProvider()["DateFormat"].ToString()); builder.ReportedComponent = reportedDetail; builder.OperatorLogotype = reportedOperator.LogoTypeWhite; if (baseComponent.BaseComponentType == BaseComponentType.Frame) { var selection = "All"; builder.FilterSelection = selection; builder.AddDirectives(directiveList.ToArray()); builder.ForecastData = null; e.RequestedEntity = new ReportScreen(builder); } else { var selection = ""; if (baseComponent.BaseComponentType == BaseComponentType.LandingGear) { selection = baseComponent.TransferRecords.GetLast().Position; } if (baseComponent.BaseComponentType == BaseComponentType.Engine) { selection = BaseComponentType.Engine + " " + baseComponent.TransferRecords.GetLast().Position; } if (baseComponent.BaseComponentType == BaseComponentType.Apu) { selection = BaseComponentType.Apu.ToString(); } builder.LifelengthAircraftSinceNew = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(CurrentAircraft); builder.FilterSelection = selection; builder.AddDirectives(directiveList.ToArray()); builder.ForecastData = null; e.RequestedEntity = new ReportScreen(builder); } } }