예제 #1
0
 /// <summary>
 /// Добавление директив в таблицу данных
 /// </summary>
 /// <param name="dataset">Таблица, в которую добавляются данные</param>
 protected virtual void AddDirectivesToDataSet(DefferedListDataSet dataset)
 {
     foreach (DeferredItem t in _reportedDirectives.OfType <DeferredItem>())
     {
         AddDirectiveToDataset(t, dataset);
     }
 }
예제 #2
0
        protected virtual void AddForecastToDataSet(DefferedListDataSet destinationDataSet)
        {
            if (_forecastData == null)
            {
                destinationDataSet.ForecastTable.AddForecastTableRow(0,
                                                                     0,
                                                                     "",
                                                                     0,
                                                                     0,
                                                                     0,
                                                                     "");
                return;
            }
            double avgUtilizationCycles = _forecastData.AverageUtilization.Cycles;
            double avgUtilizationHours  = _forecastData.AverageUtilization.Hours;
            string avgUtilizationType   = _forecastData.AverageUtilization.SelectedInterval.ToString();
            int    forecastCycles       = _forecastData.ForecastLifelength.Cycles != null
                                     ? (int)_forecastData.ForecastLifelength.Cycles
                                     : 0;
            int forecastHours = _forecastData.ForecastLifelength.Hours != null
                                    ? (int)_forecastData.ForecastLifelength.Hours
                                    : 0;
            int forecastDays = _forecastData.ForecastLifelength.Days != null
                                   ? (int)_forecastData.ForecastLifelength.Days
                                   : 0;
            string forecastDate = "";

            if (_forecastData.SelectedForecastType == ForecastType.ForecastByDate)
            {
                forecastDate = SmartCore.Auxiliary.Convert.GetDateFormat(_forecastData.ForecastDate);
            }
            else if (_forecastData.SelectedForecastType == ForecastType.ForecastByPeriod)
            {
                forecastDate = SmartCore.Auxiliary.Convert.GetDateFormat(_forecastData.LowerLimit) + " - " +
                               SmartCore.Auxiliary.Convert.GetDateFormat(_forecastData.ForecastDate);
            }
            else if (_forecastData.SelectedForecastType == ForecastType.ForecastByCheck)
            {
                if (_forecastData.NextPerformanceByDate)
                {
                    forecastDate = _forecastData.NextPerformanceString;
                }
                else
                {
                    forecastDate =
                        $"{_forecastData.CheckName}. {SmartCore.Auxiliary.Convert.GetDateFormat(Convert.ToDateTime(_forecastData.NextPerformance.PerformanceDate))}";
                }
            }

            destinationDataSet.ForecastTable.AddForecastTableRow(avgUtilizationCycles,
                                                                 avgUtilizationHours,
                                                                 avgUtilizationType,
                                                                 forecastCycles,
                                                                 forecastHours,
                                                                 forecastDays,
                                                                 forecastDate);
        }
예제 #3
0
        /// <summary>
        /// Построить источник данных (DataSet) для вывода в отчет
        /// </summary>
        /// <returns></returns>
        protected override DataSet GenerateDataSet()
        {
            DefferedListDataSet dataset = new DefferedListDataSet();

            AddAircraftToDataset(dataset);
            AddDirectivesToDataSet(dataset);
            AddAdditionalDataToDataSet(dataset);
            AddForecastToDataSet(dataset);
            return(dataset);
        }
예제 #4
0
        /// <summary>
        /// Добавление дополнительной информации
        /// </summary>
        /// <param name="destinationDateSet"></param>
        private void AddAdditionalDataToDataSet(DefferedListDataSet destinationDateSet)
        {
            string model = _reportedBaseComponent != null && _reportedBaseComponent.Model != null
                ? _reportedBaseComponent.Model.ToString() :
                           _reportedAircraft.Model.ToString();

            string reportFooter         = new GlobalTermsProvider()["ReportFooter"].ToString();
            string reportFooterPrepared = new GlobalTermsProvider()["ReportFooterPrepared"].ToString();
            string reportFooterLink     = new GlobalTermsProvider()["ProductWebsite"].ToString();

            destinationDateSet.AdditionalDataTAble.AddAdditionalDataTAbleRow(_reportTitle, _operatorLogotype, _filterSelection, DateAsOf, model, reportFooter, reportFooterPrepared, reportFooterLink);
        }
예제 #5
0
        /// <summary>
        /// Добавляется элемент в таблицу данных
        /// </summary>
        /// <param name="directive">Добавлямая директива</param>
        /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param>
        private void AddDirectiveToDataset(DeferredItem directive, DefferedListDataSet destinationDataSet)
        {
            GlobalObjects.PerformanceCalculator.GetNextPerformance(directive);
            string category = directive.DeferredCategory != null?directive.DeferredCategory.ToString() : "N/A";

            string discoveryDate = directive.Threshold.EffectiveDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
            string nextDate      = directive.NextPerformanceDate != null
                ? ((DateTime)directive.NextPerformanceDate).ToString(new GlobalTermsProvider()["DateFormat"].ToString())
                : (directive.LastPerformance != null
                    ? directive.LastPerformance.RecordDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString())
                    :"");

            string interval = directive.LastPerformance != null
                ? (directive.NextPerformanceDate != null
                    ? directive.Threshold.RepeatInterval.Days.ToString()
                    : directive.Threshold.FirstPerformanceSinceEffectiveDate.Days.ToString())
                : directive.Threshold.FirstPerformanceSinceEffectiveDate.Days.ToString();

            string lastCompliance = directive.LastPerformance != null
                ? directive.LastPerformance.RecordDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString())
                : "";

            string status = "";

            if (directive.Status == DirectiveStatus.Closed ||
                directive.Status == DirectiveStatus.Open ||
                directive.Status == DirectiveStatus.Repetative ||
                directive.Status == DirectiveStatus.NotApplicable)
            {
                status = directive.Status.ShortName;
            }

            string condition = directive.Condition.ToString();

            string remarks = directive.LastPerformance != null ? directive.LastPerformance.Remarks : "";

            destinationDataSet.ItemsTable.AddItemsTableRow(directive.DeferredLogBookRef,
                                                           directive.DeferredMelCdlItem,
                                                           directive.Description,
                                                           category,
                                                           directive.DeferredExtention,
                                                           condition,
                                                           status,
                                                           discoveryDate,
                                                           interval,
                                                           nextDate,
                                                           lastCompliance,
                                                           remarks);
        }
예제 #6
0
        /// <summary>
        /// Добавляется элемент в таблицу данных
        /// </summary>
        /// <param name="destinationDataSet">Таблица, в которую добавляется элемент</param>
        private void AddAircraftToDataset(DefferedListDataSet 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    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, lineNumber, variableNumber,
                                                                         averageUtilizationHours, averageUtilizationCycles, averageUtilizationType);
        }