public void OptionWindow_SummaryTable_Selected_ShouldReturnCorrectVar()
        {
            //Arrange
            XDocument xDocument = XDocument.Load(App.ConfigFileName);

            //Act

            OptionWindowHelper.ExtractSummaryTableWidth(xDocument, out BridgeDeckDamageSummaryTableWidth bridgeDeckDamageSummaryTableWidth, out SuperSpaceDamageSummaryTableWidth superSpaceDamageSummaryTableWidth, out SubSpaceDamageSummaryTableWidth subSpaceDamageSummaryTableWidth);

            //Assert
            Assert.Equal(20, bridgeDeckDamageSummaryTableWidth.No);
            Assert.Equal(30, bridgeDeckDamageSummaryTableWidth.Position);
            Assert.Equal(40, bridgeDeckDamageSummaryTableWidth.Component);
            Assert.Equal(40, bridgeDeckDamageSummaryTableWidth.Damage);
            Assert.Equal(50, bridgeDeckDamageSummaryTableWidth.DamageDescription);
            Assert.Equal(20, bridgeDeckDamageSummaryTableWidth.PictureNo);
            Assert.Equal(20, bridgeDeckDamageSummaryTableWidth.Comment);
        }
Exemplo n.º 2
0
        private void AutoReport_Click(object sender, RoutedEventArgs e)
        {
            Configuration appConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            bool          commentColumnInsertTable;

            commentColumnInsertTable = Convert.ToBoolean(appConfig.AppSettings.Settings["CommentColumnInsertTable"].Value, CultureInfo.InvariantCulture);

            XDocument config = XDocument.Load($"{App.ConfigurationFolder}\\{App.ConfigFileName}");
            XElement  pictureWidth = config.Elements("configuration").Elements("Picture").Elements("Width").FirstOrDefault();
            XElement  pictureHeight = config.Elements("configuration").Elements("Picture").Elements("Height").FirstOrDefault();
            XElement  pictureMaxCompressSize = config.Elements("configuration").Elements("Picture").Elements("MaxCompressSize").FirstOrDefault();
            XElement  pictureCompressQuality = config.Elements("configuration").Elements("Picture").Elements("CompressQuality").FirstOrDefault();
            double    ImageWidth = Convert.ToDouble(pictureWidth.Value, CultureInfo.InvariantCulture); double ImageHeight = Convert.ToDouble(pictureHeight.Value, CultureInfo.InvariantCulture);

            string templateFile = $"{ App.ReportTemplatesFolder}\\{App.TemplateFileList[TemplateFileComboBox.SelectedIndex].Name}";

            string outputFile = App.OutputReportFileName;

            var _bridgeDeckListDamageSummary = BridgeDeckGrid.ItemsSource as ObservableCollection <DamageSummary>;
            var _superSpaceListDamageSummary = SuperSpaceGrid.ItemsSource as ObservableCollection <DamageSummary>;
            var _subSpaceListDamageSummary   = SubSpaceGrid.ItemsSource as ObservableCollection <DamageSummary>;


            OptionWindowHelper.ExtractSummaryTableWidth(config, out BridgeDeckDamageSummaryTableWidth bridgeDeckDamageSummaryTableWidth, out SuperSpaceDamageSummaryTableWidth superSpaceDamageSummaryTableWidth, out SubSpaceDamageSummaryTableWidth subSpaceDamageSummaryTableWidth);


            GenerateReportSettings generateReportSettings = new GenerateReportSettings
            {
                ComboBoxReportTemplates = App.TemplateFileList[TemplateFileComboBox.SelectedIndex]
                ,
                ImageSettings = new ImageSettings
                {
                    MaxCompressSize = Convert.ToInt32(pictureMaxCompressSize.Value, CultureInfo.InvariantCulture)
                    ,
                    CompressQuality = Convert.ToInt32(pictureCompressQuality.Value, CultureInfo.InvariantCulture)
                }
                ,
                InspectionString = InspectionComboBox.Text
                ,
                DeletePositionInBridgeDeckCheckBox = Convert.ToBoolean(appConfig.AppSettings.Settings["DeletePositionInBridgeDeck"].Value, CultureInfo.InvariantCulture)
                ,
                CustomTableCellWidth = Convert.ToBoolean(appConfig.AppSettings.Settings["CustomSummaryTableWidth"].Value, CultureInfo.InvariantCulture)
                ,
                IntactStructNoInsertSummaryTable = Convert.ToBoolean(config.Elements("configuration").Elements("General").Elements("IntactStructNoInsertSummaryTable").FirstOrDefault().Value, CultureInfo.InvariantCulture)
                ,
                BridgeDeckTableCellWidth = new TableCellWidth {
                    No = bridgeDeckDamageSummaryTableWidth.No, Position = bridgeDeckDamageSummaryTableWidth.Position, Component = bridgeDeckDamageSummaryTableWidth.Component, Damage = bridgeDeckDamageSummaryTableWidth.Damage, DamageDescription = bridgeDeckDamageSummaryTableWidth.DamageDescription, PictureNo = bridgeDeckDamageSummaryTableWidth.PictureNo, Comment = bridgeDeckDamageSummaryTableWidth.Comment
                }
                ,
                SuperSpaceTableCellWidth = new TableCellWidth {
                    No = superSpaceDamageSummaryTableWidth.No, Position = superSpaceDamageSummaryTableWidth.Position, Component = superSpaceDamageSummaryTableWidth.Component, Damage = superSpaceDamageSummaryTableWidth.Damage, DamageDescription = superSpaceDamageSummaryTableWidth.DamageDescription, PictureNo = superSpaceDamageSummaryTableWidth.PictureNo, Comment = superSpaceDamageSummaryTableWidth.Comment
                }
                ,
                SubSpaceTableCellWidth = new TableCellWidth {
                    No = subSpaceDamageSummaryTableWidth.No, Position = subSpaceDamageSummaryTableWidth.Position, Component = subSpaceDamageSummaryTableWidth.Component, Damage = subSpaceDamageSummaryTableWidth.Damage, DamageDescription = subSpaceDamageSummaryTableWidth.DamageDescription, PictureNo = subSpaceDamageSummaryTableWidth.PictureNo, Comment = subSpaceDamageSummaryTableWidth.Comment
                }
            };

            new Thread(() =>
            {
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    GenerateReport(generateReportSettings, commentColumnInsertTable, ImageWidth, ImageHeight, templateFile, outputFile, generateReportSettings.ImageSettings.CompressQuality, _bridgeDeckListDamageSummary, _superSpaceListDamageSummary, _subSpaceListDamageSummary);

                    //try
                    //{
                    //    GenerateReport(ImageWidth, ImageHeight, templateFile, outputFile, CompressImageFlag, _bridgeDeckListDamageSummary, _superSpaceListDamageSummary, _subSpaceListDamageSummary);


                    //}
                    //catch (Exception ex)
                    //{
                    //    throw ex;
                    //}
                }));
            }).Start();
        }