private void AddComponentsDataToDataSet(AvailableComponentsDataSet dataset)
        {
            foreach (var component in _reportedComponents)
            {
                var partNumber  = component.PartNumber;
                var description = component.Description;
                var goodClass   = component.GoodsClass.ToString();
                var remarks     = component.Remarks;

                bool isComponent =
                    component.GoodsClass.IsNodeOrSubNodeOf(new IDictionaryTreeItem[]
                {
                    GoodsClass.ComponentsAndParts,
                    GoodsClass.ProductionAuxiliaryEquipment
                });

                var quantityIn            = isComponent && component.ItemId > 0 ? 1 : component.QuantityIn;
                var current               = isComponent && component.ItemId > 0 ? 1 : component.Quantity;
                var shouldBeOnStockString = component.ShouldBeOnStock;
                var needWP  = component.NeedWpQuantity;
                var reserve = current - needWP;

                var ata          = component.ATAChapter.ToString();
                var location     = component.Location.ToString();
                var locationType = component.Location?.LocationsType?.ToString();


                dataset.ComponentsDataTable.AddComponentsDataTableRow(partNumber, description, goodClass, $"{quantityIn:0.##}" + (component.Measure != null ? " " + component.Measure + "(s)" : ""),
                                                                      shouldBeOnStockString.ToString(), current.ToString(), needWP.ToString(), reserve.ToString(), remarks, ata, locationType, location);
            }
        }
        protected virtual DataSet GenerateDataSet()
        {
            var dataset = new AvailableComponentsDataSet();

            AddAdditionalDataToDataSet(dataset);
            AddComponentsDataToDataSet(dataset);
            return(dataset);
        }
        /// <summary>
        /// Добавление дополнительной информации
        /// </summary>
        /// <param name="availableComponentsDateSet"></param>
        private void AddAdditionalDataToDataSet(AvailableComponentsDataSet availableComponentsDateSet)
        {
            var reportFooter         = new GlobalTermsProvider()["ReportFooter"].ToString();
            var reportFooterPrepared = new GlobalTermsProvider()["ReportFooterPrepared"].ToString();
            var reportFooterLink     = new GlobalTermsProvider()["ProductWebsite"].ToString();

            _dateAsOf = DateTime.Today.ToString("dd MM yyyy");

            var aircraft = GlobalObjects.AircraftsCore.GetAircraftById(_reportedWorkPackage.ParentId);
            var wpTitle  = _reportedWorkPackage.Title;
            var date     = _reportedWorkPackage.OpeningDate.ToString("dd MM yyyy");

            availableComponentsDateSet.AdditionalDataTAble.AddAdditionalDataTAbleRow(_reportTitle, _operatorLogotype, _filterSelection, _dateAsOf, reportFooter, reportFooterPrepared, reportFooterLink, aircraft.ToString(), wpTitle, date);
        }