コード例 #1
0
        private void AddReleaseToServiceInformationToDataSet(OperationTimeDataSet destinationDataSet)
        {
            var period           = SmartCore.Auxiliary.Convert.DatePeriodToString(_from, _to);
            var totalFlight      = GlobalObjects.CasEnvironment.Calculator.GetCurrentFlightLifelength(_currentAircraft);
            var op               = GlobalObjects.CasEnvironment.Operators.First(o => o.ItemId == _currentAircraft.OperatorId);
            var airportName      = op.Name + Environment.NewLine + "The Seychelles National Airport";
            var manufacturer     = GlobalObjects.ComponentCore.GetBaseComponentById(_currentAircraft.AircraftFrameId).Manufacturer;
            var registrationMark = _currentAircraft.RegistrationNumber;
            var model            = _currentAircraft.Model.ToString();
            var serialNumber     = _currentAircraft.SerialNumber;
            var totalCycles      = totalFlight.Cycles.ToString();
            var totalFlightHours = totalFlight.Hours.ToString();
            var operatorLogotype = op.LogotypeReportVeryLarge;
            var operatorName     = op.Name;
            var operatorAddress  = op.Address;

            destinationDataSet.MainDataTable.AddMainDataTableRow(airportName,
                                                                 manufacturer,
                                                                 registrationMark, model, serialNumber,
                                                                 totalCycles, totalFlightHours,
                                                                 operatorLogotype,
                                                                 operatorName, operatorAddress,
                                                                 period,
                                                                 "",
                                                                 "",
                                                                 "");
        }
コード例 #2
0
 /// <summary>
 /// ?????????? ???????? ? ??????? ??????
 /// </summary>
 /// <param name="dataset">???????, ? ??????? ??????????? ??????</param>
 private void AddItemsToDataSet(OperationTimeDataSet dataset)
 {
     foreach (MaintenanceCheckRecordGroup checkRecord in _records)
     {
         AddItemDataset(checkRecord, dataset);
     }
 }
コード例 #3
0
        private OperationTimeDataSet GenerateDataSet()
        {
            OperationTimeDataSet dataSet = new OperationTimeDataSet();

            AddReleaseToServiceInformationToDataSet(dataSet);
            AddBaseDetailsToDataSet(dataSet);
            AddItemsToDataSet(dataSet);
            return(dataSet);
        }
コード例 #4
0
        /// <summary>
        /// ?????????? ???????? ? ??????? ??????
        /// </summary>
        /// <param name="dataset">???????, ? ??????? ??????????? ??????</param>
        private void AddBaseDetailsToDataSet(OperationTimeDataSet dataset)
        {
            if (_aircraftBaseDetails == null)
            {
                return;
            }

            var frame = _aircraftBaseDetails.FirstOrDefault(bd => bd.BaseComponentType == BaseComponentType.Frame);

            if (frame != null)
            {
                var subs          = frame.Position.Split('-');
                var framePosition = new StringBuilder();
                for (int i = 0; i < subs.Length; i++)
                {
                    if (i == subs.Length - 1)
                    {
                        framePosition.AppendLine(subs[i]);
                    }
                    else
                    {
                        framePosition.AppendLine(subs[i] + '-');
                    }
                }

                var from = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(frame, _from);
                //Lifelength period = GlobalObjects.CasEnvironment.Calculator.GetLifelength(frame, _from, _to);
                var total  = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnEndOfDay(frame, _to);
                var period = new Lifelength(total);
                period.Substract(from);
                //res.Substract(GetLifelength(baseDetail, fromDate));
                var onCCheck = _lastCheckRecord != null
                                        ? GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(frame, _lastCheckRecord.RecordDate)
                                        : Lifelength.Null;

                var sinceLast = onCCheck != null ? total - onCCheck : Lifelength.Null;
                dataset.BaseDetailsTable.AddBaseDetailsTableRow
                    (framePosition.ToString(),
                    frame.SerialNumber,
                    total.TotalMinutes != null ? total.ToHoursMinutesFormat("") : "",
                    total.Cycles != null ? total.Cycles.ToString() : "",
                    sinceLast.TotalMinutes != null ? sinceLast.ToHoursMinutesFormat("") : "",
                    sinceLast.Cycles != null ? sinceLast.Cycles.ToString() : "",
                    period.TotalMinutes != null ? period.ToHoursMinutesFormat("") : "",
                    period.Cycles != null ? period.Cycles.ToString() : "",
                    frame.Model.ToString());
            }

            var engines = _aircraftBaseDetails.Where(bd => bd.BaseComponentType == BaseComponentType.Engine);

            if (engines.Count() > 0)
            {
                var engineNum = 1;
                foreach (BaseComponent engine in engines)
                {
                    var from = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(engine, _from);
                    //Lifelength period = GlobalObjects.CasEnvironment.Calculator.GetLifelength(frame, _from, _to);
                    var total  = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnEndOfDay(engine, _to);
                    var period = new Lifelength(total);
                    period.Substract(from);
                    var onCCheck = _lastCheckRecord != null
                                                ? GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(engine, _lastCheckRecord.RecordDate)
                                                : Lifelength.Null;

                    var sinceLast = onCCheck != null ? total - onCCheck : Lifelength.Null;
                    dataset.BaseDetailsTable.AddBaseDetailsTableRow
                        ("Engine " + engineNum,
                        engine.SerialNumber,
                        total.TotalMinutes != null ? total.ToHoursMinutesFormat("") : "",
                        total.Cycles != null ? total.Cycles.ToString() : "",
                        sinceLast.TotalMinutes != null ? sinceLast.ToHoursMinutesFormat("") : "",
                        sinceLast.Cycles != null ? sinceLast.Cycles.ToString() : "",
                        period.TotalMinutes != null ? period.ToHoursMinutesFormat("") : "",
                        period.Cycles != null ? period.Cycles.ToString() : "",
                        engine.Model.ToString());

                    engineNum++;
                }
            }

            var apu = _aircraftBaseDetails.FirstOrDefault(bd => bd.BaseComponentType == BaseComponentType.Apu);

            if (apu != null)
            {
#if KAC
                var subs      = apu.SerialNumber.Split('-');
                var apuNumber = new StringBuilder();
                for (int i = 0; i < subs.Length; i++)
                {
                    if (i == subs.Length - 1)
                    {
                        apuNumber.AppendLine(subs[i]);
                    }
                    else
                    {
                        apuNumber.AppendLine(subs[i] + '-');
                    }
                }
                var from = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(apu, _from);
                //Lifelength period = GlobalObjects.CasEnvironment.Calculator.GetLifelength(frame, _from, _to);
                var total = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnEndOfDay(apu, _to);
                //Lifelength period = new Lifelength(total);
                //period.Substract(from);

                var parentAircraft = GlobalObjects.AircraftsCore.GetAircraftById(apu.ParentAircraftId);
                var period         = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthForPeriod(parentAircraft, _from, _to);
                var calculated     = _currentAircraft.RegistrationNumber == "EX-37401"
                                        ? period
                                        : new Lifelength(period.Days, period.Cycles, Convert.ToInt32(period.Cycles * 60 * 1.3));
                //Lifelength total = GlobalObjects.CasEnvironment.Calculator.GetLifelength(apu, _to);
                var onCCheck = _lastCheckRecord != null
                                        ? GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnStartOfDay(apu, _lastCheckRecord.RecordDate)
                                        : Lifelength.Null;

                var sinceLast = onCCheck != null ? total - onCCheck : Lifelength.Null;
                dataset.BaseDetailsTable.AddBaseDetailsTableRow
                    ("APU",
                    apuNumber.ToString(),
                    total.TotalMinutes != null ? total.Hours.ToString() : "",
                    "--",
                    sinceLast.TotalMinutes != null ? sinceLast.Hours.ToString() : "",
                    "--",
                    calculated.TotalMinutes != null ? calculated.Hours.ToString() : "",
                    "--",
                    apu.Model.ToString());
#else
#endif
            }
        }
コード例 #5
0
        /// <summary>
        /// ??????????? ??????? ? ??????? ??????
        /// </summary>
        /// <param name="grouping">?????????? ?????????</param>
        /// <param name="destinationDataSet">???????, ? ??????? ??????????? ???????</param>
        private void AddItemDataset(MaintenanceCheckRecordGroup grouping, OperationTimeDataSet destinationDataSet)
        {
            if (grouping == null)
            {
                return;
            }

            string checkName = "";
            string performanceSourceHours  = "";
            string performanceSourceCycles = "";
            string station             = "";
            string checkStartEndString = "";

            if (grouping.Records.Count > 0)
            {
                grouping.Sort();

                MaintenanceCheckRecord mcr = grouping.LastOrDefault();
                MaintenanceCheck       mc  = grouping.GetMaxIntervalCheck();

                if (mcr != null)
                {
                    checkName = _currentAircraft != null && _currentAircraft.MaintenanceProgramCheckNaming
                                                                                ? (!string.IsNullOrEmpty(grouping.First().ComplianceCheckName)
                                                                                           ? mcr.ComplianceCheckName
                                                                                           : mc.Name)
                                                                                : mc.Name;
                    performanceSourceHours  = mcr.OnLifelength.ToHoursMinutesFormat("");
                    performanceSourceCycles = mcr.OnLifelength.Cycles != null?mcr.OnLifelength.Cycles.ToString() : "";

                    if (mcr.DirectivePackage == null)
                    {
                        mcr.DirectivePackage = _workPackages != null
                                                                                          ? _workPackages.FirstOrDefault(wp => wp.ItemId == mcr.DirectivePackageId)
                                                                                          : null;
                    }
                    if (mcr.DirectivePackage != null)
                    {
                        if (mcr.DirectivePackage.Status == WorkPackageStatus.Published)
                        {
                            checkStartEndString  = mcr.DirectivePackage.PublishingDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                            checkStartEndString += " - Present day";
                        }
                        if (mcr.DirectivePackage.Status == WorkPackageStatus.Closed)
                        {
                            checkStartEndString  = mcr.DirectivePackage.PublishingDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                            checkStartEndString += " - " + mcr.DirectivePackage.ClosingDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                        }
                        station = mcr.DirectivePackage.Station;
                    }
                    else
                    {
                        checkStartEndString = mcr.RecordDate.ToString(new GlobalTermsProvider()["DateFormat"].ToString());
                        station             = "--";
                    }
                }
            }

            var sinceLastCCheckHours  = "--";
            var sinceLastCCheckCycles = "--";

            //TODO:???????????? ??????
            //if(_lastC?heckRecord != null &&
            //   _aircraftBaseDetails != null &&
            //   _aircraftBaseDetails.FirstOrDefault(bd => bd.BaseComponentType == BaseComponentType.Frame) != null)
            //{
            //    BaseComponent frame = _aircraftBaseDetails.First(bd => bd.BaseComponentType == BaseComponentType.Frame);
            //    Lifelength current = GlobalObjects.CasEnvironment.Calculator.GetFlightLifelengthOnEndOfDay(frame, grouping.LastOrDefault() != null ? grouping.Last().RecordDate : DateTime.Today);
            //    Lifelength sinceLast =  current - _lastC?heckRecord.OnLifelength;
            //    sinceLastCCheckHours = sinceLast.TotalMinutes != null ? sinceLast.ToHoursMinutesFormat("") : "";
            //    sinceLastCCheckCycles = sinceLast.Cycles != null ? sinceLast.Cycles.ToString() : "";
            //}

            destinationDataSet.MaintenanceTable.AddMaintenanceTableRow(checkName,
                                                                       checkStartEndString,
                                                                       station,
                                                                       performanceSourceHours,
                                                                       performanceSourceCycles,
                                                                       sinceLastCCheckHours,
                                                                       sinceLastCCheckCycles);
        }