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); }
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(); }