/// <summary> /// Добавление базовых агрегатов в таблицу данных /// </summary> /// <param name="dataset">Таблица, в которую добавляются данные</param> protected virtual void AddDetailsToDataset(DetailListDataSet dataset) { for (int i = 0; i < reportedDetails.Count; i++) { AddDetailToDataset(reportedDetails[i], i + 1, dataset); } }
/// <summary> /// Добавление дополнительной информации /// </summary> /// <param name="destinationDateSet"></param> protected void AddAdditionalInformation(DetailListDataSet destinationDateSet) { destinationDateSet.AdditionalDataTable.AddAdditionalDataTableRow(0, ReportTitle, dateAsOfData, ProgramSettings.ReportFooter, ProgramSettings.ReportFooterPrepared, ProgramSettings.WebSite); }
/// <summary> /// Добавление базовых агрегатов в таблицу данных /// </summary> /// <param name="dataset">Таблица, в которую добавляются данные</param> protected virtual void AddDetailsToDataset(DetailListDataSet dataset) { int number = 1; foreach (Component t in _reportedDetails) { AddDetailToDataset(t, ref number, dataset); } }
/// <summary> /// Построить источник данных (DataSet) для вывода в отчет /// </summary> /// <returns></returns> public DetailListDataSet GenerateDataSet() { DetailListDataSet dataset = new DetailListDataSet(); AddOperatorToDataset(dataset); AddAircraftToDataset(dataset); AddDetailsToDataset(dataset); AddAdditionalInformation(dataset); return(dataset); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="detail">Добавляемый агрегат</param> /// <param name="number">Порядковый номер агрегата</param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected virtual void AddDetailToDataset(Detail detail, int number, DetailListDataSet destinationDataSet) { if (!DefaultFilter.Acceptable(detail)) { return; } int aircraftId = ReportedAircraft.ID; string atachapter = detail.AtaChapter.ShortName; string componentNumber = number.ToString(); string atachapterfull = detail.AtaChapter.FullName; string partNumber = detail.PartNumber; string description = detail.Description; string serialNumber = detail.SerialNumber; string positionNumber = detail.PositionNumber; string maintanceType = detail.MaintenanceType.ShortName; string instalationDate = detail.InstallationDate.ToString("MMM dd, yyyy"); string complianceTSN = ""; string complianceDate = ""; string complianceWorkType = ""; if (detail.Limitation.LastPerformance != null) { complianceTSN = lifelengthFormatter.GetData(detail.Limitation.LastPerformance.Lifelength, "h\r\n", "cyc\r\n", ""); DateTime tempDateTime = new DateTime(detail.Limitation.LastPerformance.Lifelength.Calendar.Ticks); complianceDate = tempDateTime.ToString("MMM dd, yyyy"); complianceWorkType = detail.Limitation.LastPerformance.DetailRecordType.ShortName; } string nextTSN = ""; string nextDate = ""; string nextRemains = ""; string nextWorkType = ""; if (detail.Limitation.NextPerformance != null) { } string condition = detail.LimitationCondition.GetHashCode().ToString(); destinationDataSet.ItemsTable.AddItemsTableRow(detail.ID, aircraftId, componentNumber, atachapter, atachapterfull, partNumber, description, serialNumber, positionNumber, maintanceType, instalationDate, complianceTSN, complianceDate, complianceWorkType, nextTSN, nextDate, nextRemains, nextWorkType, condition); }
/// <summary> /// Добавление дополнительной информации /// </summary> /// <param name="destinationDateSet"></param> /// <param name="addRegistrationNumber">Добавлять ли регистрационный номер ВС в название отчета</param> protected void AddAdditionalInformation(DetailListDataSet destinationDateSet, bool addRegistrationNumber) { string reportHeader = ReportTitle; if (addRegistrationNumber) { reportHeader = _reportedAircraft.RegistrationNumber + ". " + ReportTitle; } if (_isFiltered) { reportHeader += ". Filtered"; } string reportFooter = new GlobalTermsProvider()["ReportFooter"].ToString(); string reportFooterPrepared = new GlobalTermsProvider()["ReportFooterPrepared"].ToString(); string reportFooterLink = new GlobalTermsProvider()["ReportFooterLink"].ToString(); destinationDateSet.AdditionalDataTable.AddAdditionalDataTableRow(ReportType, reportHeader, _dateAsOfData, reportFooter, reportFooterPrepared, reportFooterLink); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected virtual void AddAircraftToDataset(DetailListDataSet destinationDataSet) { int operatorId = destinationDataSet.OperatorInfomationTable.FindByOperatorId(reportedAircraft.Parent.ID).OperatorId; string registrationNumber = reportedAircraft.RegistrationNumber; string serialNumber = reportedAircraft.SerialNumber; string manufactureDate = reportedAircraft.ManufactureDate.ToString("MMM dd, yyyy"); string lineNumber = ""; string variableNumber = ""; string SinceNewHours = lifelengthFormatter.GetHoursData(reportedAircraft.Limitation.ResourceSinceNew.Hours).Trim(); int sinceNewCycles = reportedAircraft.Limitation.ResourceSinceNew.Cycles; string SinceOverhaulHours = lifelengthFormatter.GetHoursData(reportedAircraft.Limitation.ResourceSinceOverhaul.Hours).Trim(); int sinceOverhaulCycles = reportedAircraft.Limitation.ResourceSinceOverhaul.Cycles; if (reportedAircraft is WestAircraft) { lineNumber = ((WestAircraft)reportedAircraft).LineNumber; variableNumber = ((WestAircraft)reportedAircraft).VariableNumber; } string model = reportedAircraft.Model; destinationDataSet.AircraftInformationTable.AddAircraftInformationTableRow(reportedAircraft.ID, operatorId, registrationNumber, serialNumber, manufactureDate, lineNumber, variableNumber, SinceNewHours, sinceNewCycles, SinceOverhaulHours, sinceOverhaulCycles, model); }
/// <summary> /// Добавляется оператора в таблицу данных /// </summary> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected virtual void AddOperatorToDataset(DetailListDataSet destinationDataSet) { destinationDataSet.OperatorInfomationTable.AddOperatorInfomationTableRow(reportedOperator.ID, reportedOperator.Name, reportedOperator.ICAOCode); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="componentобавляемый агрегат</param> /// <param name="previousNumber">Порядковый номер агрегата</param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected virtual void AddDetailToDataset(Component component, ref int previousNumber, DetailListDataSet destinationDataSet) { string atachapter; string componentNumber; string atachapterfull; string partNumber; string description; string serialNumber; string positionNumber; string maintanceType; string instalationDate; AtaChapter ata = component.ATAChapter; atachapter = ata.ShortName; componentNumber = (previousNumber++).ToString(); atachapterfull = ata.FullName; partNumber = component.PartNumber; description = component.Description; serialNumber = component.SerialNumber; positionNumber = component.TransferRecords.Count > 0 ? component.TransferRecords.GetLast().Position : ""; maintanceType = "";//((Detail) detail).MaintenanceType.ShortName; instalationDate = component.TransferRecords.Count > 0 ? UsefulMethods.NormalizeDate(component.TransferRecords.GetLast().TransferDate) : ""; string complianceTSN = ""; string complianceDate = ""; string complianceWorkType = ""; /* if ((Deta)detail. != null) * { * complianceDate = UsefulMethods.NormalizeDate(detail.Limitation.LastPerformance.RecordDate); * if (complianceDate != "") * complianceTSN = lifelengthFormatter.GetHoursData(detail.Limitation.LastPerformance.Lifelength, " hrs\r\n") + * lifelengthFormatter.GetCyclesData(detail.Limitation.LastPerformance.Lifelength, " cyc\r\n"); * else * complianceTSN = lifelengthFormatter.GetData(detail.Limitation.LastPerformance.Lifelength, " hrs\r\n", " cyc\r\n", " day"); * complianceWorkType = detail.Limitation.LastPerformance.RecordType.ShortName; * }*/ string nextTSN = ""; string nextDate = ""; string nextRemains = ""; string nextWorkType = ""; /* * nextDate = UsefulMethods.NormalizeDate(detail.Limitation.NextDate); * nextRemains = lifelengthFormatter.GetData(detail.Limitation.LeftTillNextPerformance, " hrs\r\n", " cyc\r\n", " day"); * if (detail.Limitation.NextPerformance != null) * { * if (nextDate != "") * nextTSN = lifelengthFormatter.GetHoursData(detail.Limitation.NextPerformance, " hrs\r\n") + * lifelengthFormatter.GetCyclesData(detail.Limitation.NextPerformance, " cyc\r\n"); * else * nextTSN = lifelengthFormatter.GetData(detail.Limitation.NextPerformance, " hrs\r\n", " cyc\r\n", " day"); * } * if (detail.Limitation.NextWorkType != null) * { * nextWorkType = detail.Limitation.NextWorkType.ShortName; * } */ GlobalObjects.PerformanceCalculator.GetNextPerformance(component); string condition = component.Condition.GetHashCode().ToString(); destinationDataSet.ItemsTable.AddItemsTableRow(componentNumber, atachapter, atachapterfull, partNumber, description, serialNumber, positionNumber, maintanceType, instalationDate, complianceTSN, complianceDate, complianceWorkType, nextTSN, nextDate, nextRemains, nextWorkType, condition, "", "", "", "", "", "", "", "", "", ""); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected void AddAircraftToDataset(DetailListDataSet destinationDataSet) { var registrationNumber = _reportedAircraft.RegistrationNumber; var serialNumber = _reportedAircraft.SerialNumber; var manufactureDate = _reportedAircraft.ManufactureDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString()); var lineNumberCaption = ""; var variableNumberCaption = ""; var lifelength = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(_reportedAircraft); var sinceNewHours = lifelength.Hours.ToString(); var sinceNewCycles = lifelength.Cycles.ToString().Trim(); string averageUtilizationHours; string averageUtilizationCycles; string averageUtilizationHoursTitle; string averageUtilizationCyclesTitle; var aircraftFrame = GlobalObjects.ComponentCore.GetBaseComponentById(_reportedAircraft.AircraftFrameId); var averageUtilization = GlobalObjects.AverageUtilizationCore.GetAverageUtillization(aircraftFrame); if (averageUtilization.SelectedInterval == UtilizationInterval.Dayly) { averageUtilizationHoursTitle = "FH/DAY: "; averageUtilizationHours = averageUtilization.Hours.ToString(); averageUtilizationCyclesTitle = "FC/DAY: "; averageUtilizationCycles = averageUtilization.Cycles.ToString(); } else { averageUtilizationHoursTitle = "FH/MONTH: "; averageUtilizationHours = averageUtilization.Hours.ToString(); averageUtilizationCyclesTitle = "FC/MONTH: "; averageUtilizationCycles = averageUtilization.Cycles.ToString(); } /*if (reportedAircraft is AircraftProxy) * {*/ var lineNumber = (_reportedAircraft).LineNumber; var variableNumber = (_reportedAircraft).VariableNumber; if (lineNumber != "") { lineNumberCaption = "L/N:"; } if (variableNumber != "") { variableNumberCaption = "V/N:"; } /* } * if (reportedAircraft is WestAircraft) * { * lineNumber = ((WestAircraft)reportedAircraft).LineNumber; * variableNumber = ((WestAircraft)reportedAircraft).VariableNumber; * if (lineNumber != "") * lineNumberCaption = "L/N:"; * if (variableNumber != "") * variableNumberCaption = "V/N:"; * }//todo что то надо сделать с этим...так не пойдет*/ destinationDataSet.AircraftInformationTable.AddAircraftInformationTableRow(registrationNumber, serialNumber, manufactureDate, lineNumberCaption, variableNumberCaption, lineNumber, variableNumber, sinceNewHours, sinceNewCycles, "", "", _reportedAircraft.Model.ToString(), averageUtilizationHours, averageUtilizationCycles, averageUtilizationHoursTitle, averageUtilizationCyclesTitle); }
/// <summary> /// Добавляется оператора в таблицу данных /// </summary> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected virtual void AddOperatorToDataset(DetailListDataSet destinationDataSet) { destinationDataSet.OperatorInfomationTable.AddOperatorInfomationTableRow(_reportedOperator.Name, _reportedOperator.LogoTypeWhite); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="componentобавляемый агрегат</param> /// <param name="previousNumber">Порядковый номер агрегата</param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected override void AddDetailToDataset(Component component, ref int previousNumber, DetailListDataSet destinationDataSet) { var ata = component.ATAChapter; var atachapter = ata.ShortName; var componentNumber = (previousNumber++).ToString(); var atachapterfull = ata.FullName; var partNumber = component.PartNumber; var description = component.Description; var serialNumber = component.SerialNumber; var lastTransferRecord = component.TransferRecords.GetLast(); var positionNumber = lastTransferRecord.Position; var instalationDate = UsefulMethods.NormalizeDate(lastTransferRecord.TransferDate); var installationLifelength = lastTransferRecord.OnLifelength; var remarks = component.Remarks; GlobalObjects.PerformanceCalculator.GetNextPerformance(component); var current = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(component); var installationTsncsn = LifelengthFormatter.GetHoursData(installationLifelength, " hrs\r\n") + LifelengthFormatter.GetCyclesData(installationLifelength, " cyc\r\n"); var currentTsncsn = LifelengthFormatter.GetHoursData(current, " hrs\r\n") + LifelengthFormatter.GetCyclesData(current, " cyc\r\n"); var condition = component.Condition.GetHashCode().ToString(); var lifelengthAircraftTime = current; lifelengthAircraftTime.Substract(installationLifelength); var aircraftTime = LifelengthFormatter.GetHoursData(lifelengthAircraftTime, " hrs\r\n") + LifelengthFormatter.GetCyclesData(lifelengthAircraftTime, " cyc\r\n"); destinationDataSet.ItemsTable.AddItemsTableRow(componentNumber, atachapter, atachapterfull, partNumber, description, serialNumber, positionNumber, "", instalationDate, "", "", "", "", "", "", "", condition, aircraftTime, "", "", "", "", "", "", installationTsncsn, remarks, currentTsncsn); }
/// <summary> /// Добавляется элемент в таблицу данных /// </summary> /// <param name="componentобавляемый агрегат</param> /// <param name="previousNumber">Порядковый номер агрегата</param> /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param> protected override void AddDetailToDataset(Component component, ref int previousNumber, DetailListDataSet destinationDataSet) { Lifelength remainsLifelength; Lifelength current; DateTime? nextDateTime; var ataChapter = component.ATAChapter; var atachapter = ataChapter.ShortName; var atachapterfull = ataChapter.FullName; var partNumber = component.PartNumber; var description = component.Description; var serialNumber = component.SerialNumber; var lastTransferRecord = component.TransferRecords.GetLast(); var positionNumber = lastTransferRecord.Position; var instalationDateTime = lastTransferRecord.TransferDate; var installationLifelength = lastTransferRecord.OnLifelength; var remarks = component.Remarks; var lifeLimit = component.LifeLimit; var mpdItem = component.MPDItem; var detailDirectives = new List <ComponentDirective>(component.ComponentDirectives.ToArray()); GlobalObjects.PerformanceCalculator.GetNextPerformance(component); current = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength((BaseEntityObject)component); nextDateTime = component.NextPerformanceDate; remainsLifelength = component.Remains; var instalationDate = UsefulMethods.NormalizeDate(instalationDateTime); var installationTsncsn = LifelengthFormatter.GetHoursData(installationLifelength, " hrs\r\n") + LifelengthFormatter.GetCyclesData(installationLifelength, " cyc\r\n"); var currentTsncsn = LifelengthFormatter.GetHoursData(current, " hrs\r\n") + LifelengthFormatter.GetCyclesData(current, " cyc\r\n"); var condition = UsefulMethods.GetColorName(component); var nextDate = nextDateTime != null ? ((DateTime)nextDateTime).ToString(new GlobalTermsProvider()["DateFormat"].ToString()) : ""; var componentNumber = (previousNumber++).ToString(); if (lifeLimit != Lifelength.Null) { var workType = "RMV"; var nextTsncsn = LifelengthFormatter.GetHoursData(lifeLimit, " hrs\r\n") + LifelengthFormatter.GetCyclesData(lifeLimit, " cyc\r\n"); var remains = LifelengthFormatter.GetCalendarData(remainsLifelength, " d\r\n") + LifelengthFormatter.GetHoursData(remainsLifelength, " h\r\n") + LifelengthFormatter.GetCyclesData(remainsLifelength, " c\r\n"); if (remains == "") { nextDate = ""; nextTsncsn = ""; } destinationDataSet.ItemsTable.AddItemsTableRow(componentNumber, atachapter, atachapterfull, partNumber, description, serialNumber, positionNumber, "", instalationDate, "", "", workType, nextTsncsn, nextDate, remains, "", condition, "", "", "", "", "", "", mpdItem, installationTsncsn, remarks, currentTsncsn); foreach (ComponentDirective t in detailDirectives) { AddDetailDirectiveToDatatSet("", "", "", "", "", "", "", "", "", t, ataChapter, destinationDataSet); } } else if (detailDirectives.Count > 0) { AddDetailDirectiveToDatatSet(componentNumber, mpdItem, partNumber, description, serialNumber, positionNumber, instalationDate, installationTsncsn, currentTsncsn, detailDirectives[0], ataChapter, destinationDataSet); for (int i = 1; i < detailDirectives.Count; i++) { AddDetailDirectiveToDatatSet("", "", "", "", "", "", "", "", "", detailDirectives[i], ataChapter, destinationDataSet); } } else { destinationDataSet.ItemsTable.AddItemsTableRow(componentNumber, atachapter, atachapterfull, partNumber, description, serialNumber, positionNumber, "", instalationDate, "", "", "", "", "", "", "", condition, "", "", "", "", "", "", mpdItem, installationTsncsn, remarks, currentTsncsn); } }
private void AddDetailDirectiveToDatatSet(string number, string mpdItem, string partNumber, string description, string serialNumber, string positionNumber, string installationDate, string installationTsncsn, string currentTsncsn, ComponentDirective directive, AtaChapter ataChapter, DetailListDataSet destinationDataSet) { var workType = directive.DirectiveType.ShortName; var lastComplianceTsncsn = ""; var lastComplianceDate = ""; var nextDate = ""; GlobalObjects.PerformanceCalculator.GetNextPerformance(directive); var nextTsncsn = LifelengthFormatter.GetHoursData(directive.NextPerformanceSource, " hrs\r\n") + LifelengthFormatter.GetCyclesData(directive.NextPerformanceSource, " cyc\r\n"); if (directive.NextPerformanceDate != null) { nextDate = ((DateTime)directive.NextPerformanceDate).ToString(new GlobalTermsProvider()["DateFormat"].ToString()); } var remains = LifelengthFormatter.GetCalendarData(directive.Remains, " d\r\n") + LifelengthFormatter.GetHoursData(directive.Remains, " h\r\n") + LifelengthFormatter.GetCyclesData(directive.Remains, " c\r\n"); if (remains == "") { nextDate = ""; nextTsncsn = ""; } var directiveRemarks = ""; if (directive.LastPerformance != null) { var lastComplianceTsncsnlLifelength = directive.LastPerformance.OnLifelength; lastComplianceTsncsn = LifelengthFormatter.GetHoursData(lastComplianceTsncsnlLifelength, " hrs\r\n") + LifelengthFormatter.GetCyclesData(lastComplianceTsncsnlLifelength, " cyc\r\n"); lastComplianceDate = directive.LastPerformance.RecordDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString()); directiveRemarks = directive.LastPerformance.Remarks; } var condition = directive.Condition.ToString(); destinationDataSet.ItemsTable.AddItemsTableRow(number, ataChapter.ShortName, ataChapter.FullName, partNumber, description, serialNumber, positionNumber, "", installationDate, lastComplianceTsncsn, lastComplianceDate, workType, nextTsncsn, nextDate, "", "", condition, "", remains, "", "", "", "", mpdItem, installationTsncsn, directiveRemarks, currentTsncsn); }