diff --git a/PROMS/Baseline/Baseline.csproj b/PROMS/Baseline/Baseline.csproj
index 1834a6ec..4a239e50 100644
--- a/PROMS/Baseline/Baseline.csproj
+++ b/PROMS/Baseline/Baseline.csproj
@@ -67,6 +67,7 @@
frmSettings.cs
+
diff --git a/PROMS/Baseline/GlobalSuppressions.cs b/PROMS/Baseline/GlobalSuppressions.cs
new file mode 100644
index 00000000..046248af
--- /dev/null
+++ b/PROMS/Baseline/GlobalSuppressions.cs
@@ -0,0 +1,8 @@
+// This file is used by Code Analysis to maintain SuppressMessage
+// attributes that are applied to this project.
+// Project-level suppressions either have no target or are given
+// a specific target and scoped to a namespace, type, member, etc.
+
+using System.Diagnostics.CodeAnalysis;
+
+[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "Not modifying Naming Styles")]
diff --git a/PROMS/Baseline/Program.cs b/PROMS/Baseline/Program.cs
index 9cc8eb91..64810cc9 100644
--- a/PROMS/Baseline/Program.cs
+++ b/PROMS/Baseline/Program.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using System.Windows.Forms;
namespace Baseline
diff --git a/PROMS/Baseline/frmBaseline.Designer.cs b/PROMS/Baseline/frmBaseline.Designer.cs
index 88f69955..74adce49 100644
--- a/PROMS/Baseline/frmBaseline.Designer.cs
+++ b/PROMS/Baseline/frmBaseline.Designer.cs
@@ -30,6 +30,7 @@
{
this.components = new System.ComponentModel.Container();
this.panel1 = new System.Windows.Forms.Panel();
+ this.cbUseTruncatedData = new System.Windows.Forms.CheckBox();
this.btnUC = new System.Windows.Forms.Button();
this.cbCaseSensitive = new System.Windows.Forms.CheckBox();
this.cbFile2 = new System.Windows.Forms.ComboBox();
@@ -72,6 +73,7 @@
//
this.panel1.Controls.Add(this.btnUC);
this.panel1.Controls.Add(this.cbCaseSensitive);
+ this.panel1.Controls.Add(this.cbUseTruncatedData);
this.panel1.Controls.Add(this.cbFile2);
this.panel1.Controls.Add(this.cbFile1);
this.panel1.Controls.Add(this.tbSearch);
@@ -87,6 +89,17 @@
this.panel1.Size = new System.Drawing.Size(707, 80);
this.panel1.TabIndex = 0;
//
+ // cbUseTruncatedData // C2026-041
+ //
+ this.cbUseTruncatedData.AutoSize = true;
+ this.cbUseTruncatedData.Location = new System.Drawing.Point(456, 56);
+ this.cbUseTruncatedData.Name = "cbUseTruncatedData";
+ this.cbUseTruncatedData.Size = new System.Drawing.Size(123, 17);
+ this.cbUseTruncatedData.TabIndex = 11;
+ this.cbUseTruncatedData.Text = "Use Truncated Data";
+ this.tt.SetToolTip(this.cbUseTruncatedData, "Set the Search to be Case Sensitive\r\nUppercase and Lowercase will not match");
+ this.cbUseTruncatedData.UseVisualStyleBackColor = true;
+ //
// btnUC
//
this.btnUC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -381,6 +394,7 @@
private System.Windows.Forms.ComboBox cbFile2;
private System.Windows.Forms.ComboBox cbFile1;
private System.Windows.Forms.CheckBox cbCaseSensitive;
+ private System.Windows.Forms.CheckBox cbUseTruncatedData;
private System.Windows.Forms.Button btnUC;
private System.Windows.Forms.ToolTip tt;
}
diff --git a/PROMS/Baseline/frmBaseline.cs b/PROMS/Baseline/frmBaseline.cs
index e1ed4744..fb09557e 100644
--- a/PROMS/Baseline/frmBaseline.cs
+++ b/PROMS/Baseline/frmBaseline.cs
@@ -43,18 +43,15 @@ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using System.Collections.Specialized;
using System.IO;
-using System.Text.RegularExpressions;
-using System.Xml.Serialization;
-using System.Xml.Schema;
-using System.Xml;
+using System.Linq;
using System.Runtime.InteropServices;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using System.Xml;
+using System.Xml.Schema;
+using System.Xml.Serialization;
namespace Baseline
{
@@ -70,15 +67,10 @@ namespace Baseline
StartsWith,
EndsWith,
Regex
- }
+ }
public partial class frmBaseline : Form
{
- private IgnoreLines _MyIgnore = new IgnoreLines();
- public IgnoreLines MyIgnore
- {
- get { return _MyIgnore; }
- set { _MyIgnore = value; }
- }
+ public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
private LastWas myLast = LastWas.Search;
private Settings MySettings;
public string MyStatus
@@ -149,10 +141,12 @@ namespace Baseline
this.Location = Properties.Settings.Default.Location;
this.Size = Properties.Settings.Default.Size;
this.WindowState = Properties.Settings.Default.WidnowState;
- if(Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
+ if (Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
MyIgnore = IgnoreLines.Get(Properties.Settings.Default.Ignore);
- MySettings= new Settings();
- MySettings.IgnoreLines = new BindingList();
+ MySettings = new Settings
+ {
+ IgnoreLines = new BindingList()
+ };
splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
@@ -224,7 +218,7 @@ namespace Baseline
lbResults2.Items.Clear();
MyStatus = "Searching...";
// Perform DebugPagination Comparison
- FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore);
+ FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugPagination.txt",MyIgnore, cbUseTruncatedData.Checked);
lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -240,28 +234,27 @@ namespace Baseline
lbProcedures.Items.Clear();
lbResults1.Items.Clear();
lbResults2.Items.Clear();
- FindFile ff = lbDifferent.SelectedItem as FindFile;
- if (ff != null)
- {
- // Fill Procedure or Result ListBoxes
- switch (myLast)
- {
- case LastWas.Pagination:
- CompareContent(ff.File1, ff.File2);// Compare DebugPagination
- break;
- case LastWas.Baseline:
- CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
- break;
- case LastWas.Search:
- ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
- break;
- default:
- CompareContent(ff.File1, ff.File2);//Default DebugPagination
- break;
- }
- //CompareOneFile(ff.File1, ff.File2);
- }
- }
+ if (lbDifferent.SelectedItem is FindFile ff)
+ {
+ // Fill Procedure or Result ListBoxes
+ switch (myLast)
+ {
+ case LastWas.Pagination:
+ CompareContent(ff.File1, ff.File2);// Compare DebugPagination
+ break;
+ case LastWas.Baseline:
+ CompareContent3(ff.File1, ff.File2);// Compare DebugMeta
+ break;
+ case LastWas.Search:
+ ShowSearchResults(ff.File1, ff.File2);// Perform search on DebugMeta
+ break;
+ default:
+ CompareContent(ff.File1, ff.File2);//Default DebugPagination
+ break;
+ }
+ //CompareOneFile(ff.File1, ff.File2);
+ }
+ }
Procedures MyProcs1;
Procedures MyProcs2;
///
@@ -361,13 +354,6 @@ namespace Baseline
lines1 = list1.AsEnumerable();// Convert back to Enumerable to work with LINQ
return lines1;
}
- private string GetProcNum(string line)
- {
- string retval = line.Substring(3, line.IndexOf(" | ") - 3);
- if (retval.Contains("_"))
- retval = retval.Substring(0, retval.IndexOf("_") - 1);
- return retval;
- }
///
/// Include lines for Procedure or Page or Search is true
/// Account for Case Insensitive CheckBox
@@ -450,8 +436,8 @@ namespace Baseline
private void lbResults1_SelectedIndexChanged(object sender, EventArgs e)
{
string line=null;
- if (lbResults1.SelectedItem is string)
- line = (string)lbResults1.SelectedItem;
+ if (lbResults1.SelectedItem is string v)
+ line = v;
Line myLine = lbResults1.SelectedItem as Line;
switch (myLast)
{
@@ -472,8 +458,8 @@ namespace Baseline
{
string line=null;
- if(lbResults2.SelectedItem is string)
- line = (string)lbResults2.SelectedItem;
+ if(lbResults2.SelectedItem is string v)
+ line = v;
Line myLine = lbResults2.SelectedItem as Line;
switch (myLast)
@@ -515,16 +501,10 @@ namespace Baseline
///
private string ParseOutProcedureNumberFromLine(string txt)
{
- // old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
- // Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
- // 1.SBGEN.SC. ==> short path of attachment section "C"
- // 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
- string rtnstr = null;
- int lidx = -1;
- // if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
- // so look for the last occurence of ".." which will be the end of the section information
- lidx = txt.LastIndexOf("..");
- if (lidx > 0)
+ // if the item is to a high levels step or sub-step the short path as "..S" for each part of the step
+ // so look for the last occurence of ".." which will be the end of the section information
+ int lidx = txt.LastIndexOf("..");
+ if (lidx > 0)
{
lidx = txt.LastIndexOf(".S", lidx); // this will position us to the end of the procedure number
}
@@ -532,9 +512,13 @@ namespace Baseline
{
lidx = txt.LastIndexOf(".S"); // this will position us to the end of the procedure number if there was no step information
}
- // B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
- rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
- return rtnstr;
+ // old logic was looking for the first occurence of ".S" in the txt string as the ending point of the procedure nuumber
+ // Beaver Valley has a procedure number "1.SBGEN" in which the old logic would not work
+ // 1.SBGEN.SC. ==> short path of attachment section "C"
+ // 1.SBGEN.SC..S1. ==> short path of Step 1 in attachment section "C"
+ // B2018-113 - Replace slashes and backslashes with underscores just as PROMS does when creating a PDF file.
+ string rtnstr = txt.Substring(8, lidx - 8).Replace("/", "_").Replace("\\", "_");
+ return rtnstr;
}
string exePath;
@@ -616,10 +600,10 @@ namespace Baseline
progname = @"C:\Program Files (x86)\IDM Computer Solutions\UltraCompare\UC.exe";
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo(progname, string.Format(@" -t ""{0}"" ""{1}""", compareFile, baseFile));
- System.Diagnostics.Process prc = System.Diagnostics.Process.Start(psi);
- }
+ _ = System.Diagnostics.Process.Start(psi);
+ }
- private ProcessLocationQueue myQueue= new ProcessLocationQueue();
+ private readonly ProcessLocationQueue myQueue= new ProcessLocationQueue();
private Timer queueTimer = null;
///
/// Move a Process to a specific screen location - This is done with a timer so
@@ -632,9 +616,11 @@ namespace Baseline
{
if (queueTimer == null)
{
- queueTimer = new Timer();
- queueTimer.Enabled = false;
- queueTimer.Tick += queueTimer_Tick;
+ queueTimer = new Timer
+ {
+ Enabled = false
+ };
+ queueTimer.Tick += queueTimer_Tick;
queueTimer.Interval = 1000;
}
myQueue.Add(proc, x, y);
@@ -669,8 +655,8 @@ namespace Baseline
string procPatern = string.Format("*{0}*.pdf", proc == string.Empty ? "noProcNumber" : proc);
int pagenum = myLine.MyPage.Number;
FindFile ff = lbDifferent.SelectedItem as FindFile;
- string PDFfileName = null;
- if (list == 1)
+ string PDFfileName;
+ if (list == 1)
{
FileInfo fi1 = new FileInfo(ff.File1);
PDFfileName = GetPFDFileAndPath(fi1, procPatern);
@@ -701,11 +687,13 @@ namespace Baseline
return;
}
}
- // open the PDF and jump to the page number
- System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum,PDFfileName));
- psi1.UseShellExecute = false;
- System.Diagnostics.Process p1 = System.Diagnostics.Process.Start(psi1);
- }
+ // open the PDF and jump to the page number
+ System.Diagnostics.ProcessStartInfo psi1 = new System.Diagnostics.ProcessStartInfo(exePath, string.Format("/A \"page={0}\" \"{1}\" ", pagenum, PDFfileName))
+ {
+ UseShellExecute = false
+ };
+ _ = System.Diagnostics.Process.Start(psi1);
+ }
///
/// Perform Debug Meta file comparison for all of the folders within the automated testing folders
///
@@ -720,8 +708,9 @@ namespace Baseline
lbResults1.Items.Clear();
lbResults2.Items.Clear();
MyStatus = "Searching...";
- // Perform code to find DebugMeta files with diffences
- FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt",MyIgnore);
+
+ FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", MyIgnore, cbUseTruncatedData.Checked);
+
lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -744,7 +733,7 @@ namespace Baseline
lbResults2.Items.Clear();
MyStatus = "Searching...";
//Perform Search
- FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked);
+ FindFiles fnd = new FindFiles(cbFile1.Text, cbFile2.Text, "DebugMeta.txt", tbSearch.Text, SearchType.Contains, cbCaseSensitive.Checked, cbUseTruncatedData.Checked);
lbDifferent.DataSource = fnd;
lbDifferent.DisplayMember = "File1";
MyStatus = string.Format("{0} Differences Found", fnd.Count);
@@ -785,11 +774,10 @@ namespace Baseline
}
private void lbProcedures_SelectedIndexChanged(object sender, EventArgs e)
{
- //Initialize Results List Box
- Procedure myProc = lbProcedures.SelectedItem as Procedure;
- if (myProc == null) return; // clicked on the white space (blank line) in the list of different procedures
- //TODO: May need to consider if there are duplicate procedure numers and titles
- Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
+ //Initialize Results List Box
+ if (!(lbProcedures.SelectedItem is Procedure myProc)) return; // clicked on the white space (blank line) in the list of different procedures
+ //TODO: May need to consider if there are duplicate procedure numers and titles
+ Procedure myProc1 = MyProcs1.Find(x => x.Number == myProc.Number && x.Title == myProc.Title);
// Build the results ListBox for the left window
lbResults1.Items.Clear();
if (myProc1 != null)
@@ -827,6 +815,7 @@ namespace Baseline
CompareOneFile(ff.File1, ff.File2);
}
}
+
}
public enum SearchType
{
@@ -836,28 +825,13 @@ namespace Baseline
};
public class Settings
{
- private BindingList _IgnoreLines;
- public BindingList IgnoreLines
- {
- get { return _IgnoreLines; }
- set { _IgnoreLines = value; }
- }
- }
+ public BindingList IgnoreLines { get; set; }
+ }
public partial class FindFile
{
- private string _File1;
- public string File1
- {
- get { return _File1; }
- set { _File1 = value; }
- }
- private string _File2;
- public string File2
- {
- get { return _File2; }
- set { _File2 = value; }
- }
- public FindFile(string file1, string file2)
+ public string File1 { get; set; }
+ public string File2 { get; set; }
+ public FindFile(string file1, string file2)
{
File1 = file1;
File2 = file2;
@@ -865,24 +839,23 @@ namespace Baseline
}
public partial class FindFiles : List
{
- private string _FileName;
- public string FileName
- {
- get { return _FileName; }
- }
- ///
- /// Build list of DocVersion Folders with differences
- ///
- /// Base path
- /// Compare path
- /// filename
- /// Ignore list
- public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore)
+ private readonly string _FileName;
+
+ public string FileName => _FileName;
+
+ ///
+ /// Build list of DocVersion Folders with differences
+ ///
+ /// Base path
+ /// Compare path
+ /// filename
+ /// Ignore list
+ public FindFiles(string path1, string path2, string fileName,IgnoreLines myIgnore, bool TruncatedDataFg)
{
DirectoryInfo di1 = new DirectoryInfo(path1);
DirectoryInfo di2 = new DirectoryInfo(path2);
_FileName = fileName;
- FillByCompare(di1, di2, fileName, myIgnore);
+ FillByCompare(di1, di2, fileName, myIgnore, TruncatedDataFg);
}
///
/// Fill for a search
@@ -893,12 +866,12 @@ namespace Baseline
///
///
///
- public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive)
+ public FindFiles(string path1, string path2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool useTruncatedData)
{
DirectoryInfo di1 = new DirectoryInfo(path1);
DirectoryInfo di2 = new DirectoryInfo(path2);
_FileName = fileName;
- FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive);
+ FillByCompare(di1, di2, fileName,searchText,searchType, caseSensitive, useTruncatedData);
}
///
/// Fill results by search
@@ -909,13 +882,13 @@ namespace Baseline
///
///
///
- private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive)
+ private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, string searchText, SearchType searchType, bool caseSensitive, bool UseTruncatedData)
{
foreach (DirectoryInfo diChild1 in di1.GetDirectories())
{
DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
if (diChild2.Exists)
- FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive);
+ FillByCompare(diChild1, diChild2, fileName,searchText,searchType,caseSensitive, UseTruncatedData);
}
foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
{
@@ -989,27 +962,49 @@ namespace Baseline
}
return false;
}
- private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore)
+ private void FillByCompare(DirectoryInfo di1, DirectoryInfo di2, string fileName, IgnoreLines myIgnore, bool isTruncatedChecked = false)
{
- foreach (DirectoryInfo diChild1 in di1.GetDirectories())
+ foreach (DirectoryInfo diChild1 in di1.GetDirectories())
{
- DirectoryInfo diChild2 = new DirectoryInfo(di2.FullName + "\\" + diChild1.Name);
+ DirectoryInfo diChild2 = new DirectoryInfo(Path.Combine(di2.FullName, diChild1.Name));
if (diChild2.Exists)
- FillByCompare(diChild1, diChild2, fileName,myIgnore);// Recursively work on Sub-Folders
+ FillByCompare(diChild1, diChild2, fileName,myIgnore, isTruncatedChecked);// Recursively work on Sub-Folders
}
foreach (FileInfo fiChild1 in di1.GetFiles(fileName))
{
- FileInfo fiChild2 = new FileInfo(di2.FullName + "\\" + fiChild1.Name);
- if (fiChild2.Exists)
+ FileInfo fiChild2 = new FileInfo(Path.Combine(di2.FullName, fiChild1.Name));
+ FileInfo fiChild1_truncated = new FileInfo(fiChild1.FullName.Replace(".txt", "_Truncated.txt"));
+ FileInfo fiChild2_truncated = new FileInfo(fiChild2.FullName.Replace(".txt", "_Truncated.txt"));
+
+ //truncate checked and both files exist
+ if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2_truncated.Exists)
{
- if (CompareFile(fiChild1, fiChild2,myIgnore))
- Add(new FindFile(fiChild1.FullName, fiChild2.FullName));// Process Each File
+ if (CompareFile(fiChild1_truncated, fiChild2_truncated, myIgnore))
+ Add(new FindFile(fiChild1_truncated.FullName, fiChild2_truncated.FullName));
+ }
+ //truncate checked and only file 1 truncate files exist
+ else if (isTruncatedChecked && fiChild1_truncated.Exists && fiChild2.Exists)
+ {
+ if (CompareFile(fiChild1_truncated, fiChild2, myIgnore))
+ Add(new FindFile(fiChild1_truncated.FullName, fiChild2.FullName));
+ }
+ //truncate checked and only file 2 truncate files exist
+ else if (isTruncatedChecked && fiChild2_truncated.Exists)
+ {
+ if (CompareFile(fiChild1, fiChild2_truncated, myIgnore))
+ Add(new FindFile(fiChild1.FullName, fiChild2_truncated.FullName));
+ }
+ //truncated not checked or truncate files dont exist
+ else if (fiChild2.Exists)
+ {
+ if (CompareFile(fiChild1, fiChild2, myIgnore))
+ Add(new FindFile(fiChild1.FullName, fiChild2.FullName));
}
}
}
private bool CompareFile(FileInfo fiChild1, FileInfo fiChild2,IgnoreLines myIgnore)
{
- if (fiChild1.Name == "DebugMeta.txt")
+ if (fiChild1.Name == "DebugMeta.txt" || fiChild1.Name == "DebugMeta_Truncated.txt")
{
IEnumerable lines1 = ReadFilteredLines(fiChild1.FullName, false, myIgnore);//LINQ Read lines without ignored lines
IEnumerable lines2 = ReadFilteredLines(fiChild2.FullName, false, myIgnore);//LINQ Read lines without ignored lines
@@ -1103,34 +1098,16 @@ namespace Baseline
// Text - the line of text
public partial class Procedure
{
- private string _Number;
- public string Number
+ public string Number { get; set; }
+ public string Title { get; set; }
+ public Pages MyPages { get; set; } = new Pages();
+ public Procedure(string number, string title)
{
- get { return _Number; }
- set { _Number = value; }
+ Number = number;
+ Title = title;
}
- private string _Title;
- public string Title
- {
- get { return _Title; }
- set { _Title = value; }
- }
- private Pages _MyPages = new Pages();
- public Pages MyPages
- {
- get { return _MyPages; }
- set { _MyPages = value; }
- }
- public Procedure(string number, string title)
- {
- _Number = number;
- _Title = title;
- }
- public override string ToString()
- {
- return string.Format("{0} - {1}", Number, Title);
- }
- }
+ public override string ToString() => string.Format("{0} - {1}", Number, Title);
+ }
public partial class Procedures : List
{
// Sample data for a Procedure Number line
@@ -1161,77 +1138,34 @@ namespace Baseline
}
public partial class Page
{
- private int _Number;
- public int Number
- {
- get { return _Number; }
- set { _Number = value; }
- }
- private Lines _MyLines = new Lines();
+ public int Number { get; set; }
- public Lines MyLines
- {
- get { return _MyLines; }
- set { _MyLines = value; }
- }
- public Page(int number)
- {
- _Number = number;
- }
- public override string ToString()
- {
- return string.Format("Page {0}", Number);
- }
- }
+ public Lines MyLines { get; set; } = new Lines();
+ public Page(int number) => Number = number;
+ public override string ToString() => string.Format("Page {0}", Number);
+ }
public partial class Pages : List
{
- public void Add(int number)
- {
- Add(new Page(number));
- }
- }
+ public void Add(int number) => Add(new Page(number));
+ }
public partial class Line
{
- private Procedure _MyProc;
- public Procedure MyProc
+ public Procedure MyProc { get; set; }
+ public Page MyPage { get; set; }
+ public string Text { get; set; }
+ public Line(string text) => Text = text;
+ public Line(string text, Procedure myProc, Page myPage)
{
- get { return _MyProc; }
- set { _MyProc = value; }
+ Text = text;
+ MyProc = myProc;
+ MyPage = myPage;
}
- private Page _MyPage;
- public Page MyPage
- {
- get { return _MyPage; }
- set { _MyPage = value; }
- }
- private string _Text;
- public string Text
- {
- get { return _Text; }
- set { _Text = value; }
- }
- public Line(string text)
- {
- _Text = text;
- }
- public Line(string text, Procedure myProc, Page myPage)
- {
- _Text = text;
- _MyProc = myProc;
- _MyPage = myPage;
- }
- public override string ToString()
- {
- return Text;
- }
- }
+ public override string ToString() => Text;
+ }
public partial class Lines : List
{
- public void Add(string text)
- {
- Add(new Line(text));
- }
- }
+ public void Add(string text) => Add(new Line(text));
+ }
[Serializable]
public partial class IgnoreLine
{
@@ -1269,21 +1203,12 @@ namespace Baseline
public IgnoreLines()
{
}
- public void Add(string text, Relation searchType, bool active)
- {
- Add(new IgnoreLine(text, searchType, active));
- }
- // Convert IgnoreLines to string (XML)
- public override string ToString()
- {
- return GenericSerializer.StringSerialize(this);
- }
- // Convert string to IgnoreLines
- public static IgnoreLines Get(string xml)
- {
- return GenericSerializer.StringDeserialize(xml);
- }
- }
+ public void Add(string text, Relation searchType, bool active) => Add(new IgnoreLine(text, searchType, active));
+ // Convert IgnoreLines to string (XML)
+ public override string ToString() => GenericSerializer.StringSerialize(this);
+ // Convert string to IgnoreLines
+ public static IgnoreLines Get(string xml) => GenericSerializer.StringDeserialize(xml);
+ }
///
/// This is a simple serializer that takes a class and converts it to and from string (XML)
///
@@ -1311,7 +1236,7 @@ namespace Baseline
string ss = s.Replace("encoding=\"utf-16\"", "");
XmlSerializer xs = new XmlSerializer(typeof(T));
UTF8Encoding enc = new UTF8Encoding();
- Byte[] arrBytData = enc.GetBytes(ss);
+ byte[] arrBytData = enc.GetBytes(ss);
using (MemoryStream ms = new MemoryStream(arrBytData))
{
t = (T)xs.Deserialize(ms);
@@ -1325,12 +1250,9 @@ namespace Baseline
public class NonXsiTextWriter : XmlTextWriter
{
public NonXsiTextWriter(TextWriter w) : base(w) { }
- public NonXsiTextWriter(Stream w, Encoding encoding)
- : base(w, encoding)
- {
- this.Formatting = Formatting.Indented;
- }
- public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
+ public NonXsiTextWriter(Stream w, Encoding encoding)
+ : base(w, encoding) => Formatting = Formatting.Indented;
+ public NonXsiTextWriter(string filename, Encoding encoding) : base(filename, encoding) { }
bool _skip = false;
public override void WriteStartAttribute(string prefix, string localName, string ns)
{
@@ -1372,32 +1294,16 @@ namespace Baseline
public const short SWP_NOZORDER = 0X4;
public const int SWP_SHOWWINDOW = 0x0040;
- private System.Diagnostics.Process _Process;
-
- public System.Diagnostics.Process Process
- {
- get { return _Process; }
- set { _Process = value; }
- }
- private int _X;
- public int X
- {
- get { return _X; }
- set { _X = value; }
- }
- private int _Y;
- public int Y
- {
- get { return _Y; }
- set { _Y = value; }
- }
- public ProcessLocation(System.Diagnostics.Process process, int x, int y)
+ public System.Diagnostics.Process Process { get; set; }
+ public int X { get; set; }
+ public int Y { get; set; }
+ public ProcessLocation(System.Diagnostics.Process process, int x, int y)
{
Process = process;
X = x;
Y = y;
}
- private static Boolean FoxitSettingInfo = true;
+ private static bool FoxitSettingInfo = true;
///
/// MoveIt() moves the window containing the PDF viewer to the right so the two pdf viewer windows will not overlap.
@@ -1418,11 +1324,8 @@ namespace Baseline
}
public class ProcessLocationQueue: Queue
{
- public void Add(System.Diagnostics.Process process, int x, int y)
- {
- Enqueue(new ProcessLocation(process,x,y));
- }
- public void ProcessNext()
+ public void Add(System.Diagnostics.Process process, int x, int y) => Enqueue(new ProcessLocation(process, x, y));
+ public void ProcessNext()
{
ProcessLocation pl = Dequeue();
pl.MoveIt();
diff --git a/PROMS/Baseline/frmBaseline.resx b/PROMS/Baseline/frmBaseline.resx
index 2f985086..309156e4 100644
--- a/PROMS/Baseline/frmBaseline.resx
+++ b/PROMS/Baseline/frmBaseline.resx
@@ -120,9 +120,6 @@
306, 17
-
- 306, 17
-
17, 17
diff --git a/PROMS/Baseline/frmSettings.cs b/PROMS/Baseline/frmSettings.cs
index 361fe543..0a0cddfe 100644
--- a/PROMS/Baseline/frmSettings.cs
+++ b/PROMS/Baseline/frmSettings.cs
@@ -1,11 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows.Forms;
namespace Baseline
@@ -19,17 +12,7 @@ namespace Baseline
set {
_MyIgnore = value;
dgv.DataSource=null;
- //dgvcSearchType.ValueType = typeof(Relation);
- //dgvcSearchType.ValueMember = "Value";
- //dgvcSearchType.DisplayMember = "Display";
- //dgvcSearchType.DataSource = new Relation[] { Relation.Contains, Relation.StartsWith, Relation.EndsWith, Relation.Regex }
- //.Select(x => new { Display = x.ToString(), Value = x })
- //.ToList();
dgv.DataSource=value;
- //dgvcSearchType.DataSource =
- //new List((Relation[]) Enum.GetValues(typeof(Relation)))
- //.Select(x => new { Display=x.ToString(), Value=(int)x })
- //.ToList();;
}
}
public frmSettings(IgnoreLines myIgnore)
@@ -46,19 +29,16 @@ namespace Baseline
col.ValueType = typeof(Relation);
}
- private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e)
+ private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e) => Console.WriteLine("Here");
+ private void btnOK_Click(object sender, EventArgs e)
{
- Console.WriteLine("Here");
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- this.DialogResult = System.Windows.Forms.DialogResult.OK;
- this.Close();
+ DialogResult = System.Windows.Forms.DialogResult.OK;
+ Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
- this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
- this.Close();
+ DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ Close();
}
}
}
diff --git a/PROMS/Volian.Base.Library/DebugPrint.cs b/PROMS/Volian.Base.Library/DebugPrint.cs
index bd0e4b44..5d6f3258 100644
--- a/PROMS/Volian.Base.Library/DebugPrint.cs
+++ b/PROMS/Volian.Base.Library/DebugPrint.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
-using System.Text;
using System.IO;
+using System.Text;
namespace Volian.Base.Library
{
@@ -148,16 +148,34 @@ namespace Volian.Base.Library
public static class BaselineMetaFile
{
private static DebugPrint _MyDebugPrint = new DebugPrint();
- public static void Open(string fileName)
- { _MyDebugPrint.Open(fileName); }
+ private static DebugPrint _MyDebugPrint_Truncated = new DebugPrint();
+ public static void Open(string fileName)
+ { _MyDebugPrint.Open(fileName);
+ _MyDebugPrint_Truncated.Open(fileName.Replace(".txt", "_Truncated.txt"));
+ }
public static void Close()
- { _MyDebugPrint.Close(); }
- public static void Write(string format, params object[] args)
- { _MyDebugPrint.Write(format, args); }
+ {
+ _MyDebugPrint.Close();
+ _MyDebugPrint_Truncated.Close();
+ }
public static void WriteLine(string format, params object[] args)
- { _MyDebugPrint.WriteLine(format, args); }
- public static void Show()
- { _MyDebugPrint.Show(); }
+ {
+ _MyDebugPrint_Truncated.WriteLine(format, args);
+ _MyDebugPrint.WriteLine(format, args);
+ }
+ public static void WriteLineTruncate(string format, params object[] args)
+ {
+ _MyDebugPrint_Truncated.WriteLine(format, args);
+
+ }
+ public static void WriteLineLegacy(string format, params object[] args)
+ {
+ _MyDebugPrint.WriteLine(format, args);
+ }
+ public static void Show()
+ { _MyDebugPrint.Show();
+ _MyDebugPrint_Truncated.Show();
+ }
public static bool IsOpen
{ get { return _MyDebugPrint.IsOpen; } }
private static bool _IncludeWordSecText = true;
diff --git a/PROMS/Volian.Print.Library/PromsPrinter.cs b/PROMS/Volian.Print.Library/PromsPrinter.cs
index dcd0572a..791f8b81 100644
--- a/PROMS/Volian.Print.Library/PromsPrinter.cs
+++ b/PROMS/Volian.Print.Library/PromsPrinter.cs
@@ -1418,7 +1418,11 @@ namespace Volian.Print.Library
float yoff = 0;
if (_MyHelper.DidFirstPageDocStyle) yoff = origYoff - (float)mySection.MyDocStyle.Layout.TopMargin;
// C2018-004 create meta file for baseline compares
- Volian.Base.Library.BaselineMetaFile.WriteLine("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, locEndOfWordDoc, pdfSize, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber);
+
+ Volian.Base.Library.BaselineMetaFile.WriteLineLegacy("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, locEndOfWordDoc, pdfSize, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber, "truncate_false");
+
+ Volian.Base.Library.BaselineMetaFile.WriteLineTruncate("WD Height={0} Width={1} scPgCnt={2} locEnd={3} pdfSz={4} xOff={5} yOff={6} ScPgNum {7}", fgPage.Height, fgPage.Width, sectPageCount, Truncate(locEndOfWordDoc, 2), Truncate(pdfSize, 2), (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0.0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0.0) + yoff, pageNumber);
+
AddImportedPageToLayer(cb.PdfWriter.DirectContent, _MSWordLayer, fgPage, (float)(mySection.MyDocStyle.Layout.MSWordXAdj ?? 0), (float)(mySection.MyDocStyle.Layout.MSWordYAdj ?? 0) + yoff);
// B2019-102 Handle PDF Destinations for Word Sections
if (ii == 0 && _MyHelper.MyPromsPrinter.SaveLinks)
@@ -1533,6 +1537,12 @@ namespace Volian.Print.Library
}
ProfileTimer.Pop(profileDepth);
}
+ public static float Truncate(float value, int digits)
+ {
+ double mult = Math.Pow(10.0, digits);
+ double result = Math.Truncate(mult * value) / mult;
+ return (float)result;
+ }
// B2019-152: AddMergedLandscapePage adds entries to the dictionary that keeps track of what pages in a pdf are landscape
// so that if merge is done, the pages that are landscaped can have landscaped page numbers placed on them
public static void AddMergedLandscapePage(VlnSvgPageHelper _MyHelper, string PDFFile)