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); } } }
private void ButtonPrintDisplayerRequested(object sender, ReferenceEventArgs e) { BaseDetail baseDetail; Operator reportedOperator; var reportedDetail = _currentDetail; var directiveList = new List <DetailDirective>(_currentDetail.DetailDirectives.ToArray()); if (_currentDetail is BaseDetail) { baseDetail = (BaseDetail)_currentDetail; //TODO:(Evgenii Babak) нужно новое свойство OperatorId в классе Detail var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseDetail.ParentAircraftId); var parentStore = GlobalObjects.StoreCore.GetStoreById(baseDetail.ParentStoreId); reportedOperator = parentAircraft != null ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId) : parentStore.Operator; } else { baseDetail = _currentDetail.ParentBaseDetail;//TODO:(Evgenii Babak) заменить на использование ComponentCore if (baseDetail == null) { return; } //TODO:(Evgenii Babak) нужно новое свойство OperatorId в классе Detail var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(baseDetail.ParentAircraftId); var parentStore = GlobalObjects.StoreCore.GetStoreById(baseDetail.ParentStoreId); reportedOperator = parentAircraft != null ? GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == parentAircraft.OperatorId) : parentStore.Operator; } var psn = _currentDetail.PartNumber; string caption; if (baseDetail.ParentAircraftId > 0) { caption = $"{baseDetail.GetParentAircraftRegNumber()}. Component {psn}. Compliance List"; } else { caption = $"{baseDetail.ParentStoreId}. Component {psn}. Compliance List"; } var builder = new ComponentTasksReportBuilder(); e.DisplayerText = caption; e.TypeOfReflection = ReflectionTypes.DisplayInNew; builder.DateAsOf = DateTime.Today.ToString(new GlobalTermsProvider()["DateFormat"].ToString()); builder.ReportedDetail = reportedDetail; builder.OperatorLogotype = reportedOperator.LogoTypeWhite; if (baseDetail.BaseDetailType == BaseDetailType.Frame) { var selection = "All"; builder.FilterSelection = selection; builder.AddDirectives(directiveList.ToArray()); builder.ForecastData = null; e.RequestedEntity = new ReportScreen(builder); } else { var selection = ""; if (baseDetail.BaseDetailType == BaseDetailType.LandingGear) { selection = baseDetail.TransferRecords.GetLast().Position; } if (baseDetail.BaseDetailType == BaseDetailType.Engine) { selection = BaseDetailType.Engine + " " + baseDetail.TransferRecords.GetLast().Position; } if (baseDetail.BaseDetailType == BaseDetailType.Apu) { selection = BaseDetailType.Apu.ToString(); } builder.LifelengthAircraftSinceNew = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(CurrentAircraft); //if (filteredDirectives.Length != notFilteredDirectives.Length) builder.FilterSelection = selection; builder.AddDirectives(directiveList.ToArray()); builder.ForecastData = null; e.RequestedEntity = new ReportScreen(builder); } }