Trigger: EDITOR_OPEN [Editor open] 1 file(s) submitted Configuring analysis with org.sonarlint.intellij.rider.RiderAnalysisConfigurator Using connection 'SonarQube' for project 'XXX' Analysing 'ConfirmationDataSheet.cs'... Starting analysis with configuration: [ projectKey: XXX baseDir: C:\XXX\git\XXX extraProperties: {sonar.cs.internal.solutionPath=C:\XXX\git\XXX\Configurator.sln, sonar.cs.internal.dotnetCliExeLocation=C:\Program Files\dotnet\dotnet.exe, sonar.cs.internal.msBuildPath=C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin} moduleKey: Module: 'rider.module' inputFiles: [ file:///C:/XXX/git/XXX/Configurator/WI-Calc/Class/OldCalc/ConfirmationDataSheet.cs (UTF-8) ] ] * cs: 247 active rules Rule roslyn.sonaranalyzer.security.cs:S6096 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5334 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S6287 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5883 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S3649 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5144 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5145 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5146 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S2078 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S2076 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S2631 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S2083 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S2091 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5131 is enabled on the server, but not available in SonarLint Rule roslyn.sonaranalyzer.security.cs:S5135 is enabled on the server, but not available in SonarLint Start analysis GET 200 https://sonarqube.XXX.net/api/system/status | response time=27ms Downloaded server infos in 27ms Skip downloading file taint issues on SonarQube 9.6+ Index files Language of file 'file:///C:/XXX/git/XXX/Configurator/WI-Calc/Class/OldCalc/ConfirmationDataSheet.cs' is detected to be 'C#' 1 file indexed Execute Sensor: OmniSharp Omnisharp: [DEBUG] ************ Request ************ { "Type": "request", "Seq": 10, "Command": "/sonarlint/config", "Arguments": { "activeRules": [ { "ruleId": "S1854" }, { "ruleId": "S4200" }, { "ruleId": "S2386" }, { "ruleId": "S4201" }, { "ruleId": "S5773" }, { "ruleId": "S3597" }, { "ruleId": "S3598" }, { "ruleId": "S3236" }, { "ruleId": "S3237" }, { "ruleId": "S3358" }, { "ruleId": "S5659" }, { "ruleId": "S3928" }, { "ruleId": "S1862" }, { "ruleId": "S1186" }, { "ruleId": "S1185" }, { "ruleId": "S4581" }, { "ruleId": "S3251" }, { "ruleId": "S3241" }, { "ruleId": "S4210" }, { "ruleId": "S2275" }, { "ruleId": "S4211" }, { "ruleId": "S3244" }, { "ruleId": "S5542" }, { "ruleId": "S3246" }, { "ruleId": "S4214" }, { "ruleId": "S4456" }, { "ruleId": "S3005" }, { "ruleId": "S3247" }, { "ruleId": "S4457" }, { "ruleId": "S5547" }, { "ruleId": "S3249" }, { "ruleId": "S2953" }, { "ruleId": "S3923" }, { "ruleId": "S3925" }, { "ruleId": "S3926" }, { "ruleId": "S3927" }, { "ruleId": "S1155" }, { "ruleId": "S3450" }, { "ruleId": "S3451" }, { "ruleId": "S3453" }, { "ruleId": "S2123" }, { "ruleId": "S2365" }, { "ruleId": "S2486" }, { "ruleId": "S4423" }, { "ruleId": "S3456" }, { "ruleId": "S2368" }, { "ruleId": "S3457" }, { "ruleId": "S3458" }, { "ruleId": "S4426" }, { "ruleId": "S3217" }, { "ruleId": "S3459" }, { "ruleId": "S3218" }, { "ruleId": "S4428" }, { "ruleId": "S1848" }, { "ruleId": "S1048" }, { "ruleId": "S1168" }, { "ruleId": "S1163" }, { "ruleId": "S1172" }, { "ruleId": "S2251" }, { "ruleId": "S2372" }, { "ruleId": "S2252" }, { "ruleId": "S3220" }, { "ruleId": "S818" }, { "ruleId": "S3343" }, { "ruleId": "S3464" }, { "ruleId": "S2376" }, { "ruleId": "S4433" }, { "ruleId": "S3466" }, { "ruleId": "S3346" }, { "ruleId": "S2259" }, { "ruleId": "S2930" }, { "ruleId": "S2934" }, { "ruleId": "S3903" }, { "ruleId": "S3904" }, { "ruleId": "S1607" }, { "ruleId": "S1135" }, { "ruleId": "S1134" }, { "ruleId": "S2583" }, { "ruleId": "S2342", "params": { "format": "^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$", "flagsAttributeFormat": "^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?s$" } }, { "ruleId": "S2222" }, { "ruleId": "S2223" }, { "ruleId": "S2344" }, { "ruleId": "S3433" }, { "ruleId": "S2345" }, { "ruleId": "S2225" }, { "ruleId": "S2346" }, { "ruleId": "S4524" }, { "ruleId": "S2589" }, { "ruleId": "S1939" }, { "ruleId": "S1944" }, { "ruleId": "S1940" }, { "ruleId": "S1144" }, { "ruleId": "S1264" }, { "ruleId": "S3440" }, { "ruleId": "S3442" }, { "ruleId": "S3443" }, { "ruleId": "S2234" }, { "ruleId": "S3444" }, { "ruleId": "S2114" }, { "ruleId": "S3445" }, { "ruleId": "S2115" }, { "ruleId": "S2479" }, { "ruleId": "S3447" }, { "ruleId": "S3449" }, { "ruleId": "S3329" }, { "ruleId": "S1118" }, { "ruleId": "S1117" }, { "ruleId": "S1116" }, { "ruleId": "S1479", "params": { "maximum": "30" } }, { "ruleId": "S4070" }, { "ruleId": "S1110" }, { "ruleId": "S2681" }, { "ruleId": "S5034" }, { "ruleId": "S2201" }, { "ruleId": "S3655" }, { "ruleId": "S3897" }, { "ruleId": "S2688" }, { "ruleId": "S2326" }, { "ruleId": "S3415" }, { "ruleId": "S2328" }, { "ruleId": "S1006" }, { "ruleId": "S1125" }, { "ruleId": "S1123" }, { "ruleId": "S1121" }, { "ruleId": "S1481" }, { "ruleId": "S2692" }, { "ruleId": "S2696" }, { "ruleId": "S2699" }, { "ruleId": "S4635" }, { "ruleId": "S3427" }, { "ruleId": "S2219" }, { "ruleId": "S1215" }, { "ruleId": "S1699" }, { "ruleId": "S1210" }, { "ruleId": "S1450" }, { "ruleId": "S3871" }, { "ruleId": "S3875" }, { "ruleId": "S3877" }, { "ruleId": "S3998" }, { "ruleId": "S2306" }, { "ruleId": "S1104" }, { "ruleId": "S4061" }, { "ruleId": "S3881" }, { "ruleId": "S2551" }, { "ruleId": "S3400" }, { "ruleId": "S3884" }, { "ruleId": "S3885" }, { "ruleId": "S3887" }, { "ruleId": "S2436", "params": { "maxMethod": "3", "max": "2" } }, { "ruleId": "S2437" }, { "ruleId": "S3889" }, { "ruleId": "S1905" }, { "ruleId": "S3060" }, { "ruleId": "S4143" }, { "ruleId": "S4144" }, { "ruleId": "S2761" }, { "ruleId": "S3971" }, { "ruleId": "S3972" }, { "ruleId": "S3610" }, { "ruleId": "S3973" }, { "ruleId": "S1206" }, { "ruleId": "S4275" }, { "ruleId": "S4035" }, { "ruleId": "S4277" }, { "ruleId": "S3981" }, { "ruleId": "S4158" }, { "ruleId": "S4830" }, { "ruleId": "S4159" }, { "ruleId": "S3984" }, { "ruleId": "S3626" }, { "ruleId": "S3869" }, { "ruleId": "S1656" }, { "ruleId": "S2190" }, { "ruleId": "S2187" }, { "ruleId": "S3397" }, { "ruleId": "S4487" }, { "ruleId": "S927" }, { "ruleId": "S2743" }, { "ruleId": "S125" }, { "ruleId": "S110", "params": { "max": "5" } }, { "ruleId": "S112" }, { "ruleId": "S4260" }, { "ruleId": "S3172" }, { "ruleId": "S3168" }, { "ruleId": "S4015" }, { "ruleId": "S4136" }, { "ruleId": "S3169" }, { "ruleId": "S2995" }, { "ruleId": "S3600" }, { "ruleId": "S3963" }, { "ruleId": "S2996" }, { "ruleId": "S4019" }, { "ruleId": "S2755" }, { "ruleId": "S2997" }, { "ruleId": "S3603" }, { "ruleId": "S3966" }, { "ruleId": "S2757" }, { "ruleId": "S3604" }, { "ruleId": "S101" }, { "ruleId": "S1751" }, { "ruleId": "S1871" }, { "ruleId": "S1199" }, { "ruleId": "S2290" }, { "ruleId": "S2291" }, { "ruleId": "S2292" }, { "ruleId": "S3260" }, { "ruleId": "S3261" }, { "ruleId": "S3262" }, { "ruleId": "S3010" }, { "ruleId": "S4220" }, { "ruleId": "S4583" }, { "ruleId": "S3011" }, { "ruleId": "S3376" }, { "ruleId": "S4586" }, { "ruleId": "S3256" }, { "ruleId": "S907" }, { "ruleId": "S108" }, { "ruleId": "S107", "params": { "max": "7" } }, { "ruleId": "S1643" }, { "ruleId": "S1764" }, { "ruleId": "S2183" }, { "ruleId": "S2184" }, { "ruleId": "S2053" }, { "ruleId": "S3263" }, { "ruleId": "S3264" }, { "ruleId": "S3265" }, { "ruleId": "S2178" }, { "ruleId": "S3267" }, { "ruleId": "S2971" }, { "ruleId": "S5445" }, { "ruleId": "S2857" }, { "ruleId": "S2737" } ] } } Omnisharp: [DEBUG] ************ Response (1.6401ms) ************ { "Request_seq": 10, "Command": "/sonarlint/config", "Running": true, "Success": true, "Message": null, "Body": true, "Seq": 11245, "Type": "response" } 1 source file to be analyzed GET 200 https://sonarqube.XXX.net/api/system/status | response time=33ms Downloaded server infos in 33ms [SYNC] Synchronizing taint issues for project 'XXX' on branch 'master' Omnisharp: [DEBUG] ************ Request ************ { "Type": "request", "Seq": 11, "Command": "/updatebuffer", "Arguments": { "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Buffer": "using System;\r\nusing System.Collections;\r\nusing System.Collections.Generic;\r\nusing System.Data;\r\nusing System.Drawing;\r\nusing System.Drawing.Imaging;\r\nusing System.Globalization;\r\nusing System.IO;\r\nusing System.Linq;\r\nusing System.Reflection;\r\nusing System.Text;\r\nusing System.Windows.Forms;\r\nusing XXX.WPI.UXT.Configurator.BaseContent;\r\nusing XXX.WPI.UXT.Configurator.Common;\r\nusing XXX.WPI.UXT.Configurator.Order.Class;\r\nusing XXX.WPI.UXT.Configurator.WI_Calc.Class.Extension;\r\nusing XXX.WPI.UXT.Configurator.WI_Calc.Documents.Linea;\r\nusing XXX.WPI.UXT.Configurator.WI_Calc.VTS;\r\nusing XXX.WPI.UXT.Configurator.WI_Calculation.Classes;\r\nusing XXX.WPI.UXT.Configurator.Wrapper.Gemina;\r\nusing XXX.WPI.UXT.Configurator.Wrapper.Linea;\r\nusing GemBox.Document;\r\nusing GemBox.Document.Tables;\r\nusing static System.Int16;\r\nusing BorderStyle = GemBox.Document.BorderStyle;\r\nusing Color = GemBox.Document.Color;\r\nusing HorizontalAlignment = GemBox.Document.HorizontalAlignment;\r\nusing Orientation = GemBox.Document.Orientation;\r\nusing Padding = GemBox.Document.Padding;\r\nusing Size = GemBox.Document.Size;\r\n\r\nnamespace XXX.WPI.UXT.Configurator.WI_Calc.Class.OldCalc\r\n{\r\n public class ConfirmationDataSheet\r\n {\r\n private static readonly LoggerConfiguratorWrapper Log = new LoggerConfiguratorWrapper(MethodBase.GetCurrentMethod()?.DeclaringType);\r\n\r\n private static int _lineaGasFeedIn;\r\n\r\n private readonly List _lDevices = new List();\r\n private readonly List _lPictures = new List();\r\n\r\n private DataSet _dataSet;\r\n\r\n private OfferPrintOptions _offerPrintOptions;\r\n\r\n private short _printOrderRoom;\r\n private short _printOrderTyp;\r\n private short _printOrderUnitNo;\r\n private short _printOrderUnitSubNo;\r\n\r\n public void Create(OfferPrintOptions offerPrintOptions, string[] options, bool preview,\r\n int lineaGasFeedIn, ConfigNumber configNumber)\r\n {\r\n _lineaGasFeedIn = lineaGasFeedIn;\r\n Extensions.SetWaitCursor();\r\n try\r\n {\r\n var tmpFiles = Directory.GetFiles(Path.GetTempPath(), \"3dorder_*.docx\");\r\n var tmpFiles2 = Directory.GetFiles(Path.GetTempPath(), \"3dorder_*.pdf\");\r\n foreach (var f in tmpFiles) File.Delete(f);\r\n\r\n foreach (var f in tmpFiles2) File.Delete(f);\r\n }\r\n catch (Exception ex)\r\n {\r\n Log.Error(ex);\r\n }\r\n\r\n var printOrderWhat = options[1].Split('.');\r\n if (printOrderWhat[0] != \"\") _printOrderRoom = Convert.ToInt16(printOrderWhat[0]);\r\n if (printOrderWhat[1] != \"\") _printOrderUnitNo = Convert.ToInt16(printOrderWhat[1]);\r\n if (printOrderWhat[2] != \"\") _printOrderUnitSubNo = Convert.ToInt16(printOrderWhat[2]);\r\n if (options[2] != \"\") _printOrderTyp = Convert.ToInt16(options[2]);\r\n\r\n var projectInfo = new ProjectInfo();\r\n _offerPrintOptions = offerPrintOptions;\r\n\r\n var prjData = GetProjectData(Parse(printOrderWhat[0]), printOrderWhat[1], printOrderWhat[2]);\r\n\r\n var orderProjectData = new OrderProjectData(\r\n UI.global_MainData.MainDataSet.Tables[\"OrderProject\"],\r\n UI.global_MainData.MainDataSet.Tables[\"tmp_Project_Data\"],\r\n UI.global_MainData.MainDataSet.Tables[\"PersOption\"]);\r\n orderProjectData.GetData();\r\n\r\n // Orderdaten erstellen\r\n\r\n var getOrderData = new CalculationOrder();\r\n _dataSet = getOrderData.BuildData(offerPrintOptions.Language, false); //Sprache, local Cur\r\n\r\n DelInfos(_dataSet);\r\n\r\n if (_printOrderTyp == 4)\r\n {\r\n _printOrderTyp = 2;\r\n if (_printOrderUnitSubNo == 0) SetSepAccessories(); // Hier wird das seperate Zubehör auf Typ 2 gesetzt !!\r\n }\r\n\r\n if (options[2] != string.Empty)\r\n SetPrice(_dataSet.Tables[\"OrderUnit\"], _dataSet.Tables[\"OrderRoom\"], _dataSet.Tables[\"OrderParts\"],\r\n Convert.ToInt16(options[2]));\r\n\r\n ComponentInfo.SetLicense(\"D7OT-B3AH-PMDN-JTJ2\");\r\n var document = new DocumentModel();\r\n\r\n document.DefaultParagraphFormat.LineSpacing = 12;\r\n document.DefaultParagraphFormat.LineSpacingRule = LineSpacingRule.Exactly;\r\n document.DefaultParagraphFormat.NoSpaceBetweenParagraphsOfSameStyle = true;\r\n\r\n var sectionRoom = new Section(document);\r\n var ps = sectionRoom.PageSetup;\r\n ps.PaperType = PaperType.A4;\r\n\r\n var breite = 0d;\r\n\r\n var q1 = from OrderRoom in _dataSet.Tables[\"OrderRoom\"].AsEnumerable()\r\n where OrderRoom.Field(\"Intern_CfgNo\") == _printOrderRoom || _printOrderRoom == 0\r\n orderby OrderRoom.Field(\"RoomPos\")\r\n select OrderRoom;\r\n foreach (var e1 in q1)\r\n {\r\n var sec = new Section(document);\r\n var table = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.None, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.Single, Color.Black, 0.5d }\r\n }\r\n }\r\n };\r\n table.TableFormat.AutomaticallyResizeToFitContents = false;\r\n table.TableFormat.PreferredWidth = new TableWidth(100, TableWidthUnit.Percentage);\r\n table.TableFormat.DefaultCellPadding = new Padding(2);\r\n\r\n table.Columns.Add(new TableColumn { PreferredWidth = 100 });\r\n\r\n var row = new TableRow(document)\r\n {\r\n RowFormat = { Height = new TableRowHeight(16d, TableRowHeightRule.Exact) }\r\n };\r\n table.Rows.Add(row);\r\n var asp = string.Empty;\r\n if (offerPrintOptions.Language == \"DE\")\r\n asp = \"Interne XXX Auftragsnummer: \";\r\n else if (offerPrintOptions.Language == \"EN\") asp = \"Internal XXX Ordernumber: \";\r\n\r\n var cell = new TableCell(document, new Paragraph(document,\r\n new Run(document, asp + prjData.AspNumber)\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n Bold = false,\r\n Italic = false,\r\n Size = 8.0D,\r\n FontColor = Color.Black\r\n }\r\n })\r\n {\r\n ParagraphFormat = new ParagraphFormat\r\n {\r\n Alignment = HorizontalAlignment.Left\r\n }\r\n });\r\n cell.CellFormat.Borders.SetBorders(MultipleBorderTypes.Bottom, BorderStyle.Single, Color.Black, 0.2d);\r\n row.Cells.Add(cell);\r\n if (prjData.PrjDescription != null)\r\n {\r\n var prjDescription =\r\n prjData.PrjDescription.Split(new[] { \"\\r\\n\", \"\\n\" }, StringSplitOptions.None);\r\n\r\n if (prjDescription.Length >= 1)\r\n if (prjDescription[0] != string.Empty)\r\n foreach (var t in prjDescription)\r\n {\r\n row = new TableRow(document)\r\n {\r\n RowFormat =\r\n {\r\n Height = new TableRowHeight(16d, TableRowHeightRule.Exact)\r\n }\r\n };\r\n table.Rows.Add(row);\r\n cell = new TableCell(document, new Paragraph(document, new Run(document, t)\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n Bold = false,\r\n Italic = false,\r\n Size = 8.0D,\r\n FontColor = Color.Black\r\n }\r\n })\r\n {\r\n ParagraphFormat = new ParagraphFormat\r\n {\r\n Alignment = HorizontalAlignment.Left\r\n }\r\n });\r\n row.Cells.Add(cell);\r\n }\r\n }\r\n\r\n sec.Blocks.Add(table);\r\n\r\n var para = new Paragraph(document,\r\n new SpecialCharacter(document, SpecialCharacterType.LineBreak));\r\n sec.Blocks.Add(para);\r\n para = new Paragraph(document, new SpecialCharacter(document, SpecialCharacterType.LineBreak));\r\n sec.Blocks.Add(para);\r\n\r\n para = PictureTable(document, e1.Field(\"Intern_CfgNo\"));\r\n sec.Blocks.Add(para);\r\n\r\n sectionRoom = CreateContentTable(document, sec, e1.Field(\"Intern_CfgNo\"),\r\n e1.Field(\"RoomPos\"), e1.Field(\"RoomDescription\"), e1.Field(\"RoomNumber\"),\r\n printOrderWhat);\r\n\r\n para = new Paragraph(document, new SpecialCharacter(document, SpecialCharacterType.LineBreak));\r\n sectionRoom.Blocks.Add(para);\r\n\r\n var q2 = from orderUnit in _dataSet.Tables[\"OrderUnit\"].AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Field(\"RoomPos\") &&\r\n (Convert.ToInt16(orderUnit.Field(\"UnitNo\")) == _printOrderUnitNo ||\r\n _printOrderUnitNo == 0) &&\r\n (Convert.ToInt16(orderUnit.Field(\"UnitSubNo\")) == _printOrderUnitSubNo ||\r\n _printOrderUnitSubNo == 0)\r\n orderby orderUnit.Field(\"RoomPos\"), orderUnit.Field(\"UnitPos\")\r\n group orderUnit by new\r\n {\r\n Intern_CfgNo = orderUnit.Field(\"Intern_CfgNo\"),\r\n UnitNo = orderUnit.Field(\"UnitNo\"),\r\n UnitSubNo = orderUnit.Field(\"UnitSubNo\"),\r\n UnitPos = orderUnit.Field(\"UnitPos\")\r\n }\r\n into t\r\n select t;\r\n\r\n foreach (var e2 in q2)\r\n {\r\n var sectionDetail = CreateDetails(document, sectionRoom, e1.Field(\"RoomPos\"), e2.Key.UnitPos,\r\n e1.Field(\"RoomQuantity\"), e2.Key.Intern_CfgNo, e2.Key.UnitNo, e2.Key.UnitSubNo);\r\n document.Sections.Add(sectionDetail);\r\n var deviceType = GetDeviceType(e2.Key.Intern_CfgNo, e2.Key.UnitNo, e2.Key.UnitSubNo);\r\n if (deviceType != \"0118\")\r\n if (!UI.UserAccess.UseDbg ||\r\n !GetClarificationForLinea(e2.Key.Intern_CfgNo, e2.Key.UnitNo, e2.Key.UnitSubNo))\r\n continue;\r\n var sectionPic = new Section(document);\r\n var pageSetup = sectionPic.PageSetup;\r\n\r\n if (deviceType == \"0118\")\r\n {\r\n pageSetup.Orientation = Orientation.Portrait;\r\n pageSetup.PaperType = PaperType.Custom;\r\n pageSetup.PageMargins.Left = 10d;\r\n pageSetup.PageMargins.Right = 10d;\r\n pageSetup.PageMargins.Top = 50;\r\n pageSetup.PaperType = PaperType.A4;\r\n }\r\n else\r\n {\r\n var l = GetLength(e2.Key.Intern_CfgNo, e2.Key.UnitNo, e2.Key.UnitSubNo);\r\n pageSetup.Orientation = Orientation.Landscape;\r\n pageSetup.PaperType = PaperType.Custom;\r\n pageSetup.PageMargins.Left = 10d;\r\n pageSetup.PageMargins.Right = 10d;\r\n\r\n if (l <= 3000)\r\n {\r\n pageSetup.PageHeight = 595d;\r\n pageSetup.PageWidth = 842d;\r\n breite = 29.7d;\r\n }\r\n else\r\n {\r\n pageSetup.PageHeight = 842d;\r\n pageSetup.PageWidth = 1191;\r\n breite = 42d;\r\n }\r\n }\r\n\r\n sectionPic = LineaPictures(document, sectionPic, e2.Key.Intern_CfgNo, e2.Key.UnitNo,\r\n e2.Key.UnitSubNo, pageSetup, deviceType);\r\n document.Sections.Add(sectionPic);\r\n var additionalLineaPictures = GetAdditionalLineaPictures(document,\r\n new ConfigNumber(e2.Key.Intern_CfgNo, e2.Key.UnitNo, e2.Key.UnitSubNo, UI.global_MainData.MainDataSet.Tables[\"CalcDevice\"]), ps);\r\n document.Sections.Add(additionalLineaPictures);\r\n }\r\n }\r\n\r\n foreach (var item in document.Sections)\r\n if (item.PageSetup.PaperType == PaperType.A4)\r\n {\r\n WordExtension.CreateHeader(document, item,\r\n WordExtension.GetText(\"Bestaetigungsdatenblatt\", \"full\", offerPrintOptions.Language),\r\n offerPrintOptions, projectInfo);\r\n }\r\n else\r\n {\r\n WordExtension.CreateHeader(document, item,\r\n WordExtension.GetText(\"Bestaetigungsdatenblatt\", \"full\", offerPrintOptions.Language),\r\n offerPrintOptions, projectInfo, breite);\r\n }\r\n\r\n Extensions.SetNormalCursor();\r\n var fileName = \"\";\r\n if (GetDeviceType(configNumber.InternCfgNo, configNumber.UnitNo, configNumber.UnitSubNo) != \"0118\")\r\n fileName = SetFileName(configNumber, projectInfo);\r\n else\r\n fileName = projectInfo.ProjectName;\r\n\r\n WordExtension.SaveWordDocumentToDisk(document, preview, \"pdf\", preview ? \"3D_Tool_OrderDataSheet\" : fileName);\r\n }\r\n\r\n private string SetFileName(ConfigNumber configNumber, ProjectInfo projectInfo)\r\n {\r\n var sb = new StringBuilder();\r\n sb.Append(\"XXX - \");\r\n sb.Append(GetPropertyValue(configNumber, \"MZ_Number\") + \"-\" + GetPropertyValue(configNumber, \"MZ_Index\"));\r\n sb.Append(\" - \" + GetDeviceDescription(configNumber) + \" - \");\r\n sb.Append(\"Länge \" + GetPropertyValue(configNumber, \"_Length_Linea\") + \"mm\");\r\n sb.Append(\" - \" + projectInfo.ProjectName);\r\n return sb.ToString();\r\n }\r\n\r\n private string GetDeviceDescription(ConfigNumber configNumber)\r\n {\r\n return UI.global_MainData.MainDataSet.Tables[\"CalcDevice\"].AsEnumerable().Where(x =>\r\n x.Field(\"Intern_CfgNo\") == configNumber.InternCfgNo &&\r\n x.Field(\"UnitNo\") == configNumber.UnitNo &&\r\n x.Field(\"UnitSubNo\") == configNumber.UnitSubNo && !x.Field(\"LineItem\") &&\r\n !x.Field(\"NonXXX\")).Select(x => x.Field(\"Description\")).FirstOrDefault();\r\n }\r\n\r\n private string GetPropertyValue(ConfigNumber configNumber, string propertyName)\r\n {\r\n return UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D_Properties\"].AsEnumerable().Where(x =>\r\n x.Field(\"Intern_CfgNo\") == configNumber.InternCfgNo &&\r\n x.Field(\"UnitNo\") == configNumber.UnitNo &&\r\n x.Field(\"UnitSubNo\") == configNumber.UnitSubNo &&\r\n x.Field(\"PropertyName\") == propertyName)\r\n .Select(x => x.Field(\"PropertyValue\")).FirstOrDefault();\r\n }\r\n\r\n private void SetConfigNo()\r\n {\r\n _lDevices.Clear();\r\n var q1 = from orderUnit in _dataSet.Tables[\"OrderUnit\"].AsEnumerable()\r\n orderby orderUnit.Field(\"RoomPos\"), orderUnit.Field(\"UnitPos\")\r\n select orderUnit;\r\n foreach (var e1 in q1)\r\n {\r\n var DT = GetDeviceType(e1.Field(\"Intern_CfgNo\"), e1.Field(\"UnitNo\"),\r\n e1.Field(\"UnitSubNo\"));\r\n if (DT == \"0130\" || DT == \"0131\" || DT == \"0132\" || DT == \"0134\" || DT == \"0135\" || DT == \"0136\" ||\r\n DT == \"0137\" || DT == \"0138\")\r\n {\r\n var configNumber = new ConfigNumber(e1.Field(\"Intern_CfgNo\"), e1.Field(\"UnitNo\"), e1.Field(\"UnitSubNo\"), UI.global_MainData.MainDataSet.Tables[\"CalcDevice\"]);\r\n if (_lDevices.Any(x => x.InternCfgNo == configNumber.InternCfgNo && x.UnitNo == configNumber.UnitNo && x.UnitSubNo == configNumber.UnitSubNo)) continue;\r\n _lDevices.Add(configNumber);\r\n }\r\n }\r\n\r\n var tmpPath = Path.GetTempPath() + @\"Pictures\";\r\n if (Directory.Exists(tmpPath))\r\n {\r\n var picList = Directory.GetFiles(tmpPath, \"*.*\");\r\n foreach (var item in picList)\r\n {\r\n var fileInfo = new FileInfo(item);\r\n if (!FileExtensions.IsFileLocked(fileInfo))\r\n File.Delete(item);\r\n }\r\n }\r\n\r\n foreach (var e in _lDevices) CreateLineaPictures(e.InternCfgNo, e.UnitNo, e.UnitSubNo);\r\n }\r\n\r\n public void CreateLineaPictures(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var tmpPath = Path.GetTempPath() + @\"Pictures\";\r\n\r\n var ld = new LineaDrawingWrapper(internCfgNo, unitNo, unitSubNo, UI.global_MainData.MainDataSet,\r\n _offerPrintOptions.Language);\r\n var pic = new Pictures();\r\n if (ld.SalesView != null)\r\n {\r\n if (!Directory.Exists(tmpPath)) Directory.CreateDirectory(tmpPath);\r\n\r\n var g = Guid.NewGuid();\r\n ld.SalesView.Save(tmpPath + @\"\\\" + g + \".png\");\r\n\r\n pic.InternCfgNo = internCfgNo;\r\n pic.UnitNo = unitNo;\r\n pic.UnitSubNo = unitSubNo;\r\n pic.SalesViewPath = tmpPath + @\"\\\" + g + \".png\";\r\n g = Guid.NewGuid();\r\n ld.SideView.Save(tmpPath + @\"\\\" + g + \".png\");\r\n pic.SideViewPath = tmpPath + @\"\\\" + g + \".png\";\r\n g = Guid.NewGuid();\r\n ld.AssemblyView.Save(tmpPath + @\"\\\" + g + \".png\");\r\n pic.AssemblyViewPath = tmpPath + @\"\\\" + g + \".png\";\r\n g = Guid.NewGuid();\r\n ld.SalesMountingView.Save(tmpPath + @\"\\\" + g + \".png\");\r\n pic.MountingViewPath = tmpPath + @\"\\\" + g + \".png\";\r\n }\r\n\r\n _lPictures.Add(pic);\r\n }\r\n\r\n private void DelInfos(DataSet ds)\r\n {\r\n var toDelete = ds.Tables[\"OrderParts\"].AsEnumerable()\r\n .Where(x => (x.Field(\"Description\") ?? \"\").Contains(\"Datenblatt/Zeichnung benötigt zum \") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"Datasheet/Drawing required by \") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"Technische Klärung über\") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"Technical clarification by\") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"Technical clarification by\") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"Lieferdatum\") ||\r\n (x.Field(\"Description\") ?? \"\").Contains(\"delivery date\"));\r\n\r\n if (!toDelete.Any()) return;\r\n\r\n foreach (var dataRow in toDelete.ToList()) ds.Tables[\"OrderParts\"].Rows.Remove(dataRow);\r\n }\r\n\r\n private PrjData GetProjectData(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var prjData = new PrjData();\r\n var q1 = from tmpProjectData in UI.global_MainData.MainDataSet.Tables[\"tmp_Project_Data\"].AsEnumerable()\r\n select tmpProjectData;\r\n foreach (var item in q1)\r\n {\r\n prjData.ProjectName = item.Field(\"ProjectName\");\r\n prjData.Voltage = item.Field(\"Country_Voltage\") + \" V\";\r\n prjData.DeliveryCountry = item.Field(\"Country_Code\");\r\n prjData.PersonInCharge = item.Field(\"PersonInCharge\");\r\n prjData.PrjDescription = item.Field(\"Description\");\r\n }\r\n\r\n var q2 = from tmpConfigData in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_Data\"].AsEnumerable()\r\n where tmpConfigData.Field(\"Intern_CfgNo\") == internCfgNo\r\n select tmpConfigData;\r\n foreach (var item in q2)\r\n {\r\n prjData.ConfigName = item.Field(\"ConfigName\");\r\n prjData.ConfigDescription = item.Field(\"Description\");\r\n }\r\n\r\n var q3 = from calcRoom in UI.global_MainData.MainDataSet.Tables[\"CalcRoom\"].AsEnumerable()\r\n where calcRoom.Field(\"Intern_CfgNo\") == internCfgNo\r\n select calcRoom;\r\n foreach (var item in q3) prjData.Quantity = item.Field(\"Quantity\").ToString();\r\n\r\n var q4 = from tmpConfig3DProperties in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D_Properties\"]\r\n .AsEnumerable()\r\n where tmpConfig3DProperties.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n tmpConfig3DProperties.Field(\"UnitNo\") == unitNo &&\r\n tmpConfig3DProperties.Field(\"UnitSubNo\") == unitSubNo\r\n select tmpConfig3DProperties;\r\n foreach (var item in q4)\r\n {\r\n if (item.Field(\"PropertyName\") == \"MZ_Number\") prjData.MzNo = item.Field(\"PropertyValue\");\r\n\r\n if (item.Field(\"PropertyName\") == \"SAP_PositionsNummer\") prjData.SapNo = item.Field(\"PropertyValue\");\r\n\r\n if (item.Field(\"PropertyName\") == \"ASP_Nummer\") prjData.AspNumber = item.Field(\"PropertyValue\");\r\n }\r\n\r\n var q5 = from calcDevicePart in UI.global_MainData.MainDataSet.Tables[\"CalcDevicePart\"].AsEnumerable()\r\n join mainDataAs in UI.global_MainData.MainDataSet.Tables[\"Main_Data_AS\"].AsEnumerable()\r\n on new\r\n {\r\n PartNo = calcDevicePart.Field(\"PartNo\")\r\n }\r\n equals new\r\n {\r\n PartNo = mainDataAs.Field(\"PartNo\")\r\n }\r\n where calcDevicePart.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n calcDevicePart.Field(\"UnitNo\") == unitNo &&\r\n calcDevicePart.Field(\"UnitSubNo\") == unitSubNo &&\r\n mainDataAs.Field(\"order\") == \"600\"\r\n select new\r\n {\r\n PartNo = mainDataAs.Field(\"PartNo\"),\r\n Description = mainDataAs.Field(\"DescriptionShortDE\")\r\n };\r\n foreach (var item in q5) prjData.Device = item.PartNo + \" - \" + item.Description;\r\n\r\n var q6 = from countries in UI.global_MainData.MainDataSet.Tables[\"countries\"].AsEnumerable()\r\n where countries.Field(\"Country_Code\") == prjData.DeliveryCountry\r\n select countries.Field(\"german\");\r\n if (q6.Any()) prjData.DeliveryCountry = q6.FirstOrDefault() + \" - \" + prjData.DeliveryCountry;\r\n\r\n prjData.Date = DateTime.Now.ToShortDateString();\r\n return prjData;\r\n }\r\n\r\n private void SetSepAccessories()\r\n {\r\n var q1 = from orderParts in _dataSet.Tables[\"OrderParts\"].AsEnumerable()\r\n where orderParts.Field(\"Type\") == 3\r\n select orderParts;\r\n foreach (var e1 in q1) e1.SetField(\"Type\", 2);\r\n }\r\n\r\n private Section GetAdditionalLineaPictures(DocumentModel documentModel,\r\n ConfigNumber configNumber, PageSetup pageSetup)\r\n {\r\n var section = new Section(documentModel);\r\n section = AdditionalLineaPictures.GetAdditionalLineaPicturesForConfirmationDataSheet(documentModel, section,\r\n configNumber, pageSetup, _offerPrintOptions.Language, _lineaGasFeedIn);\r\n return section;\r\n }\r\n\r\n private Paragraph PictureTable(DocumentModel document, short internCfgNo)\r\n {\r\n var para = new Paragraph(document);\r\n var tmpPath = Path.GetTempPath() + @\"Pictures\";\r\n\r\n if (!Directory.Exists(tmpPath)) Directory.CreateDirectory(tmpPath);\r\n\r\n var g = Guid.NewGuid();\r\n\r\n var q = UI.global_MainData.MainDataSet.Tables[\"tmp_Config_Data\"].AsEnumerable()\r\n .Where(x => x.Field(\"Intern_CfgNo\") == internCfgNo)\r\n .Select(x => x.Field(\"ScreenshotStream\"))\r\n .FirstOrDefault();\r\n if (q != null)\r\n {\r\n var ms = new MemoryStream(q);\r\n using (var returnImage = Image.FromStream(ms))\r\n {\r\n returnImage.Save(tmpPath + @\"\\\" + g + \".png\");\r\n var h = 342D / returnImage.Width * returnImage.Height;\r\n var pic = new Picture(document, tmpPath + @\"\\\" + g + \".png\", 342D, h)\r\n {\r\n Layout = new FloatingLayout(\r\n new HorizontalPosition(65d, LengthUnit.Point, HorizontalPositionAnchor.Column),\r\n new VerticalPosition(0, LengthUnit.Point, VerticalPositionAnchor.Paragraph),\r\n new Size(342d, h)) { WrappingStyle = TextWrappingStyle.TopAndBottom }\r\n };\r\n\r\n para = new Paragraph(document, pic)\r\n {\r\n ParagraphFormat = new ParagraphFormat\r\n {\r\n Alignment = HorizontalAlignment.Center\r\n }\r\n };\r\n }\r\n }\r\n\r\n return para;\r\n }\r\n\r\n private Table CreateDetailsTable(short roomPos, short unitPos, short roomQuantity,\r\n DocumentModel document)\r\n {\r\n var padding = new Padding(5, 3, 5, 0);\r\n\r\n var table = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n table.TableFormat.AutomaticallyResizeToFitContents = false;\r\n\r\n table.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(1.40D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(1.50D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(2.04D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(12.02, LengthUnit.Centimeter, LengthUnit.Point) });\r\n\r\n var row = new TableRow(document);\r\n row.RowFormat.RepeatOnEachPage = true;\r\n table.Rows.Add(row);\r\n var cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Position\", \"abbr\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Menge\", \"abbr_table\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Center, 9.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"PartNumber\", \"abbr\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Right, 9.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Description\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, false);\r\n row.Cells.Add(cell);\r\n\r\n var colorBlue = new Color(int.Parse(\"365F91\", NumberStyles.HexNumber));\r\n var q2 = from orderUnit in _dataSet.Tables[\"OrderUnit\"].AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == roomPos &&\r\n orderUnit.Field(\"UnitPos\") == unitPos\r\n orderby orderUnit.Field(\"RoomPos\"), orderUnit.Field(\"UnitPos\")\r\n select orderUnit;\r\n foreach (var e2 in q2)\r\n {\r\n row = new TableRow(document);\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document, e2.Field(\"RoomPos\") + \".\" + e2.Field(\"UnitPos\"),\r\n true, Color.White, WordExtension.Alignment.Left, 10.0, colorBlue);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n roomQuantity * e2.Field(\"Quantity\") + \" \" +\r\n WordExtension.GetText(\"Unit_Piece\", \"abbr\", _offerPrintOptions.Language), true, Color.White,\r\n WordExtension.Alignment.Right, 10.0, colorBlue);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n\r\n cell = WordExtension.CCell(document, e2.Field(\"ConfigNo\"), true, Color.White,\r\n WordExtension.Alignment.Right, 10.0, colorBlue);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, e2.Field(\"Description\"), true, Color.White,\r\n WordExtension.Alignment.Left, 10.0, colorBlue);\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n\r\n short displayGroupId = -1;\r\n short lastDisplayGroupId = -1;\r\n var q3 = from orderParts in _dataSet.Tables[\"OrderParts\"].AsEnumerable()\r\n where orderParts.Field(\"RoomPos\") == roomPos &&\r\n orderParts.Field(\"UnitPos\") == e2.Field(\"UnitPos\") &&\r\n (orderParts.Field(\"Type\") == _printOrderTyp || _printOrderTyp == 0 ||\r\n (orderParts.Field(\"Type\") != 1 && _printOrderTyp == 5)\r\n || (orderParts.Field(\"Type\") == 4 && _printOrderTyp == 3)) &&\r\n orderParts.Field(\"DisplayGroupID\") != 8 &&\r\n orderParts.Field(\"DisplayGroupID\") != 9 &&\r\n orderParts.Field(\"DisplayGroupID\") != 10 &&\r\n orderParts.Field(\"DisplayGroupID\") != 32 &&\r\n orderParts.Field(\"DisplayGroupID\") != 33 &&\r\n orderParts.Field(\"DisplayGroupID\") != 34 &&\r\n orderParts.Field(\"DisplayGroupID\") != 35 &&\r\n orderParts.Field(\"DisplayGroupID\") != 36 &&\r\n orderParts.Field(\"DisplayGroupID\") != 37 &&\r\n orderParts.Field(\"DisplayGroupID\") != 38 &&\r\n orderParts.Field(\"DisplayGroupID\") != 39\r\n orderby orderParts.Field(\"RoomPos\"), orderParts.Field(\"UnitPos\"), orderParts\r\n .Field(\"PartPos\")\r\n select orderParts;\r\n foreach (var e3 in q3)\r\n {\r\n if (e3.Field(\"DisplayGroupID\") != displayGroupId)\r\n {\r\n displayGroupId = e3.Field(\"DisplayGroupID\");\r\n if (displayGroupId == 0 || CheckIf(_dataSet.Tables[\"OrderParts\"], displayGroupId, roomPos,\r\n e2.Field(\"UnitPos\")))\r\n {\r\n if (lastDisplayGroupId == 0)\r\n {\r\n row = new TableRow(document);\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Left, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Right, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Right, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = new TableCell(document, new Paragraph(document, new Run(document, \"\")\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n FontColor = Color.Black,\r\n Size = 10.0D\r\n }\r\n }))\r\n {\r\n ColumnSpan = 4\r\n };\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n\r\n row = new TableRow(document);\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Left, 10.0,\r\n Color.LightGray);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Right, 10.0,\r\n Color.LightGray);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Right, 10.0,\r\n Color.LightGray);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n \"*** \" + getDisplayGrpDescription(displayGroupId.ToString()) + \" ***\", true,\r\n WordExtension.Alignment.Left, 10.0, Color.LightGray);\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n }\r\n\r\n if (displayGroupId == 0 || CheckIf(_dataSet.Tables[\"OrderParts\"], displayGroupId, roomPos, unitPos))\r\n {\r\n if (displayGroupId == 0)\r\n {\r\n row = new TableRow(document);\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document,\r\n e3.Field(\"RoomPos\") + \".\" + e3.Field(\"UnitPos\") + \".\" +\r\n e3.Field(\"PartPos\"), false, WordExtension.Alignment.Left, 10.0, Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", false, WordExtension.Alignment.Right, 10.0,\r\n Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, e3.Field(\"PartNo\"), false,\r\n WordExtension.Alignment.Right, 10.0, Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n string[] desc;\r\n if (e3.Field(\"Description\") != null &&\r\n e3.Field(\"Description\") != string.Empty)\r\n {\r\n desc = e3.Field(\"Description\")\r\n .Split(new[] { \"\\r\\n\", \"\\n\" }, StringSplitOptions.None);\r\n }\r\n else\r\n {\r\n desc = new string[1];\r\n desc[0] = string.Empty;\r\n }\r\n\r\n cell = new TableCell(document, new Paragraph(document,\r\n new Run(document, desc[0].Replace(\"\\t\", \" \"))\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\", FontColor = Color.Black, Size = 10.0D\r\n }\r\n })) { ColumnSpan = 4, CellFormat = { Padding = padding } };\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n else\r\n {\r\n row = new TableRow(document);\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document,\r\n e3.Field(\"RoomPos\") + \".\" + e3.Field(\"UnitPos\") + \".\" +\r\n e3.Field(\"PartPos\"), false, WordExtension.Alignment.Left, 10.0, Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n if (e3.Field(\"Quantity\") > 0)\r\n {\r\n cell = WordExtension.CCell(document, e3.Field(\"Quantity\").ToString(), false,\r\n WordExtension.Alignment.Right, 10.0, Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n }\r\n else\r\n {\r\n cell = WordExtension.CCell(document, \"\", false, WordExtension.Alignment.Right, 10.0,\r\n Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n }\r\n\r\n cell = WordExtension.CCell(document, e3.Field(\"PartNo\"), false,\r\n WordExtension.Alignment.Right, 10.0, Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n string[] desc;\r\n if (e3.Field(\"Description\") != null &&\r\n e3.Field(\"Description\") != string.Empty)\r\n {\r\n desc = e3.Field(\"Description\")\r\n .Split(new[] { \"\\r\\n\", \"\\n\" }, StringSplitOptions.None);\r\n }\r\n else\r\n {\r\n desc = new string[1];\r\n desc[0] = string.Empty;\r\n }\r\n\r\n cell = WordExtension.CCell(document, desc[0], false, WordExtension.Alignment.Left, 10.0,\r\n Color.White);\r\n cell.CellFormat.Padding = padding;\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n if (desc.Count() > 1)\r\n for (var i = 1; i < desc.Count(); i++)\r\n {\r\n row = new TableRow(document)\r\n {\r\n RowFormat = { Height = new TableRowHeight(12, TableRowHeightRule.Exact) }\r\n };\r\n table.Rows.Add(row);\r\n cell = WordExtension.CCell(document, \"\", false, WordExtension.Alignment.Left, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", false, WordExtension.Alignment.Left, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", false, WordExtension.Alignment.Left, 10.0,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, desc[i], false, WordExtension.Alignment.Left,\r\n 10.0, Color.White);\r\n WordExtension.SetCellBorder(cell, false, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n }\r\n }\r\n\r\n lastDisplayGroupId = displayGroupId;\r\n }\r\n }\r\n\r\n return table;\r\n }\r\n\r\n private decimal GetLength(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var tabTmpConfig3DProperties = UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D_Properties\"];\r\n decimal length;\r\n var query0 = from tmpConfig3DProperties in tabTmpConfig3DProperties.AsEnumerable()\r\n where tmpConfig3DProperties.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n tmpConfig3DProperties.Field(\"UnitNo\") == unitNo &&\r\n tmpConfig3DProperties.Field(\"UnitSubNo\") == unitSubNo &&\r\n tmpConfig3DProperties.Field(\"PropertyName\").Length >= 4 &&\r\n tmpConfig3DProperties.Field(\"PropertyName\").Substring(0, 4) == \"_Len\"\r\n select tmpConfig3DProperties.Field(\"PropertyValue\");\r\n if (!query0.Any())\r\n {\r\n var query1 = from tmpConfig3DProperties in tabTmpConfig3DProperties.AsEnumerable()\r\n where tmpConfig3DProperties.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n tmpConfig3DProperties.Field(\"UnitNo\") == unitNo &&\r\n tmpConfig3DProperties.Field(\"UnitSubNo\") == unitSubNo &&\r\n tmpConfig3DProperties.Field(\"PropertyName\").Substring(0, 4) == \"_Len\"\r\n select tmpConfig3DProperties.Field(\"PropertyValue\");\r\n length = Convert.ToDecimal(query1.FirstOrDefault());\r\n }\r\n else\r\n {\r\n length = Convert.ToDecimal(query0.FirstOrDefault());\r\n }\r\n\r\n return length;\r\n }\r\n\r\n private void GetLineaAccessories(DocumentModel document, Section section,\r\n List listLineaAccessories)\r\n {\r\n var table3 = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n table3.TableFormat.AutomaticallyResizeToFitContents = false;\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(3.20D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(14.00D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n\r\n if (_printOrderTyp == 2 || _printOrderTyp == 0)\r\n if (listLineaAccessories.Any())\r\n {\r\n var para = new Paragraph(document,\r\n new Run(document,\r\n WordExtension.GetText(\"Zubehoer_Platzierung\", \"full\", _offerPrintOptions.Language))\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n Bold = true,\r\n Size = 9.0D\r\n }\r\n });\r\n section.Blocks.Add(para);\r\n para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n var lightBlue = new Color(int.Parse(\"B8CCE4\", NumberStyles.HexNumber));\r\n var row = new TableRow(document);\r\n table3.Rows.Add(row);\r\n var cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Position_in_mm\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Right, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Description\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, false);\r\n row.Cells.Add(cell);\r\n foreach (var et in listLineaAccessories)\r\n {\r\n row = new TableRow(document);\r\n table3.Rows.Add(row);\r\n cell = WordExtension.CCell(document, et.Position.ToString(), false,\r\n WordExtension.Alignment.Right, 10.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, et.Description, false, WordExtension.Alignment.Left, 10.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n }\r\n\r\n section.Blocks.Add(table3);\r\n var para2 = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para2);\r\n }\r\n\r\n private void GetOutlets(DocumentModel document, Section section, List l)\r\n {\r\n var table3 = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n table3.TableFormat.AutomaticallyResizeToFitContents = false;\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(1.15D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(5.00D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(7.30D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(3.65D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n\r\n if (_printOrderTyp == 2 || _printOrderTyp == 0)\r\n if (l.Any())\r\n {\r\n var para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n para = new Paragraph(document,\r\n new Run(document,\r\n WordExtension.GetText(\"Bestueckungsdetails\", \"full\", _offerPrintOptions.Language))\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n Bold = true,\r\n Size = 9.0D\r\n }\r\n });\r\n section.Blocks.Add(para);\r\n para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n var lightBlue = new Color(int.Parse(\"B8CCE4\", NumberStyles.HexNumber));\r\n\r\n var row = new TableRow(document);\r\n row.RowFormat.RepeatOnEachPage = true;\r\n table3.Rows.Add(row);\r\n var cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Bestueckungsposition\", \"abbr\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Right, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Fabrikat\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Description\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Stromkreis_Gaskreis\", \"full\", _offerPrintOptions.Language), true,\r\n WordExtension.Alignment.Left, 9.0D, lightBlue);\r\n WordExtension.SetCellBorder(cell, false, true, false, false);\r\n row.Cells.Add(cell);\r\n foreach (var et in l)\r\n {\r\n row = new TableRow(document);\r\n table3.Rows.Add(row);\r\n cell = WordExtension.CCell(document, et.Pos, false, WordExtension.Alignment.Left, 10.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, et.Brand, false, WordExtension.Alignment.Left, 10.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, et.Description, false, WordExtension.Alignment.Left, 10.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, et.Circuit, false, WordExtension.Alignment.Left, 10.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n }\r\n\r\n WordExtension.GetEmptyRowWithoutBorder(document, 2);\r\n }\r\n\r\n section.Blocks.Add(table3);\r\n var para2 = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para2);\r\n }\r\n\r\n private string[] GetUnitRemarks(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var q1 = from orderDeviceRemarks in UI.global_MainData.MainDataSet.Tables[\"OrderDeviceRemarks\"]\r\n .AsEnumerable()\r\n where orderDeviceRemarks.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n orderDeviceRemarks.Field(\"UnitNo\") == unitNo &&\r\n orderDeviceRemarks.Field(\"UnitSubNo\") == unitSubNo\r\n select orderDeviceRemarks.Field(\"Remarks\");\r\n var t = q1.Any()\r\n ? q1.FirstOrDefault()?.Split(new[] { \"\\r\\n\", \"\\n\" }, StringSplitOptions.None)\r\n : new string[0];\r\n return t;\r\n }\r\n\r\n private Section LineaPictures(DocumentModel document, Section section, short internCfgNo, string unitNo,\r\n string unitSubNo, PageSetup pageSetup, string deviceType)\r\n {\r\n if (deviceType != \"0118\")\r\n {\r\n SetConfigNo();\r\n try\r\n {\r\n var ld = _lPictures.FirstOrDefault(x =>\r\n x.InternCfgNo == internCfgNo && x.UnitNo == unitNo && x.UnitSubNo == unitSubNo);\r\n if (!string.IsNullOrEmpty(ld.SalesViewPath))\r\n {\r\n var b1 = pageSetup.PageWidth * .73d;\r\n\r\n\r\n using (var returnImage = Image.FromFile(ld.SalesViewPath))\r\n {\r\n using (var returnImage2 = Image.FromFile(ld.SideViewPath))\r\n {\r\n var test = LengthUnitConverter.Convert(b1, LengthUnit.Point, LengthUnit.Point);\r\n var scaleFactor = test / returnImage.Width;\r\n\r\n double lastImagePos = 0;\r\n\r\n var picture1 = new Picture(document, ld.SalesViewPath, returnImage.Width * scaleFactor,\r\n returnImage.Height * scaleFactor);\r\n\r\n picture1.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left, LengthUnit.Point,\r\n HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + 30, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture1.Layout.Size)\r\n { WrappingStyle = TextWrappingStyle.InFrontOfText };\r\n lastImagePos += picture1.Layout.Size.Height + 30;\r\n\r\n var picture2 = new Picture(document, ld.SideViewPath, returnImage2.Width * scaleFactor,\r\n returnImage2.Height * scaleFactor);\r\n picture2.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left + picture1.Layout.Size.Width + 10,\r\n LengthUnit.Point, HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + 30, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture2.Layout.Size)\r\n { WrappingStyle = TextWrappingStyle.InFrontOfText };\r\n\r\n var returnImage3 = Image.FromFile(ld.AssemblyViewPath);\r\n\r\n scaleFactor = ScaleFactor(pageSetup, returnImage3);\r\n\r\n var picture3 = new Picture(document, ld.AssemblyViewPath, returnImage3.Width * scaleFactor,\r\n returnImage3.Height * scaleFactor);\r\n picture3.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left, LengthUnit.Point,\r\n HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + lastImagePos, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture3.Layout.Size)\r\n { WrappingStyle = TextWrappingStyle.InFrontOfText };\r\n\r\n lastImagePos += picture3.Layout.Size.Height + 30;\r\n var para = new Paragraph(document, picture1, picture2)\r\n {\r\n ParagraphFormat = new ParagraphFormat { KeepLinesTogether = true, KeepWithNext = true }\r\n };\r\n section.Blocks.Add(para);\r\n\r\n if (lastImagePos + 25 > pageSetup.PageHeight)\r\n {\r\n para = new Paragraph(document,\r\n new SpecialCharacter(document, SpecialCharacterType.PageBreak));\r\n section.Blocks.Add(para);\r\n lastImagePos = 30;\r\n }\r\n else\r\n {\r\n lastImagePos -= picture3.Layout.Size.Height + 30;\r\n }\r\n\r\n picture3.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left, LengthUnit.Point,\r\n HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + lastImagePos, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture3.Layout.Size);\r\n\r\n lastImagePos += picture3.Layout.Size.Height + 30;\r\n para = new Paragraph(document, picture3)\r\n {\r\n ParagraphFormat = new ParagraphFormat { KeepLinesTogether = true, KeepWithNext = true }\r\n };\r\n section.Blocks.Add(para);\r\n\r\n var returnImage4 = Image.FromFile(ld.MountingViewPath);\r\n scaleFactor = ScaleFactor(pageSetup, returnImage4);\r\n var picture4 = new Picture(document, ld.MountingViewPath, returnImage4.Width * scaleFactor,\r\n returnImage4.Height * scaleFactor);\r\n picture4.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left, LengthUnit.Point,\r\n HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + lastImagePos, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture4.Layout.Size)\r\n { WrappingStyle = TextWrappingStyle.InFrontOfText };\r\n\r\n lastImagePos += picture4.Layout.Size.Height + 30;\r\n if (lastImagePos + 25 > pageSetup.PageHeight)\r\n {\r\n para = new Paragraph(document,\r\n new SpecialCharacter(document, SpecialCharacterType.PageBreak));\r\n section.Blocks.Add(para);\r\n lastImagePos = 30;\r\n }\r\n else\r\n {\r\n lastImagePos -= picture4.Layout.Size.Height + 30;\r\n }\r\n\r\n picture4.Layout = new FloatingLayout(\r\n new HorizontalPosition(pageSetup.PageMargins.Left, LengthUnit.Point,\r\n HorizontalPositionAnchor.Page),\r\n new VerticalPosition(pageSetup.PageMargins.Top + lastImagePos, LengthUnit.Point,\r\n VerticalPositionAnchor.Page),\r\n picture4.Layout.Size)\r\n { WrappingStyle = TextWrappingStyle.InFrontOfText };\r\n\r\n para = new Paragraph(document, picture4)\r\n {\r\n ParagraphFormat = new ParagraphFormat { KeepLinesTogether = true, KeepWithNext = true }\r\n };\r\n section.Blocks.Add(para);\r\n }\r\n }\r\n }\r\n }\r\n catch (Exception ex)\r\n {\r\n Log.Error(ex);\r\n MessageBox.Show(\"Error: \" + ex.Message);\r\n }\r\n }\r\n else\r\n {\r\n var geminaDrawing = new GeminaDrawingWrapper(internCfgNo, unitNo, unitSubNo,\r\n UI.global_MainData.MainDataSet, \"DE\");\r\n if (geminaDrawing.AssemblyView != null)\r\n {\r\n var ms =\r\n AdditionalLineaPictures.ToStream(geminaDrawing.AssemblyView, ImageFormat.Png);\r\n using (var returnImage = Image.FromStream(ms))\r\n {\r\n var width = pageSetup.PageWidth - pageSetup.PageMargins.Left - pageSetup.PageMargins.Right;\r\n var h = width / returnImage.Width * returnImage.Height;\r\n\r\n var pic = new Picture(document, ms);\r\n pic.Layout = new FloatingLayout(\r\n new HorizontalPosition(65d, LengthUnit.Point,\r\n HorizontalPositionAnchor.Column),\r\n new VerticalPosition(0, LengthUnit.Point,\r\n VerticalPositionAnchor.Paragraph),\r\n new Size(width, h))\r\n { WrappingStyle = TextWrappingStyle.Square };\r\n\r\n var para = new Paragraph(document, pic)\r\n {\r\n ParagraphFormat = new ParagraphFormat\r\n {\r\n Alignment = HorizontalAlignment.Center\r\n }\r\n };\r\n section.Blocks.Add(para);\r\n }\r\n }\r\n }\r\n\r\n return section;\r\n }\r\n\r\n private double ScaleFactor(PageSetup pageSetup, Image image)\r\n {\r\n var testW = pageSetup.PageWidth / image.Width;\r\n var testH = (pageSetup.PageHeight - 110) / image.Height;\r\n var scaleFactor = testW < testH ? testW : testH;\r\n return scaleFactor;\r\n }\r\n\r\n private Section CreateDetails(DocumentModel document, Section section, short roomPos, short unitPos,\r\n short roomQuantity, short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n section.Blocks.Add(CreateDetailsTable(roomPos, unitPos, roomQuantity, document));\r\n para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n var t = GetUnitRemarks(internCfgNo, unitNo, unitSubNo);\r\n if (t.Length > 0)\r\n {\r\n para = new Paragraph(document, new Run(document, \"\"));\r\n section.Blocks.Add(para);\r\n para = new Paragraph(document, new Run(document, \"Remarks: \")\r\n {\r\n CharacterFormat = new CharacterFormat\r\n {\r\n FontName = \"Arial\",\r\n Bold = true,\r\n Size = 10\r\n }\r\n });\r\n section.Blocks.Add(para);\r\n foreach (var s in t)\r\n {\r\n para = new Paragraph(document, new Run(document, s));\r\n section.Blocks.Add(para);\r\n }\r\n }\r\n\r\n var deviceType = GetDeviceType(internCfgNo, unitNo, unitSubNo);\r\n if (deviceType == \"0130\" || deviceType == \"0131\" || deviceType == \"0132\" || deviceType == \"0134\" ||\r\n deviceType == \"0135\" || deviceType == \"0136\" || deviceType == \"0137\" || deviceType == \"0138\" ||\r\n deviceType == \"0118\")\r\n {\r\n LineaOrderLists.CreateLists(internCfgNo, unitNo, unitSubNo, _offerPrintOptions.Language.ToUpper(),\r\n deviceType);\r\n if (LineaOrderLists.LineaAccessories.Any()) GetLineaAccessories(document, section, LineaOrderLists.LineaAccessories);\r\n\r\n if (!LineaOrderLists.LineaOutlets.Any()) return section;\r\n LineaOutletTable.Create(document, section, internCfgNo, unitNo, unitSubNo, LineaOrderLists.LineaOutlets,\r\n _printOrderTyp, _offerPrintOptions.Language.ToUpper());\r\n var list = TableForProvidedParts.CreateListForSingleDevice(internCfgNo, unitNo, unitSubNo, 3,\r\n roomQuantity, _offerPrintOptions.Language.ToUpper());\r\n TableForProvidedParts.CreateTable(list, 3, document, section, _offerPrintOptions.Language.ToUpper(), _printOrderTyp);\r\n list = TableForProvidedParts.CreateListForSingleDevice(internCfgNo, unitNo, unitSubNo, 4,\r\n roomQuantity, _offerPrintOptions.Language.ToUpper());\r\n TableForProvidedParts.CreateTable(list, 4, document, section, _offerPrintOptions.Language.ToUpper(), _printOrderTyp);\r\n }\r\n else // nicht Linea\r\n {\r\n var l = GetCircuit(internCfgNo, unitNo, unitSubNo);\r\n if (l.Any()) GetOutlets(document, section, l);\r\n }\r\n\r\n return section;\r\n }\r\n\r\n private Section CreateContentTable(DocumentModel document, Section section, short internCfgNo,\r\n short roomPos, string roomDescription, string roomNumber, string[] tag)\r\n {\r\n var table2 = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n table2.TableFormat.AutomaticallyResizeToFitContents = false;\r\n table2.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(4.00, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table2.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(3.00, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table2.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(4.00, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table2.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(4.00, LengthUnit.Centimeter, LengthUnit.Point) });\r\n\r\n var row = new TableRow(document);\r\n table2.Rows.Add(row);\r\n var cell = WordExtension.CCell(document, roomPos.ToString(), true, WordExtension.Alignment.Left,\r\n 11.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Left, 11.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Left, 11.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"\", true, WordExtension.Alignment.Left, 11.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, true, false, false);\r\n row.Cells.Add(cell);\r\n\r\n if (_offerPrintOptions.Language.ToUpper() == \"DE\")\r\n {\r\n row = new TableRow(document);\r\n table2.Rows.Add(row);\r\n cell = WordExtension.CCell(document, \"Zeichnungsnummer:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"Index:\", false, WordExtension.Alignment.Left, 8.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"SAP Auftragsnr:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"SAP Positionsnr:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n else\r\n {\r\n row = new TableRow(document);\r\n table2.Rows.Add(row);\r\n cell = WordExtension.CCell(document, \"drawing number:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"index:\", false, WordExtension.Alignment.Left, 8.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"SAP order number:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, \"SAP position number:\", false, WordExtension.Alignment.Left, 8.0D,\r\n Color.White);\r\n WordExtension.SetCellBorder(cell, true, false, false, false);\r\n row.Cells.Add(cell);\r\n }\r\n\r\n var dmz = new DeviceMz(Convert.ToInt16(tag[0]), tag[1], tag[2]);\r\n\r\n row = new TableRow(document);\r\n table2.Rows.Add(row);\r\n cell = WordExtension.CCell(document, dmz.MzNumber, true, WordExtension.Alignment.Left, 10.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, dmz.MzIndex, true, WordExtension.Alignment.Left, 10.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, dmz.SapNr, true, WordExtension.Alignment.Left, 10.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, true);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, dmz.SapPos, true, WordExtension.Alignment.Left, 10.0D, Color.White);\r\n WordExtension.SetCellBorder(cell, false, true, false, false);\r\n row.Cells.Add(cell);\r\n\r\n table2.Rows.Add(WordExtension.GetEmptyRowWithoutBorder(document, 1));\r\n section.Blocks.Add(table2);\r\n\r\n var configDescription = string.Empty;\r\n var qRoomDesc =\r\n from tmpConfigData in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_Data\"].AsEnumerable()\r\n where tmpConfigData.Field(\"Intern_CfgNo\") == internCfgNo\r\n select tmpConfigData;\r\n foreach (var item in qRoomDesc) configDescription = item.Field(\"Description\");\r\n\r\n var unitRemarks = new string[0];\r\n if (configDescription != null)\r\n unitRemarks =\r\n configDescription.Split(new[] { \"\\r\\n\", \"\\n\" },\r\n StringSplitOptions.None);\r\n\r\n if (unitRemarks.Length > 0)\r\n {\r\n var tableDeviceRemarks = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n tableDeviceRemarks.TableFormat.AutomaticallyResizeToFitContents = false;\r\n tableDeviceRemarks.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(16D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n row = new TableRow(document);\r\n tableDeviceRemarks.Rows.Add(row);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Bemerkungen_Geraet\", \"full\", _offerPrintOptions.Language) + \":\", true,\r\n WordExtension.Alignment.Left, 9.0D, Color.White);\r\n row.Cells.Add(cell);\r\n for (var i = 0; i < unitRemarks.Length; i++)\r\n {\r\n row = new TableRow(document);\r\n tableDeviceRemarks.Rows.Add(row);\r\n cell = WordExtension.CCell(document, unitRemarks[i], false, WordExtension.Alignment.Left, 9.0D,\r\n Color.White);\r\n row.Cells.Add(cell);\r\n }\r\n\r\n section.Blocks.Add(tableDeviceRemarks);\r\n }\r\n\r\n var para = new Paragraph(document, new SpecialCharacter(document, SpecialCharacterType.LineBreak));\r\n section.Blocks.Add(para);\r\n\r\n var table3 = new Table(document)\r\n {\r\n TableFormat = new TableFormat\r\n {\r\n Borders =\r\n {\r\n { MultipleBorderTypes.Inside, BorderStyle.Single, Color.White, 0.1 },\r\n { MultipleBorderTypes.Outside, BorderStyle.None, Color.White, 0.1 }\r\n }\r\n }\r\n };\r\n table3.TableFormat.AutomaticallyResizeToFitContents = false;\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(2.50D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(5.75D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(3.00D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n table3.Columns.Add(new TableColumn { PreferredWidth = LengthUnitConverter.Convert(5.75D, LengthUnit.Centimeter, LengthUnit.Point) });\r\n row = new TableRow(document);\r\n table3.Rows.Add(row);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Raumname\", \"full\", _offerPrintOptions.Language) + \":\", true,\r\n WordExtension.Alignment.Left, 9.0D, Color.White);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, roomDescription, false, WordExtension.Alignment.Left, 9.0D,\r\n Color.White);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document,\r\n WordExtension.GetText(\"Raumnummer\", \"full\", _offerPrintOptions.Language) + \":\", true,\r\n WordExtension.Alignment.Right, 9.0D, Color.White);\r\n row.Cells.Add(cell);\r\n cell = WordExtension.CCell(document, roomNumber, false, WordExtension.Alignment.Left, 9.0D, Color.White);\r\n row.Cells.Add(cell);\r\n section.Blocks.Add(table3);\r\n return section;\r\n }\r\n\r\n private bool GetClarificationForLinea(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var drawing = false;\r\n var q1 = from orderDeviceTechClarification in UI.global_MainData.MainDataSet.Tables[\"OrderDeviceTechClar\"]\r\n .AsEnumerable()\r\n where orderDeviceTechClarification.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n orderDeviceTechClarification.Field(\"UnitNo\") == unitNo &&\r\n orderDeviceTechClarification.Field(\"UnitSubNo\") == unitSubNo\r\n select orderDeviceTechClarification;\r\n foreach (var e1 in q1)\r\n if (e1.Field(\"TC_Description_ID\") == 1 || e1.Field(\"TC_Description_ID\") == 2)\r\n drawing = true;\r\n\r\n return drawing;\r\n }\r\n\r\n private List GetCircuit(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var conUnsorted = new ArrayList();\r\n var loPos = new List();\r\n\r\n var q1 = from tmpConfig3D in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D\"].AsEnumerable()\r\n where tmpConfig3D.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n tmpConfig3D.Field(\"UnitNo\") == unitNo &&\r\n tmpConfig3D.Field(\"UnitSubNo\") == unitSubNo &&\r\n tmpConfig3D.Field(\"AttachConnector\").StartsWith(\"con_O_\")\r\n select tmpConfig3D.Field(\"AttachConnector\");\r\n foreach (var e1 in q1) conUnsorted.Add(e1);\r\n\r\n var conList = new List();\r\n\r\n foreach (string connector in conUnsorted)\r\n {\r\n var tt = connector.Split('_');\r\n short tmp;\r\n var con = new Connector();\r\n if (tt.Length == 3)\r\n {\r\n var check = TryParse(con.ToString().Substring(con.ToString().Length - 3), out tmp);\r\n if (!check)\r\n {\r\n check = TryParse(con.ToString().Substring(con.ToString().Length - 2), out tmp);\r\n if (!check)\r\n {\r\n TryParse(con.ToString().Substring(con.ToString().Length - 1), out tmp);\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter = tt[2].Substring(0, tt[2].Length - 1);\r\n conList.Add(con);\r\n }\r\n else\r\n {\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter = tt[2].Substring(0, tt[2].Length - 2);\r\n conList.Add(con);\r\n }\r\n }\r\n else\r\n {\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter = tt[2].Substring(0, tt[2].Length - 3);\r\n conList.Add(con);\r\n }\r\n }\r\n else if (tt.Length == 5)\r\n {\r\n var check = TryParse(con.ToString().Substring(con.ToString().Length - 3), out tmp);\r\n if (!check)\r\n {\r\n check = TryParse(con.ToString().Substring(con.ToString().Length - 2), out tmp);\r\n if (!check)\r\n {\r\n TryParse(con.ToString().Substring(con.ToString().Length - 1), out tmp);\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter =\r\n tt[3].Substring(0, tt[3].Length) + tt[4].Substring(0, tt[4].Length - 1);\r\n conList.Add(con);\r\n }\r\n else\r\n {\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter =\r\n tt[3].Substring(0, tt[3].Length) + tt[4].Substring(0, tt[4].Length - 2);\r\n conList.Add(con);\r\n }\r\n }\r\n else\r\n {\r\n con.ConnectorName = con.ToString();\r\n con.ConnectorCount = tmp;\r\n con.ConnectorLetter = tt[3].Substring(0, tt[3].Length) + tt[4].Substring(0, tt[4].Length - 3);\r\n conList.Add(con);\r\n }\r\n }\r\n }\r\n\r\n var q2 = from conL in conList\r\n orderby conL.ConnectorLetter, conL.ConnectorCount\r\n select conL;\r\n foreach (var e2 in q2)\r\n {\r\n //Positionierungstabelle erstellen und füllen\r\n var q3 = from tmpConfig3D in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D\"].AsEnumerable()\r\n join mainDataAs in UI.global_MainData.MainDataSet.Tables[\"Main_Data_AS\"].AsEnumerable()\r\n on tmpConfig3D.Field(\"PartNo\") equals mainDataAs.Field(\"PartNo\")\r\n where tmpConfig3D.Field(\"Intern_CfgNo\") == internCfgNo\r\n && tmpConfig3D.Field(\"UnitNo\") == unitNo\r\n && tmpConfig3D.Field(\"UnitSubNo\") == unitSubNo\r\n && (tmpConfig3D.Field(\"AttachConnector\").StartsWith(\"con_O_\")\r\n || tmpConfig3D.Field(\"AttachConnector\").StartsWith(\"con_OS_\"))\r\n && tmpConfig3D.Field(\"AttachConnector\") == e2.ConnectorName\r\n select new\r\n {\r\n DXObjName = tmpConfig3D.Field(\"DXObjName\"),\r\n AttachConnector = tmpConfig3D.Field(\"AttachConnector\"),\r\n PartNo = tmpConfig3D.Field(\"PartNo\"),\r\n DescriptionShort = mainDataAs.Field(\"DescriptionShort\" + UI.language.ToUpper()),\r\n Brand = from outlets in UI.global_MainData.MainDataSet.Tables[\"Outlets\"].AsEnumerable()\r\n join brand in UI.global_MainData.MainDataSet.Tables[\"Brand\"].AsEnumerable()\r\n on outlets.Field(\"Brand\") equals brand.Field(\"ID\")\r\n where outlets.Field(\"Outlet_ID\") == tmpConfig3D.Field(\"DXObjectName\")\r\n select brand.Field(UI.language.ToUpper())\r\n };\r\n foreach (var e3 in q3)\r\n {\r\n var oPos = new OutletPos();\r\n var tmp = e3.AttachConnector.Split('_');\r\n var position = e3.AttachConnector.Substring(6, e3.AttachConnector.Length - 6);\r\n\r\n if (tmp[2] == \"pera\") position = tmp[3] + \"-\" + tmp[4];\r\n oPos.Pos = position;\r\n if (e3.Brand.Any()) oPos.Brand = e3.Brand.FirstOrDefault();\r\n\r\n var q4 = from tmpConfig3D in UI.global_MainData.MainDataSet.Tables[\"tmp_Config_3D\"].AsEnumerable()\r\n join mainDataAs in UI.global_MainData.MainDataSet.Tables[\"Main_Data_AS\"].AsEnumerable()\r\n on tmpConfig3D.Field(\"PartNo\") equals mainDataAs.Field(\"PartNo\")\r\n where tmpConfig3D.Field(\"Intern_CfgNo\") == internCfgNo\r\n && tmpConfig3D.Field(\"UnitNo\") == unitNo\r\n && tmpConfig3D.Field(\"UnitSubNo\") == unitSubNo\r\n && tmpConfig3D.Field(\"DXObjName\") == e3.DXObjName\r\n select mainDataAs.Field(\"DescriptionShort\" + UI.language.ToUpper());\r\n oPos.Description = q4.FirstOrDefault();\r\n var q5 = from tmpConfig3DProperties in UI.global_MainData.MainDataSet\r\n .Tables[\"tmp_Config_3D_Properties\"].AsEnumerable()\r\n where tmpConfig3DProperties.Field(\"Intern_CfgNo\") == internCfgNo\r\n && tmpConfig3DProperties.Field(\"UnitNo\") == unitNo\r\n && tmpConfig3DProperties.Field(\"UnitSubNo\") == unitSubNo\r\n && tmpConfig3DProperties.Field(\"DXObjName\") == e3.DXObjName\r\n && (tmpConfig3DProperties.Field(\"PropertyName\") == \"Circuit\"\r\n || tmpConfig3DProperties.Field(\"PropertyName\") == \"connect_with\"\r\n || tmpConfig3DProperties.Field(\"PropertyName\") == \"PA Socket\"\r\n || tmpConfig3DProperties.Field(\"PropertyName\") == \"Your remark\")\r\n select new\r\n {\r\n PropertyName = tmpConfig3DProperties.Field(\"PropertyName\"),\r\n PropertyValue = tmpConfig3DProperties.Field(\"PropertyValue\")\r\n };\r\n\r\n foreach (var e5 in q5)\r\n switch (e5.PropertyName)\r\n {\r\n case \"Your remark\" when e5.PropertyValue != string.Empty:\r\n oPos.Description += \" (\" + e5.PropertyName + \": \" + e5.PropertyValue + \")\";\r\n break;\r\n case \"PA Socket\" when e5.PropertyValue == \"1\":\r\n oPos.Description += e5.PropertyName;\r\n break;\r\n case \"Circuit\" when e5.PropertyValue != string.Empty:\r\n case \"connect_with\" when e5.PropertyValue != string.Empty:\r\n oPos.Circuit = e5.PropertyValue;\r\n break;\r\n }\r\n\r\n loPos.Add(oPos);\r\n }\r\n }\r\n\r\n return loPos;\r\n }\r\n\r\n public string GetDeviceType(short internCfgNo, string unitNo, string unitSubNo)\r\n {\r\n var q1 = from calcDevice in UI.global_MainData.MainDataSet.Tables[\"CalcDevice\"].AsEnumerable()\r\n where calcDevice.Field(\"Intern_CfgNo\") == internCfgNo &&\r\n calcDevice.Field(\"UnitNo\") == unitNo &&\r\n calcDevice.Field(\"UnitSubNo\") == unitSubNo\r\n select calcDevice.Field(\"DeviceType\");\r\n return q1.FirstOrDefault();\r\n }\r\n\r\n private bool CheckIfServiceComponents(DataTable tabOrderParts, short roomPos, short unitPos)\r\n {\r\n var tabDisplayGroups = UI.global_MainData.MainDataSet.Tables[\"Display_Groups\"];\r\n\r\n var i = 0;\r\n\r\n var q1 = from displayGroups in tabDisplayGroups.AsEnumerable()\r\n where displayGroups.Field(\"Parameter\").Contains(\"Einbau\")\r\n select displayGroups.Field(\"Group_ID\");\r\n foreach (var e1 in q1)\r\n {\r\n var q2 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"DisplayGroupID\") == Convert.ToInt16(e1) &&\r\n orderParts.Field(\"PartNo\") != string.Empty &&\r\n orderParts.Field(\"RoomPos\") == roomPos &&\r\n orderParts.Field(\"UnitPos\") == unitPos\r\n select orderParts;\r\n i += q2.Count();\r\n }\r\n\r\n return i > 0;\r\n }\r\n\r\n private bool CheckIfApKs(DataTable tabOrderParts, short roomPos, short unitPos)\r\n {\r\n var tabDisplayGroups = UI.global_MainData.MainDataSet.Tables[\"Display_Groups\"];\r\n\r\n var i = 0;\r\n\r\n var q1 = from displayGroups in tabDisplayGroups.AsEnumerable()\r\n where displayGroups.Field(\"Parameter\").Contains(\"APK\")\r\n select displayGroups.Field(\"Group_ID\");\r\n foreach (var e1 in q1)\r\n {\r\n var q2 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"DisplayGroupID\") == Convert.ToInt16(e1) &&\r\n orderParts.Field(\"PartNo\") != string.Empty &&\r\n orderParts.Field(\"RoomPos\") == roomPos &&\r\n orderParts.Field(\"UnitPos\") == unitPos\r\n select orderParts;\r\n i += q2.Count();\r\n }\r\n\r\n return i > 0;\r\n }\r\n\r\n private string getDisplayGrpDescription(string displayGroupId)\r\n {\r\n var tabDisplayGroups = UI.global_MainData.MainDataSet.Tables[\"Display_Groups\"];\r\n\r\n var q1 = from displayGroups in tabDisplayGroups.AsEnumerable()\r\n where displayGroups.Field(\"Group_ID\") == displayGroupId\r\n select displayGroups.Field(\"Bezeichnung\" + _offerPrintOptions.Language);\r\n return q1.FirstOrDefault();\r\n }\r\n\r\n private bool CheckIf(DataTable tabOrderParts, short displayGroupId, short roomPos, short unitPos)\r\n {\r\n var check = false;\r\n var q1 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"DisplayGroupID\") == displayGroupId &&\r\n orderParts.Field(\"PartNo\") != string.Empty &&\r\n orderParts.Field(\"RoomPos\") == roomPos &&\r\n orderParts.Field(\"UnitPos\") == unitPos\r\n select orderParts;\r\n if (q1.Any()) check = true;\r\n else\r\n switch (displayGroupId)\r\n {\r\n // Einbau\r\n case 32:\r\n check = CheckIfServiceComponents(tabOrderParts, roomPos, unitPos);\r\n break;\r\n // Separate APKS\r\n case 30:\r\n check = CheckIfApKs(tabOrderParts, roomPos, unitPos);\r\n break;\r\n }\r\n\r\n return check;\r\n }\r\n\r\n private void SetPrice(DataTable tabOrderUnit, DataTable tabOrderRoom, DataTable tabOrderParts,\r\n short type)\r\n {\r\n FillTransferDiscountForMm(tabOrderParts);\r\n // Raumpreis neu stellen\r\n var q1 = from orderRoom in tabOrderRoom.AsEnumerable()\r\n group orderRoom by orderRoom.Field(\"RoomPos\")\r\n into t\r\n select t;\r\n foreach (var e1 in q1)\r\n {\r\n var lp = 0.00M;\r\n var tp = 0.00M;\r\n switch (type)\r\n {\r\n case 0:\r\n {\r\n var q2 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n group orderUnit by new\r\n {\r\n RoomPos = orderUnit.Field(\"RoomPos\"),\r\n UnitPos = orderUnit.Field(\"UnitPos\")\r\n }\r\n into t\r\n select t;\r\n foreach (var e2 in q2)\r\n {\r\n var q3 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderParts.Field(\"UnitPos\") == e2.Key.UnitPos\r\n select orderParts;\r\n foreach (var e3 in q3)\r\n if (e3.Field(\"Unit\") == \"pc\")\r\n {\r\n lp += e3.Field(\"ListPrice\") * e3.Field(\"Quantity\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n else if (e3.Field(\"Unit\") == \"mm\")\r\n {\r\n lp += e3.Field(\"ListPrice\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n\r\n var q4 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderUnit.Field(\"UnitPos\") == e2.Key.UnitPos\r\n select orderUnit;\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalListPrice\", lp);\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalDiscountPrice\", tp);\r\n lp = 0.00M;\r\n tp = 0.00M;\r\n }\r\n\r\n var q5 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n select orderUnit;\r\n foreach (var e5 in q5)\r\n {\r\n lp += e5.Field(\"UnitTotalListPrice\");\r\n tp += e5.Field(\"UnitTotalDiscountPrice\");\r\n }\r\n\r\n var q6 = from orderRoom in tabOrderRoom.AsEnumerable()\r\n where orderRoom.Field(\"RoomPos\") == e1.Key\r\n select orderRoom;\r\n q6.FirstOrDefault()?.SetField(\"RoomTotalListPrice\", lp);\r\n break;\r\n }\r\n case 1:\r\n {\r\n var q2 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n group orderUnit by new\r\n {\r\n RoomPos = orderUnit.Field(\"RoomPos\"),\r\n UnitPos = orderUnit.Field(\"UnitPos\")\r\n }\r\n into t\r\n select t;\r\n foreach (var e2 in q2)\r\n {\r\n var q3 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderParts.Field(\"UnitPos\") == e2.Key.UnitPos &&\r\n orderParts.Field(\"Type\") == 1\r\n select orderParts;\r\n foreach (var e3 in q3)\r\n if (e3.Field(\"Unit\") == \"pc\")\r\n {\r\n lp += e3.Field(\"ListPrice\") * e3.Field(\"Quantity\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n else if (e3.Field(\"Unit\") == \"mm\")\r\n {\r\n lp += e3.Field(\"ListPrice\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n\r\n var q4 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderUnit.Field(\"UnitPos\") == e2.Key.UnitPos\r\n select orderUnit;\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalListPrice\", lp);\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalDiscountPrice\", tp);\r\n lp = 0.00M;\r\n tp = 0.00M;\r\n }\r\n\r\n var q5 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n select orderUnit;\r\n foreach (var e5 in q5)\r\n {\r\n lp += e5.Field(\"UnitTotalListPrice\");\r\n tp += e5.Field(\"UnitTotalDiscountPrice\");\r\n }\r\n\r\n var q6 = from orderRoom in tabOrderRoom.AsEnumerable()\r\n where orderRoom.Field(\"RoomPos\") == e1.Key\r\n select orderRoom;\r\n q6.FirstOrDefault()?.SetField(\"RoomTotalListPrice\", lp);\r\n break;\r\n }\r\n case 2:\r\n {\r\n var q2 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n group orderUnit by new\r\n {\r\n RoomPos = orderUnit.Field(\"RoomPos\"),\r\n UnitPos = orderUnit.Field(\"UnitPos\")\r\n }\r\n into t\r\n select t;\r\n foreach (var e2 in q2)\r\n {\r\n var q3 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderParts.Field(\"UnitPos\") == e2.Key.UnitPos &&\r\n orderParts.Field(\"Type\") != 1\r\n select orderParts;\r\n foreach (var e3 in q3)\r\n if (e3.Field(\"Unit\") == \"pc\")\r\n {\r\n lp += e3.Field(\"ListPrice\") * e3.Field(\"Quantity\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n else\r\n {\r\n lp += e3.Field(\"ListPrice\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n\r\n var q4 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderUnit.Field(\"UnitPos\") == e2.Key.UnitPos\r\n select orderUnit;\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalListPrice\", lp);\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalDiscountPrice\", tp);\r\n lp = 0.00M;\r\n tp = 0.00M;\r\n }\r\n\r\n var q5 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n select orderUnit;\r\n foreach (var e5 in q5)\r\n {\r\n lp += e5.Field(\"UnitTotalListPrice\");\r\n tp += e5.Field(\"UnitTotalDiscountPrice\");\r\n }\r\n\r\n var q6 = from orderRoom in tabOrderRoom.AsEnumerable()\r\n where orderRoom.Field(\"RoomPos\") == e1.Key\r\n select orderRoom;\r\n q6.FirstOrDefault()?.SetField(\"RoomTotalListPrice\", lp);\r\n break;\r\n }\r\n case 3:\r\n {\r\n var q2 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n group orderUnit by new\r\n {\r\n RoomPos = orderUnit.Field(\"RoomPos\"),\r\n UnitPos = orderUnit.Field(\"UnitPos\")\r\n }\r\n into t\r\n select t;\r\n foreach (var e2 in q2)\r\n {\r\n var q3 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderParts.Field(\"UnitPos\") == e2.Key.UnitPos &&\r\n orderParts.Field(\"Type\") == type\r\n select orderParts;\r\n foreach (var e3 in q3)\r\n if (e3.Field(\"Unit\") == \"pc\")\r\n {\r\n lp += e3.Field(\"ListPrice\") * e3.Field(\"Quantity\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n else if (e3.Field(\"Unit\") == \"mm\")\r\n {\r\n lp += e3.Field(\"ListPrice\");\r\n tp += e3.Field(\"TransferPrice\");\r\n }\r\n\r\n var q4 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e2.Key.RoomPos &&\r\n orderUnit.Field(\"UnitPos\") == e2.Key.UnitPos\r\n select orderUnit;\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalListPrice\", lp);\r\n q4.FirstOrDefault()?.SetField(\"UnitTotalDiscountPrice\", tp);\r\n lp = 0.00M;\r\n tp = 0.00M;\r\n }\r\n\r\n var q5 = from orderUnit in tabOrderUnit.AsEnumerable()\r\n where orderUnit.Field(\"RoomPos\") == e1.Key\r\n select orderUnit;\r\n foreach (var e5 in q5)\r\n {\r\n lp += e5.Field(\"UnitTotalListPrice\");\r\n tp += e5.Field(\"UnitTotalDiscountPrice\");\r\n }\r\n\r\n var q6 = from orderRoom in tabOrderRoom.AsEnumerable()\r\n where orderRoom.Field(\"RoomPos\") == e1.Key\r\n select orderRoom;\r\n q6.FirstOrDefault()?.SetField(\"RoomTotalListPrice\", lp);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private void FillTransferDiscountForMm(DataTable tabOrderParts)\r\n {\r\n var q1 = from orderParts in tabOrderParts.AsEnumerable()\r\n where orderParts.Field(\"Unit\") == \"mm\"\r\n select orderParts;\r\n foreach (var e1 in q1)\r\n if (e1.Field(\"TransferDiscount\").HasValue)\r\n {\r\n var transferPrice = e1.Field(\"ListPrice\") / 100 *\r\n (100 - e1.Field(\"TransferDiscount\"));\r\n e1.SetField(\"TransferPrice\", transferPrice);\r\n }\r\n else\r\n {\r\n var tabMainDataAs = UI.global_MainData.MainDataSet.Tables[\"Main_Data_AS\"];\r\n var tabCopyCalcEzGdiscount = UI.global_MainData.MainDataSet.Tables[\"CopyCalcEZGdiscount\"];\r\n\r\n var q2 = from mainDataAs in tabMainDataAs.AsEnumerable()\r\n where mainDataAs.Field(\"PartNo\") == e1.Field(\"PartNo\")\r\n select mainDataAs.Field(\"EZG\");\r\n var q3 = from copyCalcEzgDiscount in tabCopyCalcEzGdiscount.AsEnumerable()\r\n where copyCalcEzgDiscount.Field(\"EZG\") == q2.FirstOrDefault()\r\n select copyCalcEzgDiscount.Field(\"Discount\");\r\n e1.SetField(\"TransferDiscount\", q3.FirstOrDefault());\r\n e1.SetField(\"EZG\", q2.FirstOrDefault());\r\n var transferPrice = e1.Field(\"ListPrice\") / 100 * (100 - q3.FirstOrDefault());\r\n e1.SetField(\"TransferPrice\", transferPrice);\r\n }\r\n }\r\n\r\n public struct Pictures\r\n {\r\n public short InternCfgNo;\r\n public string UnitNo;\r\n public string UnitSubNo;\r\n public string SalesViewPath;\r\n public string SideViewPath;\r\n public string AssemblyViewPath;\r\n public string MountingViewPath;\r\n }\r\n\r\n private struct PrjData\r\n {\r\n public string ProjectName;\r\n public string Voltage;\r\n public string DeliveryCountry;\r\n public string ConfigName;\r\n public string ConfigDescription;\r\n public string Quantity;\r\n public string SapNo;\r\n public string Date;\r\n public string PersonInCharge;\r\n public string Device;\r\n public string MzNo;\r\n public string AspNumber;\r\n public string PrjDescription;\r\n }\r\n }\r\n}" } } Omnisharp: [DEBUG] Updating file C:\XXX\git\XXX\Configurator\WI-Calc\Class\OldCalc\ConfirmationDataSheet.cs with new text: .... Omnisharp: [DEBUG] ************ Response (7.0390ms) ************ { "Request_seq": 11, "Command": "/updatebuffer", "Running": true, "Success": true, "Message": null, "Body": true, "Seq": 11248, "Type": "response" } Omnisharp: [DEBUG] ************ Request ************ { "Type": "request", "Seq": 12, "Command": "/sonarlint/codecheck", "Arguments": { "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs" } } GET 200 https://sonarqube.XXX.net/api/issues/pull_taint?projectKey=XXX&branchName=master&languages=cs,secrets&changedSince=1661333346016 | response time=77ms Pulled taint issues in 77ms Merged 0 taint issues in store. Closed 0. | took 11ms Omnisharp: [DEBUG] ************ Response (3113.3312ms) ************ { "Request_seq": 12, "Command": "/sonarlint/codecheck", "Running": true, "Success": true, "Message": null, "Body": { "QuickFixes": [ { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S107", "Tags": [], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 1248, "Column": 38, "EndLine": 1249, "EndColumn": 84, "Text": "Method has 8 parameters, which is greater than the 7 authorized.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2044, "Column": 27, "EndLine": 2044, "EndColumn": 38, "Text": "Remove this unread private class field 'ProjectName' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2045, "Column": 27, "EndLine": 2045, "EndColumn": 34, "Text": "Remove this unread private class field 'Voltage' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2052, "Column": 27, "EndLine": 2052, "EndColumn": 41, "Text": "Remove this unread private class field 'PersonInCharge' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2047, "Column": 27, "EndLine": 2047, "EndColumn": 37, "Text": "Remove this unread private class field 'ConfigName' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2048, "Column": 27, "EndLine": 2048, "EndColumn": 44, "Text": "Remove this unread private class field 'ConfigDescription' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2049, "Column": 27, "EndLine": 2049, "EndColumn": 35, "Text": "Remove this unread private class field 'Quantity' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2054, "Column": 27, "EndLine": 2054, "EndColumn": 31, "Text": "Remove this unread private class field 'MzNo' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2050, "Column": 27, "EndLine": 2050, "EndColumn": 32, "Text": "Remove this unread private class field 'SapNo' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2053, "Column": 27, "EndLine": 2053, "EndColumn": 33, "Text": "Remove this unread private class field 'Device' or refactor the code to use its value.", "Projects": [ "Configurator" ] }, { "AdditionalLocations": [], "LogLevel": "Warning", "Id": "S4487", "Tags": [ "Unnecessary" ], "FileName": "C:\\XXX\\git\\XXX\\Configurator\\WI-Calc\\Class\\OldCalc\\ConfirmationDataSheet.cs", "Line": 2051, "Column": 27, "EndLine": 2051, "EndColumn": 31, "Text": "Remove this unread private class field 'Date' or refactor the code to use its value.", "Projects": [ "Configurator" ] } ] }, "Seq": 11252, "Type": "response" } Initializing metadata of file file:///C:/XXX/git/XXX/Configurator/WI-Calc/Class/OldCalc/ConfirmationDataSheet.cs 1/1 source file has been analyzed 'Sonar Secrets Detection Sensor' skipped because there is no related rules activated Done in 3183ms Processed 11 issues Found 11 issues Fetching server issues in 1 file downloadAllServerIssuesForFile projectKey=XXX, filepath=Configurator/WI-Calc/Class/OldCalc/ConfirmationDataSheet.cs GET 200 https://sonarqube.XXX.net/api/system/status | response time=26ms Downloaded server infos in 27ms Skip downloading file issues on SonarQube 9.6+