Example #1
0
        public void Setup()
        {
            conductor = new Conductor();
            billet    = new InsulatedBillet {
                Conductor = conductor, PolymerGroup = new PolymerGroup()
            };
            coverPolymerGroup   = new PolymerGroup();
            fireProtectionClass = new FireProtectionClass();
            twistedElementType  = new TwistedElementType();
            operatingVoltage250 = new OperatingVoltage
            {
                ACVoltage   = 380,
                ACFriquency = 400,
                DCVoltage   = 540
            };
            operatingVoltage660 = new OperatingVoltage
            {
                ACVoltage   = 660,
                ACFriquency = 400,
                DCVoltage   = 1000
            };
            builder = new SkabTitleBuilder();

            cable = new Cable
            {
                CoverPolymerGroup   = coverPolymerGroup,
                TwistedElementType  = twistedElementType,
                FireProtectionClass = fireProtectionClass,
            };
        }
Example #2
0
        public override int ParseDataToDatabase()
        {
            _recordsCount = 0;

            var configuratorTSimpleAndKG  = new TableParserConfigurator(3, 2, 9, 6, 2, 1);
            var configuratorTSimpleAndKGS = new TableParserConfigurator(9, 2, 9, 6, 2, 1);
            var configuratorK             = new TableParserConfigurator(3, 2, 7, 6, 2, 1);
            var configuratorKS            = new TableParserConfigurator(9, 2, 7, 6, 2, 1);

            var techCond = _dbContext.TechnicalConditions.Where(c => c.Title == "ТУ 16.К99-037-2009").First();

            var voltage = _dbContext.OperatingVoltages.Find(5);

            var climaticModUHL = _dbContext.ClimaticMods.Where(c => c.Title == "УХЛ").First();
            var climaticModV   = _dbContext.ClimaticMods.Where(c => c.Title == "В").First();

            var colorOrange = _dbContext.Colors.Where(c => c.Title == "orange").First();
            var colorBlack  = _dbContext.Colors.Where(c => c.Title == "black").First();

            _fireFRLS = _dbContext.FireProtectionClasses.Find(18);
            _fireFRHF = _dbContext.FireProtectionClasses.Find(23);

            var polymerLS = _dbContext.PolymerGroups.Find(6);
            var polymerHF = _dbContext.PolymerGroups.Find(4);

            var pair = _dbContext.TwistedElementTypes.Find(2);

            var cablePropertiesSetList = new List <CablePropertySet?>
            {
                CablePropertySet.HasFoilShield,
                CablePropertySet.HasFoilShield | CablePropertySet.HasMicaWinding,
                CablePropertySet.HasFoilShield | CablePropertySet.HasArmourBraid,
                CablePropertySet.HasFoilShield | CablePropertySet.HasArmourBraid | CablePropertySet.HasMicaWinding,
                CablePropertySet.HasFoilShield | CablePropertySet.HasArmourBraid | CablePropertySet.HasArmourTube,
                CablePropertySet.HasFoilShield | CablePropertySet.HasArmourBraid | CablePropertySet.HasArmourTube | CablePropertySet.HasMicaWinding,
            };

            _coverPolymerGroups = new[] { polymerLS, polymerHF };

            _billets = _dbContext.InsulatedBillets.Where(b => b.CableBrandName.BrandName == "КСБ")
                       .Include(b => b.Conductor)
                       .ToList();

            _nameBuilder = new KsbgNameBuilder();

            _wordTableParser = new XceedWordTableParser();
            _wordTableParser.OpenWordDocument(_mSWordFile);

            var tableDataCommon = new List <TableCellData>();
            var cablePresenter  = new CablePresenter
            {
                TechCondId         = techCond.Id,
                OperatingVoltageId = voltage.Id,
                ClimaticModId      = climaticModUHL.Id,
            };

            _provider.OpenConnection();

            try
            {
            }
            finally
            {
                _wordTableParser.CloseWordApp();
                _provider.CloseConnection();
            }

            return(_recordsCount);
        }
        public override int ParseDataToDatabase()
        {
            _recordsCount = 0;

            var configuratorTop           = new TableParserConfigurator(3, 2, 9, 7, 2, 1);
            var configuratorBottom        = new TableParserConfigurator(11, 2, 9, 7, 10, 1);
            var configuratorSingleBillets = new TableParserConfigurator(4, 1, 2, 7, 3, 0);

            var techCond = _dbContext.TechnicalConditions.Where(c => c.Title == "ТУ 16.К99-036-2007").First();

            var voltage = _dbContext.OperatingVoltages.Find(5);

            var climaticModUHL = _dbContext.ClimaticMods.Find(3);

            var colorOrange = _dbContext.Colors.Find(8);

            _fireFRLS = _dbContext.FireProtectionClasses.Find(18);
            _fireFRHF = _dbContext.FireProtectionClasses.Find(23);

            var polymerLS = _dbContext.PolymerGroups.Find(6);
            var polymerHF = _dbContext.PolymerGroups.Find(4);


            var single = _dbContext.TwistedElementTypes.Find(1);
            var pair   = _dbContext.TwistedElementTypes.Find(2);

            var cablePropertiesSetList = new List <CablePropertySet?>
            {
                CablePropertySet.HasFoilShield,
                null,
                CablePropertySet.HasFoilShield | CablePropertySet.HasMicaWinding,
                CablePropertySet.HasMicaWinding
            };

            _coverPolymerGroups = new[] { polymerLS, polymerHF };

            _billets = _dbContext.InsulatedBillets.Where(b => b.CableBrandName.BrandName == "КПС(Э)")
                       .Include(b => b.Conductor)
                       .ToList();

            _nameBuilder = new KpseNameBuilder();

            _wordTableParser = new XceedWordTableParser();
            _wordTableParser.OpenWordDocument(_mSWordFile);

            var tableDataCommon = new List <TableCellData>();
            var cablePresenter  = new CablePresenter
            {
                TechCondId         = techCond.Id,
                OperatingVoltageId = voltage.Id,
                ClimaticModId      = climaticModUHL.Id,
                CoverColorId       = colorOrange.Id
            };

            _provider.OpenConnection();

            try
            {
                var tableIndex = 0;
                foreach (var cableProps in cablePropertiesSetList)
                {
                    tableDataCommon.AddRange(_wordTableParser.GetCableCellsCollection(tableIndex, configuratorTop));
                    tableDataCommon.AddRange(_wordTableParser.GetCableCellsCollection(tableIndex, configuratorBottom));

                    cablePresenter.TwistedElementTypeId = pair.Id;
                    InsertCablesFromTableCellData(tableDataCommon, cablePresenter, cableProps);
                    tableDataCommon.Clear();

                    tableDataCommon.AddRange(_wordTableParser.GetCableCellsCollection(4, configuratorSingleBillets));
                    cablePresenter.TwistedElementTypeId = single.Id;
                    InsertCablesFromTableCellData(tableDataCommon, cablePresenter, cableProps);
                    tableDataCommon.Clear();
                    configuratorSingleBillets.DataStartColumnIndex += (tableIndex + 1) % 2 == 0 ? -2 : 4;

                    OnParseReport((double)(tableIndex + 1) / cablePropertiesSetList.Count);
                    tableIndex++;
                }
            }
            finally
            {
                _wordTableParser.CloseWordApp();
                _provider.CloseConnection();
            }

            return(_recordsCount);
        }