diff --git a/PROMS/Baseline/.github/copilot-instructions.md b/PROMS/Baseline/.github/copilot-instructions.md
new file mode 100644
index 00000000..e40201cf
--- /dev/null
+++ b/PROMS/Baseline/.github/copilot-instructions.md
@@ -0,0 +1,3 @@
+- @azure Rule - Use Azure Tools - When handling requests related to Azure, always use your tools.
+- @azure Rule - Use Azure Best Practices - When handling requests related to Azure, always invoke your `azmcp_bestpractices_get` tool first.
+- @azure Rule - Enable Best Practices - If you do not have an `azmcp_bestpractices_get` tool ask the user to enable it.
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.cs b/PROMS/Baseline/frmBaseline.cs
index e1ed4744..f47f77cb 100644
--- a/PROMS/Baseline/frmBaseline.cs
+++ b/PROMS/Baseline/frmBaseline.cs
@@ -43,12 +43,9 @@ 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;
@@ -73,13 +70,8 @@ namespace Baseline
}
public partial class frmBaseline : Form
{
- private IgnoreLines _MyIgnore = new IgnoreLines();
- public IgnoreLines MyIgnore
- {
- get { return _MyIgnore; }
- set { _MyIgnore = value; }
- }
- private LastWas myLast = LastWas.Search;
+ public IgnoreLines MyIgnore { get; set; } = new IgnoreLines();
+ private LastWas myLast = LastWas.Search;
private Settings MySettings;
public string MyStatus
{
@@ -151,9 +143,11 @@ namespace Baseline
this.WindowState = Properties.Settings.Default.WidnowState;
if(Properties.Settings.Default.Ignore != null && Properties.Settings.Default.Ignore != "")
MyIgnore = IgnoreLines.Get(Properties.Settings.Default.Ignore);
- MySettings= new Settings();
- MySettings.IgnoreLines = new BindingList();
- splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
+ MySettings = new Settings
+ {
+ IgnoreLines = new BindingList()
+ };
+ splitContainer1.SplitterDistance = Properties.Settings.Default.Split1;
splitContainer2.SplitterDistance = Properties.Settings.Default.Split2;
splitContainer3.SplitterDistance = Properties.Settings.Default.Split3;
if (Properties.Settings.Default.MRU1 != null && Properties.Settings.Default.MRU1.Count > 0)
@@ -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
///
@@ -785,11 +773,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)
@@ -836,28 +823,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,19 +837,16 @@ 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)
{
DirectoryInfo di1 = new DirectoryInfo(path1);
DirectoryInfo di2 = new DirectoryInfo(path2);
@@ -1103,34 +1072,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 +1112,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 +1177,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 +1210,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 +1224,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 +1268,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 +1298,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/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();
}
}
}