Пример #1
0
        /// <summary>
        /// Добавление дополнительной информации
        /// </summary>
        /// <param name="destinationDateSet"></param>
        private void AddAdditionalDataToDataSet(MaintenanceHistoryDataSet destinationDateSet)
        {
            string reportFooter         = new GlobalTermsProvider()["ReportFooter"].ToString();
            string reportFooterPrepared = new GlobalTermsProvider()["ReportFooterPrepared"].ToString();
            string reportFooterLink     = new GlobalTermsProvider()["ProductWebsite"].ToString();

            destinationDateSet.AdditionalDataTAble.AddAdditionalDataTAbleRow(_reportTitle, OperatorLogotype, _filterSelection?"Schedule":"Unschedule", DateAsOf, reportFooter, reportFooterPrepared, reportFooterLink);
        }
Пример #2
0
        /// <summary>
        /// Построить источник данных (DataSet) для вывода в отчет
        /// </summary>
        /// <returns></returns>
        public virtual MaintenanceHistoryDataSet GenerateDataSet()
        {
            MaintenanceHistoryDataSet dataset = new MaintenanceHistoryDataSet();

            AddAircraftToDataset(dataset);
            //AddStatusToDataset(dataset);
            AddDirectivesToDataSet(dataset);
            AddAdditionalDataToDataSet(dataset);
            //AddForecastToDataSet(dataset);
            return(dataset);
        }
Пример #3
0
        /// <summary>
        /// Добавляется элемент в таблицу данных
        /// </summary>
        /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param>
        private void AddAircraftToDataset(MaintenanceHistoryDataSet destinationDataSet)
        {
            if (_reportedAircraft == null)
            {
                return;
            }

            var reportAircraftLifeLenght = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(_reportedAircraft);

            var    manufactureDate    = _reportedAircraft.ManufactureDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
            var    serialNumber       = ReportedAircraft.SerialNumber;
            var    model              = _reportedAircraft.Model.ToString();
            var    sinceNewHours      = reportAircraftLifeLenght.Hours != null ? (int)reportAircraftLifeLenght.Hours : 0;
            var    sinceNewCycles     = reportAircraftLifeLenght.Cycles != null ? (int)reportAircraftLifeLenght.Cycles : 0;
            var    registrationNumber = ReportedAircraft.RegistrationNumber;
            int    averageUtilizationHours;
            int    averageUtilizationCycles;
            string averageUtilizationType;

            if (_forecastData == null)
            {
                var aircraftFrame      = GlobalObjects.ComponentCore.GetBaseComponentById(_reportedAircraft.AircraftFrameId);
                var averageUtilization = GlobalObjects.AverageUtilizationCore.GetAverageUtillization(aircraftFrame);

                averageUtilizationHours  = (int)averageUtilization.Hours;
                averageUtilizationCycles = (int)averageUtilization.Cycles;
                averageUtilizationType   = averageUtilization.SelectedInterval == UtilizationInterval.Dayly ? "Day" : "Month";
            }
            else
            {
                averageUtilizationHours  = (int)_forecastData.AverageUtilization.Hours;
                averageUtilizationCycles = (int)_forecastData.AverageUtilization.Cycles;
                averageUtilizationType   =
                    _forecastData.AverageUtilization.SelectedInterval == UtilizationInterval.Dayly ? "Day" : "Month";
            }

            var lineNumber     = (ReportedAircraft).LineNumber;
            var variableNumber = (ReportedAircraft).VariableNumber;

            destinationDataSet.AircraftDataTable.AddAircraftDataTableRow(serialNumber,
                                                                         manufactureDate,
                                                                         sinceNewHours,
                                                                         sinceNewCycles,
                                                                         registrationNumber, model, lineNumber, variableNumber,
                                                                         averageUtilizationHours, averageUtilizationCycles, averageUtilizationType);
        }
Пример #4
0
        /// <summary>
        /// Добавление директив в таблицу данных
        /// </summary>
        /// <param name="destinationDataSet">Таблица, в которую добавляются данные</param>
        protected virtual void AddDirectivesToDataSet(MaintenanceHistoryDataSet destinationDataSet)
        {
            if (_reportedAircraft == null)
            {
                return;
            }
            var compliance = from item in _reportedDirectives
                             group item by item.NumGroup into compl
                             orderby compl.First().RecordDate descending
                             select compl;

            foreach (IGrouping <int, MaintenanceCheckRecord> grouping in compliance)
            {
                MaintenanceCheckRecord reportedDirective = grouping.First();
                string name = grouping.Aggregate("", (current, g) => current + (g.ParentCheck.Name + " "));

                Lifelength reportAircraftLifeLenght =
                    GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(_reportedBaseComponent);
                Lifelength used = new Lifelength(reportAircraftLifeLenght);

                string lastComplianceDate = "", lastComplianceHours = "", lastComplianceCycles = "", lastComplianceDays = "";
                string remarks, references = "";


                remarks              = reportedDirective.Remarks;
                lastComplianceDate   = reportedDirective.RecordDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                lastComplianceCycles = reportedDirective.OnLifelength.Cycles != null
                                               ? reportedDirective.OnLifelength.Cycles.ToString()
                                               : "";

                lastComplianceHours = reportedDirective.OnLifelength.Hours != null
                                               ? reportedDirective.OnLifelength.Hours.ToString()
                                               : "";

                lastComplianceDays = reportedDirective.OnLifelength.Days != null
                                               ? reportedDirective.OnLifelength.Days.ToString()
                                               : "";

                var unusedDays     = reportedDirective.Unused?.Days.ToString() ?? "";
                var unusedHours    = reportedDirective.Unused?.Hours.ToString() ?? "";
                var unusedCycles   = reportedDirective.Unused?.Cycles.ToString() ?? "";
                var overusedDays   = reportedDirective.Overused?.Days.ToString() ?? "";
                var overusedHours  = reportedDirective.Overused?.Hours.ToString() ?? "";
                var overusedCycles = reportedDirective.Overused?.Cycles.ToString() ?? "";

                used.Substract(reportedDirective.OnLifelength);
                destinationDataSet.ItemsTable.AddItemsTableRow(lastComplianceDate,
                                                               reportedDirective.NumGroup,
                                                               reportedDirective.ParentCheck.Schedule ? "SCHEDULE" : "UNSCHEDULE",
                                                               name,
                                                               lastComplianceDays,
                                                               lastComplianceHours,
                                                               lastComplianceCycles,
                                                               unusedDays,
                                                               unusedHours,
                                                               unusedCycles,
                                                               overusedDays,
                                                               overusedHours,
                                                               overusedCycles,
                                                               remarks,
                                                               references);
            }
        }