Compare commits
31
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d238d6aed2 | ||
|
|
d9f8f6cb37 | ||
|
|
e41a4ea65d | ||
|
|
8674b93723 | ||
|
|
da8d25082f | ||
|
|
f2b064f459 | ||
|
|
a69a2270a6 | ||
|
|
c21f366bb9 | ||
|
|
8a55eb57d6 | ||
|
|
222371302f | ||
|
|
dc5d547449 | ||
|
|
dab65dbfb6 | ||
|
|
dcd2fbc294 | ||
|
|
f88f8a1c75 | ||
|
|
d0587706a2 | ||
|
|
a567a32064 | ||
|
|
d2883ea2eb | ||
|
|
90398c15ae | ||
|
|
3124f64e03 | ||
|
|
0c3e4bb3e9 | ||
|
|
23a296df86 | ||
|
|
f2e01803bc | ||
|
|
752d30ba8f | ||
|
|
b1427f4997 | ||
|
|
6d7d127b63 | ||
|
|
6f0fcdded2 | ||
|
|
9c97394f5e | ||
|
|
e492f12602 | ||
|
|
f67d37801a | ||
|
|
06c3136566 | ||
|
|
9486b37300 |
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -35,31 +33,7 @@ namespace AdjustBuildRevision
|
|||||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.4.yyMM.dHH") + "\")");
|
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.4.yyMM.dHH") + "\")");
|
||||||
else
|
else
|
||||||
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.3.yyMM.dHH") + "\")");
|
outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("2.3.yyMM.dHH") + "\")");
|
||||||
// if (outline != line)
|
|
||||||
// {
|
|
||||||
// Console.WriteLine("Before: '{0}'", line);
|
|
||||||
// Console.WriteLine("After: '{0}'", outline);
|
|
||||||
// lines[i] = outline;
|
|
||||||
// changed = true;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// Console.WriteLine("No change: '{0}'", line);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//if (changed)
|
|
||||||
//{
|
|
||||||
// if (!fi.IsReadOnly) fi.IsReadOnly = false;
|
|
||||||
// StreamWriter sw = fi.CreateText();
|
|
||||||
// foreach (string line in lines)
|
|
||||||
// sw.WriteLine(line);
|
|
||||||
// sw.Close();
|
|
||||||
// string line = lines[i];
|
|
||||||
// string outline = line;
|
|
||||||
// if (line.Contains("AssemblyVersion") || line.Contains("AssemblyFileVersion"))
|
|
||||||
// {
|
|
||||||
//outline = Regex.Replace(line, @"([0-9]*)\.([0-9]*)\.([0-9]*)\.([0-9]*)""\)", DateTime.Now.ToString("1.1.yyMM.dHH") + "\")");
|
|
||||||
if (outline != line)
|
if (outline != line)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Before: '{0}'", line);
|
Console.WriteLine("Before: '{0}'", line);
|
||||||
@@ -84,7 +58,7 @@ namespace AdjustBuildRevision
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox.Show("File " + fi.FullName + " does not exist");
|
MessageBox.Show($"File {fi.FullName} does not exist");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@@ -93,10 +67,6 @@ namespace AdjustBuildRevision
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//private static DateTime GetLatestDateTime(string path)
|
|
||||||
//{
|
|
||||||
// return GetLatestDateTime(new DirectoryInfo(path));
|
|
||||||
//}
|
|
||||||
private static DateTime GetLatestDateTime(DirectoryInfo di, DateTime dtCheck)
|
private static DateTime GetLatestDateTime(DirectoryInfo di, DateTime dtCheck)
|
||||||
{
|
{
|
||||||
DateTime dtMax = dtCheck;
|
DateTime dtMax = dtCheck;
|
||||||
@@ -104,24 +74,14 @@ namespace AdjustBuildRevision
|
|||||||
foreach(FileInfo myFile in myFiles)
|
foreach(FileInfo myFile in myFiles)
|
||||||
{
|
{
|
||||||
DateTime dt = myFile.LastWriteTime;
|
DateTime dt = myFile.LastWriteTime;
|
||||||
//if (dt > dtCheck)
|
if(dtMax < dt) dtMax = dt;
|
||||||
//{
|
|
||||||
//Console.WriteLine("\"File\"\t\"{0}\"\t\"{1}\"\t{2}\t{3}",myFile.FullName,dt.ToString("1.1.yyMM.dHH"),dt,dtCheck);
|
|
||||||
if(dtMax < dt) dtMax = dt;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
DirectoryInfo[] myFolders = di.GetDirectories();
|
DirectoryInfo[] myFolders = di.GetDirectories();
|
||||||
foreach (DirectoryInfo diChild in myFolders)
|
foreach (DirectoryInfo diChild in myFolders)
|
||||||
{
|
{
|
||||||
DateTime dtChild = GetLatestDateTime(diChild,dtCheck);
|
DateTime dtChild = GetLatestDateTime(diChild,dtCheck);
|
||||||
//if (dtChild > dtCheck)
|
if(dtChild > dtMax) dtMax = dtChild;
|
||||||
//{
|
|
||||||
//Console.WriteLine("\"SubFolder\"\t\"{0}\"\t\"{1}\"\t{2}\t{3}", diChild.FullName, dtChild.ToString("1.1.yyMM.dHH"),dtChild,dtCheck);
|
|
||||||
if(dtChild > dtMax) dtMax = dtChild;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
//if(dtMax > dtCheck)
|
|
||||||
// Console.WriteLine("\"Folder\"\t\"{0}\"\t\"{1}\"", di.FullName, dtMax.ToString("1.1.yyMM.dHH"));
|
|
||||||
return dtMax;
|
return dtMax;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@@ -15,7 +14,7 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
#region Private Variable Declarations
|
#region Private Variable Declarations
|
||||||
private IDropDownAware _dropDownControl = null;
|
private IDropDownAware _dropDownControl = null;
|
||||||
private DropDownWindowHelper _dropDownHelper = null;
|
private readonly DropDownWindowHelper _dropDownHelper = null;
|
||||||
private Form _owner = null;
|
private Form _owner = null;
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructor / Destructor
|
#region Constructor / Destructor
|
||||||
@@ -47,7 +46,7 @@ namespace AT.STO.UI.Win
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
protected override void OnHandleCreated(EventArgs e)
|
protected override void OnHandleCreated(EventArgs e)
|
||||||
{
|
{
|
||||||
_owner = this.FindForm();
|
_owner = FindForm();
|
||||||
_dropDownHelper.ReleaseHandle();
|
_dropDownHelper.ReleaseHandle();
|
||||||
|
|
||||||
if (_owner != null)
|
if (_owner != null)
|
||||||
@@ -66,8 +65,8 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
base.OnResize(e);
|
base.OnResize(e);
|
||||||
combo.Location = new Point(0, 0);
|
combo.Location = new Point(0, 0);
|
||||||
combo.Width = this.ClientRectangle.Width;
|
combo.Width = ClientRectangle.Width;
|
||||||
this.Height = combo.Height;
|
Height = combo.Height;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Event Handler
|
#region Event Handler
|
||||||
@@ -96,7 +95,7 @@ namespace AT.STO.UI.Win
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
_dropDownHelper.CloseDropDown();
|
_dropDownHelper.CloseDropDown();
|
||||||
this.Focus();
|
Focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +114,7 @@ namespace AT.STO.UI.Win
|
|||||||
|
|
||||||
private void DropDownHelper_DropDownCancel(object sender, DropDownCancelEventArgs e)
|
private void DropDownHelper_DropDownCancel(object sender, DropDownCancelEventArgs e)
|
||||||
{
|
{
|
||||||
if (this.Bounds.Contains(Parent.PointToClient(e.CursorLocation)))
|
if (Bounds.Contains(Parent.PointToClient(e.CursorLocation)))
|
||||||
{
|
{
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
}
|
}
|
||||||
@@ -137,31 +136,22 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
SetValue<long>(e.Value as ILookupItem<long>);
|
SetValue<long>(e.Value as ILookupItem<long>);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.FinishEditing != null)
|
FinishEditing?.Invoke(this, e);
|
||||||
{
|
|
||||||
this.FinishEditing(this, e);
|
_dropDownControl.FinishEditing -= new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
||||||
}
|
|
||||||
|
|
||||||
_dropDownControl.FinishEditing -= new DropDownValueChangedEventHandler(DropDown_FinishEditing);
|
|
||||||
_dropDownControl.ValueChanged -= new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
_dropDownControl.ValueChanged -= new DropDownValueChangedEventHandler(DropDown_ValueChanged);
|
||||||
_dropDownHelper.CloseDropDown();
|
_dropDownHelper.CloseDropDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DropDown_ValueChanged(object sender, DropDownValueChangedEventArgs e)
|
private void DropDown_ValueChanged(object sender, DropDownValueChangedEventArgs e) => ValueChanged?.Invoke(this, e);
|
||||||
{
|
#endregion
|
||||||
if (this.ValueChanged != null)
|
#region Public Properties
|
||||||
{
|
/// <summary>
|
||||||
this.ValueChanged(this, e);
|
/// Get or set the control (has to implement IDropDownAware) that is to
|
||||||
}
|
/// be displayed as the dropdown portion of the combobox.
|
||||||
}
|
/// </summary>
|
||||||
#endregion
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
||||||
#region Public Properties
|
|
||||||
/// <summary>
|
|
||||||
/// Get or set the control (has to implement IDropDownAware) that is to
|
|
||||||
/// be displayed as the dropdown portion of the combobox.
|
|
||||||
/// </summary>
|
|
||||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
|
||||||
public IDropDownAware DropDownControl
|
public IDropDownAware DropDownControl
|
||||||
{
|
{
|
||||||
get { return _dropDownControl; }
|
get { return _dropDownControl; }
|
||||||
@@ -169,24 +159,21 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
_dropDownControl = value;
|
_dropDownControl = value;
|
||||||
|
|
||||||
this.Controls.Add(_dropDownControl as Control);
|
Controls.Add(_dropDownControl as Control);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
public override string ToString()
|
public override string ToString() => Name;
|
||||||
{
|
#endregion
|
||||||
return this.Name;
|
#region Private Methods
|
||||||
}
|
/// <summary>
|
||||||
#endregion
|
/// Calculate an acceptable position of the DropDownForm even in a
|
||||||
#region Private Methods
|
/// multi screen environment.
|
||||||
/// <summary>
|
/// </summary>
|
||||||
/// Calculate an acceptable position of the DropDownForm even in a
|
/// <param name="DropDown"></param>
|
||||||
/// multi screen environment.
|
/// <returns></returns>
|
||||||
/// </summary>
|
private Point GetDropDownPosition(DropDownForm DropDown)
|
||||||
/// <param name="DropDown"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private Point GetDropDownPosition(DropDownForm DropDown)
|
|
||||||
{
|
{
|
||||||
Point lt = Parent.PointToScreen(new Point(Left, Top));
|
Point lt = Parent.PointToScreen(new Point(Left, Top));
|
||||||
Point rb = Parent.PointToScreen(new Point(Right, Bottom));
|
Point rb = Parent.PointToScreen(new Point(Right, Bottom));
|
||||||
|
|||||||
@@ -35,10 +35,9 @@ namespace AT.STO.UI.Win
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class DropDownCancelEventArgs : EventArgs
|
public class DropDownCancelEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
#region Private Variable Declarations
|
#region Private Variable Declarations
|
||||||
private bool _cancel = false;
|
private Point _cursorLocation;
|
||||||
private Point _cursorLocation;
|
private readonly Form _dropDown = null;
|
||||||
private Form _dropDown = null;
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructor / Destructor
|
#region Constructor / Destructor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -51,36 +50,26 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
_dropDown = DropDown;
|
_dropDown = DropDown;
|
||||||
_cursorLocation = CursorLocation;
|
_cursorLocation = CursorLocation;
|
||||||
_cancel = false;
|
Cancel = false;
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Public Properties
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
public bool Cancel
|
|
||||||
{
|
|
||||||
get { return _cancel; }
|
|
||||||
set { _cancel = value; }
|
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
#region Public Properties
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public bool Cancel { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Point CursorLocation
|
public Point CursorLocation => _cursorLocation;
|
||||||
{
|
|
||||||
get { return _cursorLocation; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Form DropDown
|
public Form DropDown => _dropDown;
|
||||||
{
|
#endregion
|
||||||
get { return _dropDown; }
|
}
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains event information for a <see cref="DropDownClosed"/> event.
|
/// Contains event information for a <see cref="DropDownClosed"/> event.
|
||||||
@@ -91,64 +80,50 @@ namespace AT.STO.UI.Win
|
|||||||
public class DropDownClosedEventArgs : EventArgs
|
public class DropDownClosedEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
#region Private Variable Declarations
|
#region Private Variable Declarations
|
||||||
private Form _dropDown = null;
|
private readonly Form _dropDown = null;
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructor / Destructor
|
#region Constructor / Destructor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructs a new instance of this class for the specified
|
/// Constructs a new instance of this class for the specified
|
||||||
/// popup form.
|
/// popup form.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="DropDown">DropDown Form which is being closed.</param>
|
/// <param name="DropDown">DropDown Form which is being closed.</param>
|
||||||
public DropDownClosedEventArgs(Form DropDown)
|
public DropDownClosedEventArgs(Form DropDown) => _dropDown = DropDown;
|
||||||
{
|
#endregion
|
||||||
_dropDown = DropDown;
|
#region Public Properties
|
||||||
}
|
/// <summary>
|
||||||
#endregion
|
/// Gets the dropdown form which is being closed.
|
||||||
#region Public Properties
|
/// </summary>
|
||||||
/// <summary>
|
public Form DropDown => _dropDown;
|
||||||
/// Gets the dropdown form which is being closed.
|
#endregion
|
||||||
/// </summary>
|
}
|
||||||
public Form DropDown
|
|
||||||
{
|
|
||||||
get { return _dropDown; }
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contains event information for DropDownValueChangedEventHandler.
|
/// Contains event information for DropDownValueChangedEventHandler.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class DropDownValueChangedEventArgs : EventArgs
|
public class DropDownValueChangedEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
#region Private Variable Declarations
|
#region Private Variable Declarations
|
||||||
private object _value = null;
|
#endregion
|
||||||
#endregion
|
#region Constructor / Destructor
|
||||||
#region Constructor / Destructor
|
/// <summary>
|
||||||
/// <summary>
|
/// Default Constructor
|
||||||
/// Default Constructor
|
/// </summary>
|
||||||
/// </summary>
|
public DropDownValueChangedEventArgs()
|
||||||
public DropDownValueChangedEventArgs()
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initialization with the control's value.
|
/// Initialization with the control's value.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Value"></param>
|
/// <param name="Value"></param>
|
||||||
public DropDownValueChangedEventArgs(object Value)
|
public DropDownValueChangedEventArgs(object Value) => this.Value = Value;
|
||||||
{
|
#endregion
|
||||||
_value = Value;
|
#region Public Properties
|
||||||
}
|
/// <summary>
|
||||||
#endregion
|
/// Gets or sets the control's value.
|
||||||
#region Public Properties
|
/// </summary>
|
||||||
/// <summary>
|
public object Value { get; set; } = null;
|
||||||
/// Gets or sets the control's value.
|
#endregion
|
||||||
/// </summary>
|
}
|
||||||
public object Value
|
|
||||||
{
|
|
||||||
get { return _value; }
|
|
||||||
set { _value = value; }
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,22 +13,19 @@ namespace AT.STO.UI.Win
|
|||||||
internal partial class DropDownForm : Form, IDropDownAware
|
internal partial class DropDownForm : Form, IDropDownAware
|
||||||
{
|
{
|
||||||
#region Private Variable Declaration
|
#region Private Variable Declaration
|
||||||
private IDropDownAware _control = null;
|
private readonly IDropDownAware _control = null;
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructor / Destructor
|
#region Constructor / Destructor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Default Constructor
|
/// Default Constructor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DropDownForm()
|
public DropDownForm() => InitializeComponent();
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor to initialize the for with the control to display.
|
/// Constructor to initialize the for with the control to display.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Ctrl">The control to display.</param>
|
/// <param name="Ctrl">The control to display.</param>
|
||||||
public DropDownForm(IDropDownAware Ctrl) : this()
|
public DropDownForm(IDropDownAware Ctrl) : this()
|
||||||
{
|
{
|
||||||
if (Ctrl != null)
|
if (Ctrl != null)
|
||||||
{
|
{
|
||||||
@@ -41,7 +38,7 @@ namespace AT.STO.UI.Win
|
|||||||
#region Form Events
|
#region Form Events
|
||||||
protected override void OnClosing(CancelEventArgs e)
|
protected override void OnClosing(CancelEventArgs e)
|
||||||
{
|
{
|
||||||
this.Controls.Remove(_control as Control);
|
Controls.Remove(_control as Control);
|
||||||
base.OnClosing(e);
|
base.OnClosing(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,29 +55,20 @@ namespace AT.STO.UI.Win
|
|||||||
#region Event Handler
|
#region Event Handler
|
||||||
private void Ctrl_FinishEditing(object sender, DropDownValueChangedEventArgs e)
|
private void Ctrl_FinishEditing(object sender, DropDownValueChangedEventArgs e)
|
||||||
{
|
{
|
||||||
if (this.FinishEditing != null)
|
FinishEditing?.Invoke(this, e);
|
||||||
{
|
|
||||||
this.FinishEditing(this, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
_control.FinishEditing -= new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
_control.FinishEditing -= new DropDownValueChangedEventHandler(Ctrl_FinishEditing);
|
||||||
_control.ValueChanged -= new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
_control.ValueChanged -= new DropDownValueChangedEventHandler(Ctrl_ValueChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Ctrl_ValueChanged(object sender, DropDownValueChangedEventArgs e)
|
private void Ctrl_ValueChanged(object sender, DropDownValueChangedEventArgs e) => ValueChanged?.Invoke(this, e);
|
||||||
{
|
#endregion
|
||||||
if (this.ValueChanged != null)
|
#region IDropDownAware Implementation
|
||||||
{
|
/// <summary>
|
||||||
this.ValueChanged(this, e);
|
/// Fired either on OK, Cancel or a click outside the control to indicate
|
||||||
}
|
/// that the user has finished editing.
|
||||||
}
|
/// </summary>
|
||||||
#endregion
|
public event DropDownValueChangedEventHandler FinishEditing;
|
||||||
#region IDropDownAware Implementation
|
|
||||||
/// <summary>
|
|
||||||
/// Fired either on OK, Cancel or a click outside the control to indicate
|
|
||||||
/// that the user has finished editing.
|
|
||||||
/// </summary>
|
|
||||||
public event DropDownValueChangedEventHandler FinishEditing;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fired on any change of the controls's value during the editing process.
|
/// Fired on any change of the controls's value during the editing process.
|
||||||
@@ -100,15 +88,15 @@ namespace AT.STO.UI.Win
|
|||||||
private void InitializeControl(Control Ctrl)
|
private void InitializeControl(Control Ctrl)
|
||||||
{
|
{
|
||||||
Size size = Ctrl.Size;
|
Size size = Ctrl.Size;
|
||||||
Size inner = this.ClientRectangle.Size;
|
Size inner = ClientRectangle.Size;
|
||||||
Size outer = this.Size;
|
Size outer = Size;
|
||||||
int gap = outer.Width - inner.Width;
|
int gap = outer.Width - inner.Width;
|
||||||
|
|
||||||
size.Width += gap;
|
size.Width += gap;
|
||||||
size.Height += gap;
|
size.Height += gap;
|
||||||
|
|
||||||
this.Size = size;
|
Size = size;
|
||||||
this.Controls.Add(Ctrl);
|
Controls.Add(Ctrl);
|
||||||
Ctrl.Location = new Point(0, 0);
|
Ctrl.Location = new Point(0, 0);
|
||||||
Ctrl.Visible = true;
|
Ctrl.Visible = true;
|
||||||
Ctrl.Invalidate();
|
Ctrl.Invalidate();
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@@ -21,59 +20,48 @@ namespace AT.STO.UI.Win
|
|||||||
private const int WM_NCLBUTTONDOWN = 0x0A1;
|
private const int WM_NCLBUTTONDOWN = 0x0A1;
|
||||||
private const int WM_NCRBUTTONDOWN = 0x0A4;
|
private const int WM_NCRBUTTONDOWN = 0x0A4;
|
||||||
private const int WM_NCMBUTTONDOWN = 0x0A7;
|
private const int WM_NCMBUTTONDOWN = 0x0A7;
|
||||||
#endregion
|
#endregion
|
||||||
#region Private Variable Declarations
|
#region Private Variable Declarations
|
||||||
private Form _dropDown = null;
|
private readonly DropDownWindowHelper _owner = null;
|
||||||
private DropDownWindowHelper _owner = null;
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Event Declarations
|
#region Event Declarations
|
||||||
public event DropDownCancelEventHandler DropDownCancel;
|
public event DropDownCancelEventHandler DropDownCancel;
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructor / Destructor
|
#region Constructor / Destructor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructs a new instance of this class and sets the owning
|
/// Constructs a new instance of this class and sets the owning
|
||||||
/// object.
|
/// object.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="Owner">The <see cref="DropDownWindowHelper"/> object
|
/// <param name="Owner">The <see cref="DropDownWindowHelper"/> object
|
||||||
/// which owns this class.</param>
|
/// which owns this class.</param>
|
||||||
public DropDownMessageFilter(DropDownWindowHelper Owner)
|
public DropDownMessageFilter(DropDownWindowHelper Owner) => _owner = Owner;
|
||||||
{
|
#endregion
|
||||||
_owner = Owner;
|
#region Public Properties
|
||||||
}
|
/// <summary>
|
||||||
#endregion
|
/// Gets/sets the dropdown form which is being displayed.
|
||||||
#region Public Properties
|
/// </summary>
|
||||||
/// <summary>
|
public Form DropDown { get; set; } = null;
|
||||||
/// Gets/sets the dropdown form which is being displayed.
|
#endregion
|
||||||
/// </summary>
|
#region Private Methods
|
||||||
public Form DropDown
|
private void OnMouseDown()
|
||||||
{
|
|
||||||
get { return _dropDown; }
|
|
||||||
set { _dropDown = value; }
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Private Methods
|
|
||||||
private void OnMouseDown()
|
|
||||||
{
|
{
|
||||||
Point cursorPos = Cursor.Position; // Get the cursor location
|
Point cursorPos = Cursor.Position; // Get the cursor location
|
||||||
|
|
||||||
if (!_dropDown.Bounds.Contains(cursorPos)) // Check if it is within the popup form
|
if (!DropDown.Bounds.Contains(cursorPos)) // Check if it is within the popup form
|
||||||
{
|
{
|
||||||
OnDropDownCancel(new DropDownCancelEventArgs(_dropDown, cursorPos)); // If not, then call to see if it should be closed
|
OnDropDownCancel(new DropDownCancelEventArgs(DropDown, cursorPos)); // If not, then call to see if it should be closed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region DropDownCancelEvent Implementation
|
#region DropDownCancelEvent Implementation
|
||||||
protected virtual void OnDropDownCancel(DropDownCancelEventArgs e)
|
protected virtual void OnDropDownCancel(DropDownCancelEventArgs e)
|
||||||
{
|
{
|
||||||
if (this.DropDownCancel != null)
|
DropDownCancel?.Invoke(this, e);
|
||||||
{
|
|
||||||
this.DropDownCancel(this, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!e.Cancel)
|
if (!e.Cancel)
|
||||||
{
|
{
|
||||||
_owner.CloseDropDown();
|
_owner.CloseDropDown();
|
||||||
_dropDown = null; // Clear reference for GC
|
DropDown = null; // Clear reference for GC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -90,7 +78,7 @@ namespace AT.STO.UI.Win
|
|||||||
/// This implementation always returns <c>false</c>.</returns>
|
/// This implementation always returns <c>false</c>.</returns>
|
||||||
public bool PreFilterMessage(ref Message m)
|
public bool PreFilterMessage(ref Message m)
|
||||||
{
|
{
|
||||||
if (_dropDown != null)
|
if (DropDown != null)
|
||||||
{
|
{
|
||||||
switch (m.Msg)
|
switch (m.Msg)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace AT.STO.UI.Win
|
namespace AT.STO.UI.Win
|
||||||
@@ -22,7 +21,7 @@ namespace AT.STO.UI.Win
|
|||||||
|
|
||||||
private Form _dropDown = null;
|
private Form _dropDown = null;
|
||||||
private bool _dropDownShowing = false;
|
private bool _dropDownShowing = false;
|
||||||
private DropDownMessageFilter _filter = null;
|
private readonly DropDownMessageFilter _filter = null;
|
||||||
private Form _owner = null;
|
private Form _owner = null;
|
||||||
private bool _skipClose = false;
|
private bool _skipClose = false;
|
||||||
#endregion
|
#endregion
|
||||||
@@ -42,31 +41,25 @@ namespace AT.STO.UI.Win
|
|||||||
_filter.DropDownCancel -= new DropDownCancelEventHandler(Popup_Cancel);
|
_filter.DropDownCancel -= new DropDownCancelEventHandler(Popup_Cancel);
|
||||||
_filter.DropDownCancel += new DropDownCancelEventHandler(Popup_Cancel);
|
_filter.DropDownCancel += new DropDownCancelEventHandler(Popup_Cancel);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Event Handler
|
#region Event Handler
|
||||||
private void Popup_Cancel(object sender, DropDownCancelEventArgs e)
|
private void Popup_Cancel(object sender, DropDownCancelEventArgs e) => OnDropDownCancel(e);
|
||||||
{
|
|
||||||
OnDropDownCancel(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Responds to the <see cref="System.Windows.Forms.Form.Closed"/>
|
/// Responds to the <see cref="System.Windows.Forms.Form.Closed"/>
|
||||||
/// event from the popup form.
|
/// event from the popup form.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">Popup form that has been closed.</param>
|
/// <param name="sender">Popup form that has been closed.</param>
|
||||||
/// <param name="e">Not used.</param>
|
/// <param name="e">Not used.</param>
|
||||||
private void Popup_Closed(object sender, EventArgs e)
|
private void Popup_Closed(object sender, EventArgs e) => CloseDropDown();
|
||||||
{
|
|
||||||
CloseDropDown();
|
/// <summary>
|
||||||
}
|
/// Subclasses the owning form's existing Window Procedure to enables the
|
||||||
|
/// title bar to remain active when a popup is show, and to detect if
|
||||||
/// <summary>
|
/// the user clicks onto another application whilst the popup is visible.
|
||||||
/// Subclasses the owning form's existing Window Procedure to enables the
|
/// </summary>
|
||||||
/// title bar to remain active when a popup is show, and to detect if
|
/// <param name="m">Window Procedure Message</param>
|
||||||
/// the user clicks onto another application whilst the popup is visible.
|
protected override void WndProc(ref Message m)
|
||||||
/// </summary>
|
|
||||||
/// <param name="m">Window Procedure Message</param>
|
|
||||||
protected override void WndProc(ref Message m)
|
|
||||||
{
|
{
|
||||||
base.WndProc(ref m);
|
base.WndProc(ref m);
|
||||||
|
|
||||||
@@ -76,7 +69,7 @@ namespace AT.STO.UI.Win
|
|||||||
{
|
{
|
||||||
if (((int)m.WParam) == 0) // Check if the title bar will made inactive:
|
if (((int)m.WParam) == 0) // Check if the title bar will made inactive:
|
||||||
{ // Note it's no good to try and consume this message; if you try to do that you'll end up with windows
|
{ // Note it's no good to try and consume this message; if you try to do that you'll end up with windows
|
||||||
UIApiCalls.SendMessage(this.Handle, UIApiCalls.WM_NCACTIVATE, 1, IntPtr.Zero); // If so reactivate it.
|
UIApiCalls.SendMessage(Handle, UIApiCalls.WM_NCACTIVATE, 1, IntPtr.Zero); // If so reactivate it.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m.Msg == UIApiCalls.WM_ACTIVATEAPP)
|
else if (m.Msg == UIApiCalls.WM_ACTIVATEAPP)
|
||||||
@@ -84,7 +77,7 @@ namespace AT.STO.UI.Win
|
|||||||
if ((int)m.WParam == 0) // Check if the application is being deactivated.
|
if ((int)m.WParam == 0) // Check if the application is being deactivated.
|
||||||
{
|
{
|
||||||
CloseDropDown(); // It is so cancel the popup:
|
CloseDropDown(); // It is so cancel the popup:
|
||||||
UIApiCalls.PostMessage(this.Handle, UIApiCalls.WM_NCACTIVATE, 0, IntPtr.Zero); // And put the title bar into the inactive state:
|
UIApiCalls.PostMessage(Handle, UIApiCalls.WM_NCACTIVATE, 0, IntPtr.Zero); // And put the title bar into the inactive state:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -168,22 +161,19 @@ namespace AT.STO.UI.Win
|
|||||||
_owner = null;
|
_owner = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region Public Properties
|
#region Public Properties
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Indicator weither the DropDown is showing.
|
/// Indicator weither the DropDown is showing.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool DropDownShowing
|
public bool DropDownShowing => _dropDownShowing;
|
||||||
|
#endregion
|
||||||
|
#region Event Implementation
|
||||||
|
protected virtual void OnDropDownCancel(DropDownCancelEventArgs e)
|
||||||
{
|
{
|
||||||
get { return _dropDownShowing; }
|
if (DropDownCancel != null)
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Event Implementation
|
|
||||||
protected virtual void OnDropDownCancel(DropDownCancelEventArgs e)
|
|
||||||
{
|
|
||||||
if (this.DropDownCancel != null)
|
|
||||||
{
|
{
|
||||||
this.DropDownCancel(this, e);
|
DropDownCancel(this, e);
|
||||||
|
|
||||||
if (!e.Cancel)
|
if (!e.Cancel)
|
||||||
{
|
{
|
||||||
@@ -191,14 +181,8 @@ namespace AT.STO.UI.Win
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void OnPDropDownClosed(DropDownClosedEventArgs e)
|
protected virtual void OnPDropDownClosed(DropDownClosedEventArgs e) => DropDownClosed?.Invoke(this, e);
|
||||||
{
|
#endregion
|
||||||
if (this.DropDownClosed != null)
|
}
|
||||||
{
|
|
||||||
this.DropDownClosed(this, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace AT.STO.UI.Win
|
namespace AT.STO.UI.Win
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace AT.STO.UI.Win
|
namespace AT.STO.UI.Win
|
||||||
{
|
{
|
||||||
public interface ILookupItem<T> where T: struct
|
public interface ILookupItem<T> where T: struct
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Globalization;
|
|
||||||
//using System.Linq;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
|
||||||
@@ -121,10 +119,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="text">The text.</param>
|
/// <param name="text">The text.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(string text)
|
public static DialogResult Show(string text) => FlexibleMessageBoxForm.Show(null, text, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(null, text, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -132,10 +127,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="owner">The owner.</param>
|
/// <param name="owner">The owner.</param>
|
||||||
/// <param name="text">The text.</param>
|
/// <param name="text">The text.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(IWin32Window owner, string text)
|
public static DialogResult Show(IWin32Window owner, string text) => FlexibleMessageBoxForm.Show(owner, text, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(owner, text, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -143,10 +135,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="text">The text.</param>
|
/// <param name="text">The text.</param>
|
||||||
/// <param name="caption">The caption.</param>
|
/// <param name="caption">The caption.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(string text, string caption)
|
public static DialogResult Show(string text, string caption) => FlexibleMessageBoxForm.Show(null, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(null, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -155,10 +144,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="text">The text.</param>
|
/// <param name="text">The text.</param>
|
||||||
/// <param name="caption">The caption.</param>
|
/// <param name="caption">The caption.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(IWin32Window owner, string text, string caption)
|
public static DialogResult Show(IWin32Window owner, string text, string caption) => FlexibleMessageBoxForm.Show(owner, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(owner, text, caption, MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -167,10 +153,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="caption">The caption.</param>
|
/// <param name="caption">The caption.</param>
|
||||||
/// <param name="buttons">The buttons.</param>
|
/// <param name="buttons">The buttons.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons)
|
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons) => FlexibleMessageBoxForm.Show(null, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(null, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -180,10 +163,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="caption">The caption.</param>
|
/// <param name="caption">The caption.</param>
|
||||||
/// <param name="buttons">The buttons.</param>
|
/// <param name="buttons">The buttons.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons)
|
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons) => FlexibleMessageBoxForm.Show(owner, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -193,10 +173,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="buttons">The buttons.</param>
|
/// <param name="buttons">The buttons.</param>
|
||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) => FlexibleMessageBoxForm.Show(null, text, caption, buttons, icon, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(null, text, caption, buttons, icon, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -207,10 +184,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="buttons">The buttons.</param>
|
/// <param name="buttons">The buttons.</param>
|
||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) => FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, MessageBoxDefaultButton.Button1);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, MessageBoxDefaultButton.Button1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -221,10 +195,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <param name="defaultButton">The default button.</param>
|
/// <param name="defaultButton">The default button.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
|
public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) => FlexibleMessageBoxForm.Show(null, text, caption, buttons, icon, defaultButton);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(null, text, caption, buttons, icon, defaultButton);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -236,10 +207,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <param name="defaultButton">The default button.</param>
|
/// <param name="defaultButton">The default button.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
|
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton) => FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton);
|
||||||
{
|
|
||||||
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shows the specified message box.
|
/// Shows the specified message box.
|
||||||
@@ -251,10 +219,8 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <param name="defaultButton">The default button.</param>
|
/// <param name="defaultButton">The default button.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping owner for legacy reasons")]
|
||||||
{
|
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) => FlexibleMessageBoxForm.ShowCustom(null, text, caption, buttons, icon);
|
||||||
return FlexibleMessageBoxForm.ShowCustom(null, text, caption, buttons, icon);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -341,7 +307,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
this.richTextBoxMessage.TabIndex = 0;
|
this.richTextBoxMessage.TabIndex = 0;
|
||||||
this.richTextBoxMessage.TabStop = false;
|
this.richTextBoxMessage.TabStop = false;
|
||||||
this.richTextBoxMessage.Text = "<Message>";
|
this.richTextBoxMessage.Text = "<Message>";
|
||||||
this.richTextBoxMessage.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.richTextBoxMessage_LinkClicked);
|
this.richTextBoxMessage.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.RichTextBoxMessage_LinkClicked);
|
||||||
//
|
//
|
||||||
// panel1
|
// panel1
|
||||||
//
|
//
|
||||||
@@ -431,8 +397,8 @@ namespace JR.Utils.GUI.Forms
|
|||||||
#region Private constants
|
#region Private constants
|
||||||
|
|
||||||
//These separators are used for the "copy to clipboard" standard operation, triggered by Ctrl + C (behavior and clipboard format is like in a standard MessageBox)
|
//These separators are used for the "copy to clipboard" standard operation, triggered by Ctrl + C (behavior and clipboard format is like in a standard MessageBox)
|
||||||
private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_LINES = "---------------------------\n";
|
private static readonly string STANDARD_MESSAGEBOX_SEPARATOR_LINES = "---------------------------\n";
|
||||||
private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " ";
|
private static readonly string STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " ";
|
||||||
|
|
||||||
//These are the possible buttons (in a standard MessageBox)
|
//These are the possible buttons (in a standard MessageBox)
|
||||||
private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE, OVERWRITE, RENAME };
|
private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE, OVERWRITE, RENAME };
|
||||||
@@ -440,10 +406,10 @@ namespace JR.Utils.GUI.Forms
|
|||||||
//These are the buttons texts for different languages.
|
//These are the buttons texts for different languages.
|
||||||
//If you want to add a new language, add it here and in the GetButtonText-Function
|
//If you want to add a new language, add it here and in the GetButtonText-Function
|
||||||
private enum TwoLetterISOLanguageID { en, de, es, it };
|
private enum TwoLetterISOLanguageID { en, de, es, it };
|
||||||
private static readonly String[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore", "&Overwrite", "&Rename" }; //Note: This is also the fallback language
|
private static readonly string[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore", "&Overwrite", "&Rename" }; //Note: This is also the fallback language
|
||||||
private static readonly String[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren", "&Overwrite", "&Rename" };
|
private static readonly string[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren", "&Overwrite", "&Rename" };
|
||||||
private static readonly String[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar", "&Overwrite", "&Rename" };
|
private static readonly string[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar", "&Overwrite", "&Rename" };
|
||||||
private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora", "&Overwrite", "&Rename" };
|
private static readonly string[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora", "&Overwrite", "&Rename" };
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -451,7 +417,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
|
|
||||||
private MessageBoxDefaultButton defaultButton;
|
private MessageBoxDefaultButton defaultButton;
|
||||||
private int visibleButtonsCount;
|
private int visibleButtonsCount;
|
||||||
private TwoLetterISOLanguageID languageID = TwoLetterISOLanguageID.en;
|
private readonly TwoLetterISOLanguageID languageID = TwoLetterISOLanguageID.en;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -758,9 +724,9 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
||||||
private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
|
private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
int buttonIndexToFocus = 1;
|
|
||||||
Button buttonToFocus;
|
Button buttonToFocus;
|
||||||
|
|
||||||
|
int buttonIndexToFocus;
|
||||||
//Set the default button...
|
//Set the default button...
|
||||||
switch (this.defaultButton)
|
switch (this.defaultButton)
|
||||||
{
|
{
|
||||||
@@ -799,7 +765,7 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">The source of the event.</param>
|
/// <param name="sender">The source of the event.</param>
|
||||||
/// <param name="e">The <see cref="System.Windows.Forms.LinkClickedEventArgs"/> instance containing the event data.</param>
|
/// <param name="e">The <see cref="System.Windows.Forms.LinkClickedEventArgs"/> instance containing the event data.</param>
|
||||||
private void richTextBoxMessage_LinkClicked(object sender, LinkClickedEventArgs e)
|
private void RichTextBoxMessage_LinkClicked(object sender, LinkClickedEventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -877,12 +843,14 @@ namespace JR.Utils.GUI.Forms
|
|||||||
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
|
public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton)
|
||||||
{
|
{
|
||||||
//Create a new instance of the FlexibleMessageBox form
|
//Create a new instance of the FlexibleMessageBox form
|
||||||
var flexibleMessageBoxForm = new FlexibleMessageBoxForm();
|
var flexibleMessageBoxForm = new FlexibleMessageBoxForm
|
||||||
flexibleMessageBoxForm.ShowInTaskbar = false;
|
{
|
||||||
|
ShowInTaskbar = false,
|
||||||
|
|
||||||
//Bind the caption and the message text
|
//Bind the caption and the message text
|
||||||
flexibleMessageBoxForm.CaptionText = caption;
|
CaptionText = caption,
|
||||||
flexibleMessageBoxForm.MessageText = text;
|
MessageText = text
|
||||||
|
};
|
||||||
flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
|
flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
|
||||||
|
|
||||||
//Set the buttons visibilities and texts. Also set a default button.
|
//Set the buttons visibilities and texts. Also set a default button.
|
||||||
@@ -914,15 +882,18 @@ namespace JR.Utils.GUI.Forms
|
|||||||
/// <param name="icon">The icon.</param>
|
/// <param name="icon">The icon.</param>
|
||||||
/// <param name="defaultButton">The default button.</param>
|
/// <param name="defaultButton">The default button.</param>
|
||||||
/// <returns>The dialog result.</returns>
|
/// <returns>The dialog result.</returns>
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping buttons for legacy reasons")]
|
||||||
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
||||||
{
|
{
|
||||||
//Create a new instance of the FlexibleMessageBox form
|
//Create a new instance of the FlexibleMessageBox form
|
||||||
var flexibleMessageBoxForm = new FlexibleMessageBoxForm();
|
var flexibleMessageBoxForm = new FlexibleMessageBoxForm
|
||||||
flexibleMessageBoxForm.ShowInTaskbar = false;
|
{
|
||||||
|
ShowInTaskbar = false,
|
||||||
|
|
||||||
//Bind the caption and the message text
|
//Bind the caption and the message text
|
||||||
flexibleMessageBoxForm.CaptionText = caption;
|
CaptionText = caption,
|
||||||
flexibleMessageBoxForm.MessageText = text;
|
MessageText = text
|
||||||
|
};
|
||||||
flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
|
flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
|
||||||
|
|
||||||
//Set the buttons visibilities and texts. Also set a default button.
|
//Set the buttons visibilities and texts. Also set a default button.
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
<Compile Include="frmFormatCopy.Designer.cs">
|
<Compile Include="frmFormatCopy.Designer.cs">
|
||||||
<DependentUpon>frmFormatCopy.cs</DependentUpon>
|
<DependentUpon>frmFormatCopy.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="GlobalSuppressions.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<EmbeddedResource Include="frmFormatCopy.resx">
|
<EmbeddedResource Include="frmFormatCopy.resx">
|
||||||
|
|||||||
@@ -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")]
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Formats
|
namespace Formats
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@@ -28,7 +23,7 @@ namespace Formats
|
|||||||
txbxPROMSFormatsPath.Text = savedFormatPath;
|
txbxPROMSFormatsPath.Text = savedFormatPath;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
string curFolder = Environment.CurrentDirectory; // C:\development/PROMS/Formats/bin/debug
|
string curFolder = Environment.CurrentDirectory; // .../PROMS/Formats/bin/debug
|
||||||
int idx = curFolder.ToUpper().IndexOf(@"\PROMS\");
|
int idx = curFolder.ToUpper().IndexOf(@"\PROMS\");
|
||||||
txbxPROMSFormatsPath.Text = curFolder.Substring(0, idx);
|
txbxPROMSFormatsPath.Text = curFolder.Substring(0, idx);
|
||||||
}
|
}
|
||||||
@@ -40,9 +35,8 @@ namespace Formats
|
|||||||
DirectoryInfo di = new DirectoryInfo(path);
|
DirectoryInfo di = new DirectoryInfo(path);
|
||||||
if (di.Exists == false) //return;
|
if (di.Exists == false) //return;
|
||||||
{
|
{
|
||||||
DialogResult dlgrslt = DialogResult.No;
|
DialogResult dlgrslt = MessageBox.Show(string.Format("{0} does not exist. Create it?", path), "Create Folder?", MessageBoxButtons.YesNo);
|
||||||
dlgrslt = MessageBox.Show(string.Format("{0} does not exist. Create it?", path), "Create Folder?", MessageBoxButtons.YesNo);
|
if (dlgrslt == DialogResult.Yes)
|
||||||
if (dlgrslt == DialogResult.Yes)
|
|
||||||
{
|
{
|
||||||
di.Create();
|
di.Create();
|
||||||
di.CreateSubdirectory("fmtall");
|
di.CreateSubdirectory("fmtall");
|
||||||
@@ -86,10 +80,11 @@ namespace Formats
|
|||||||
|
|
||||||
private void btnBrowse_Click(object sender, EventArgs e)
|
private void btnBrowse_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FolderBrowserDialog fbd = new FolderBrowserDialog();
|
FolderBrowserDialog fbd = new FolderBrowserDialog
|
||||||
|
{
|
||||||
fbd.SelectedPath = txbxPROMSFormatsPath.Text;
|
SelectedPath = txbxPROMSFormatsPath.Text
|
||||||
if (fbd.ShowDialog() == DialogResult.OK)
|
};
|
||||||
|
if (fbd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (Directory.Exists(fbd.SelectedPath)) txbxPROMSFormatsPath.Text = fbd.SelectedPath + @"\";
|
if (Directory.Exists(fbd.SelectedPath)) txbxPROMSFormatsPath.Text = fbd.SelectedPath + @"\";
|
||||||
}
|
}
|
||||||
@@ -116,9 +111,9 @@ namespace Formats
|
|||||||
if (!txbxPROMSFormatsPath.Text.EndsWith(@"\")) txbxPROMSFormatsPath.Text += @"\";
|
if (!txbxPROMSFormatsPath.Text.EndsWith(@"\")) txbxPROMSFormatsPath.Text += @"\";
|
||||||
|
|
||||||
// There should be a "fmtall" and "genmacall" folder in the delelopment project folder
|
// There should be a "fmtall" and "genmacall" folder in the delelopment project folder
|
||||||
// ex: C:\development\PROMS\Formats\fmtall and C:\development\PROMS\Formats\genmacall
|
// ex: ...\PROMS\Formats\fmtall and ...\PROMS\Formats\genmacall
|
||||||
string destFmtallPath = txbxPROMSFormatsPath.Text + @"fmtall\";
|
string destFmtallPath = $@"{txbxPROMSFormatsPath.Text}fmtall\";
|
||||||
string destGenmacallPath = txbxPROMSFormatsPath.Text + @"genmacall\";
|
string destGenmacallPath = $@"{txbxPROMSFormatsPath.Text}genmacall\";
|
||||||
string srcFmtallPath = @"..\..\"; // up to levels from startup path
|
string srcFmtallPath = @"..\..\"; // up to levels from startup path
|
||||||
|
|
||||||
// clear the destination fmtall and genmacall folders
|
// clear the destination fmtall and genmacall folders
|
||||||
@@ -156,14 +151,10 @@ namespace Formats
|
|||||||
}
|
}
|
||||||
Properties.Settings.Default.FormatPath = txbxPROMSFormatsPath.Text.Substring(0,txbxPROMSFormatsPath.Text.Length-1); // save the copy format path minus the ending backslash
|
Properties.Settings.Default.FormatPath = txbxPROMSFormatsPath.Text.Substring(0,txbxPROMSFormatsPath.Text.Length-1); // save the copy format path minus the ending backslash
|
||||||
Properties.Settings.Default.Save();
|
Properties.Settings.Default.Save();
|
||||||
//if(MessageBox.Show("Do you want to end the Format Copier?","Formats Copied.", MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes)
|
|
||||||
Application.Exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buttonX2_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Application.Exit();
|
Application.Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
private void buttonX2_Click(object sender, EventArgs e) => Application.Exit();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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")]
|
||||||
+313
-883
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -79,6 +79,7 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="GlobalSuppressions.cs" />
|
||||||
<Compile Include="LBComObject.cs" />
|
<Compile Include="LBComObject.cs" />
|
||||||
<Compile Include="LBObjectExtension.cs" />
|
<Compile Include="LBObjectExtension.cs" />
|
||||||
<Compile Include="OutlookLBComObject.cs" />
|
<Compile Include="OutlookLBComObject.cs" />
|
||||||
|
|||||||
@@ -1,64 +1,45 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace LBOutlookLibrary
|
namespace LBOutlookLibrary
|
||||||
{
|
{
|
||||||
public abstract partial class LBComObject
|
public abstract partial class LBComObject
|
||||||
{
|
{
|
||||||
private Object _Item;
|
private object _Item;
|
||||||
internal Object Item
|
internal object Item
|
||||||
{
|
{
|
||||||
get { return _Item; }
|
get { return _Item; }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_Item = value;
|
_Item = value;
|
||||||
if (value != null) _MyType = _Item.GetType();
|
if (value != null) MyType = _Item.GetType();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private Type _MyType;
|
|
||||||
public Type MyType
|
public Type MyType { get; set; }
|
||||||
{
|
protected LBComObject() { }
|
||||||
get { return _MyType; }
|
|
||||||
set { _MyType = value; }
|
|
||||||
}
|
|
||||||
protected LBComObject() { }
|
|
||||||
protected LBComObject(string ProgID)
|
protected LBComObject(string ProgID)
|
||||||
{
|
{
|
||||||
Type objClassType;
|
Type objClassType;
|
||||||
objClassType = Type.GetTypeFromProgID(ProgID);
|
objClassType = Type.GetTypeFromProgID(ProgID);
|
||||||
Item = Activator.CreateInstance(objClassType);
|
Item = Activator.CreateInstance(objClassType);
|
||||||
}
|
}
|
||||||
protected LBComObject(Object item)
|
protected LBComObject(object item) => Item = item;
|
||||||
{
|
private object DoInvokeMember(string name, object[] parameters, BindingFlags bf, Binder b)
|
||||||
Item = item;
|
|
||||||
}
|
|
||||||
private Object DoInvokeMember(string name, Object[] parameters, BindingFlags bf, Binder b)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return _MyType.InvokeMember(name, bf, b, _Item, parameters);
|
return MyType.InvokeMember(name, bf, b, _Item, parameters);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
throw new Exception(string.Format("LBComObject.DoInvokeMember {0}.{1}", _MyType.Name, name), ex);
|
throw new Exception(string.Format("LBComObject.DoInvokeMember {0}.{1}", MyType.Name, name), ex);
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
protected void SetProperty(string propertyName, params Object[] parameters)
|
protected void SetProperty(string propertyName, params object[] parameters) => DoInvokeMember(propertyName, parameters, BindingFlags.SetProperty, null);
|
||||||
{
|
protected object GetProperty(string propertyName) => DoInvokeMember(propertyName, null, BindingFlags.GetProperty, null);
|
||||||
DoInvokeMember(propertyName, parameters, BindingFlags.SetProperty, null);
|
protected object GetProperty(string propertyName, params object[] parameters) => DoInvokeMember(propertyName, parameters, BindingFlags.GetProperty, null);
|
||||||
}
|
protected object InvokeMethod(string methodName, params object[] parameters)
|
||||||
protected Object GetProperty(string propertyName)
|
|
||||||
{
|
|
||||||
return DoInvokeMember(propertyName, null, BindingFlags.GetProperty, null);
|
|
||||||
}
|
|
||||||
protected Object GetProperty(string propertyName, params Object[] parameters)
|
|
||||||
{
|
|
||||||
return DoInvokeMember(propertyName, parameters, BindingFlags.GetProperty, null);
|
|
||||||
}
|
|
||||||
protected Object InvokeMethod(string methodName, params Object[] parameters)
|
|
||||||
{
|
{
|
||||||
if (parameters != null)
|
if (parameters != null)
|
||||||
FixParameters(parameters);
|
FixParameters(parameters);
|
||||||
@@ -71,45 +52,15 @@ namespace LBOutlookLibrary
|
|||||||
if (parameters[i] is LBComObject)
|
if (parameters[i] is LBComObject)
|
||||||
parameters[i] = (parameters[i] as LBComObject).Item;
|
parameters[i] = (parameters[i] as LBComObject).Item;
|
||||||
}
|
}
|
||||||
protected Object InvokeMethod(string methodName)
|
protected object InvokeMethod(string methodName) => InvokeMethod(methodName, null);
|
||||||
{
|
}
|
||||||
return InvokeMethod(methodName, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class LBComObjectList<TList, TItem> : LBComObject
|
|
||||||
where TList : LBComObjectList<TList, TItem>
|
|
||||||
where TItem : LBComObject, new()
|
|
||||||
{
|
|
||||||
//public new(Object item):base(item){}
|
|
||||||
public TItem Add()
|
|
||||||
{
|
|
||||||
TItem tmp = new TItem();
|
|
||||||
tmp.Item = InvokeMethod("Add");
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
//public TItem this[int item]
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// TItem tmp = new TItem();
|
|
||||||
// tmp.Item = GetProperty("Item", item);
|
|
||||||
// return tmp;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
public partial class LBApplicationClass : LBComObject
|
public partial class LBApplicationClass : LBComObject
|
||||||
{
|
{
|
||||||
public LBApplicationClass() : base("Outlook.Application") { }
|
public LBApplicationClass() : base("Outlook.Application") { }
|
||||||
public LBApplicationClass(Object item) : base(item) { }
|
public LBApplicationClass(object item) : base(item) { }
|
||||||
public System.Object CreateItem(LBOlItemType ItemType)
|
public object CreateItem(LBOlItemType ItemType) => InvokeMethod("CreateItem", ItemType);
|
||||||
{
|
public void Quit() => InvokeMethod("Quit");
|
||||||
return InvokeMethod("CreateItem", ItemType);
|
}
|
||||||
}
|
|
||||||
public void Quit()
|
|
||||||
{
|
|
||||||
InvokeMethod("Quit");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public enum LBOlItemType
|
public enum LBOlItemType
|
||||||
{
|
{
|
||||||
olMailItem = 0,
|
olMailItem = 0,
|
||||||
@@ -124,13 +75,13 @@ namespace LBOutlookLibrary
|
|||||||
public partial class LBMailItem : LBComObject
|
public partial class LBMailItem : LBComObject
|
||||||
{
|
{
|
||||||
public LBMailItem() { }
|
public LBMailItem() { }
|
||||||
public LBMailItem(Object item) : base(item) { }
|
public LBMailItem(object item) : base(item) { }
|
||||||
}
|
}
|
||||||
public partial class LBMailItemClass : LBComObject
|
public partial class LBMailItemClass : LBComObject
|
||||||
{
|
{
|
||||||
public LBMailItemClass() { }
|
public LBMailItemClass() { }
|
||||||
public LBMailItemClass(Object item) : base(item) { }
|
public LBMailItemClass(object item) : base(item) { }
|
||||||
public String Body
|
public string Body
|
||||||
{
|
{
|
||||||
get { return (GetProperty("Body").ToString()); }
|
get { return (GetProperty("Body").ToString()); }
|
||||||
set { SetProperty("Body", value); }
|
set { SetProperty("Body", value); }
|
||||||
@@ -140,29 +91,20 @@ namespace LBOutlookLibrary
|
|||||||
get { return (LBOlBodyFormat)GetProperty("BodyFormat"); }
|
get { return (LBOlBodyFormat)GetProperty("BodyFormat"); }
|
||||||
set { SetProperty("BodyFormat", value); }
|
set { SetProperty("BodyFormat", value); }
|
||||||
}
|
}
|
||||||
public LBAttachments Attachments
|
public LBAttachments Attachments => new LBAttachments(GetProperty("Attachments"));
|
||||||
{
|
public string Subject
|
||||||
get { return new LBAttachments(GetProperty("Attachments")); }
|
|
||||||
}
|
|
||||||
public String Subject
|
|
||||||
{
|
{
|
||||||
get { return (GetProperty("Subject").ToString()); }
|
get { return (GetProperty("Subject").ToString()); }
|
||||||
set { SetProperty("Subject", value); }
|
set { SetProperty("Subject", value); }
|
||||||
}
|
}
|
||||||
public LBRecipients Recipients
|
public LBRecipients Recipients => new LBRecipients(GetProperty("Recipients"));
|
||||||
{
|
public string To
|
||||||
get { return new LBRecipients(GetProperty("Recipients")); }
|
|
||||||
}
|
|
||||||
public String To
|
|
||||||
{
|
{
|
||||||
get { return (GetProperty("To").ToString()); }
|
get { return (GetProperty("To").ToString()); }
|
||||||
set { SetProperty("To", value); }
|
set { SetProperty("To", value); }
|
||||||
}
|
}
|
||||||
public void Send()
|
public void Send() => InvokeMethod("Send");
|
||||||
{
|
}
|
||||||
InvokeMethod("Send");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public enum LBOlBodyFormat
|
public enum LBOlBodyFormat
|
||||||
{
|
{
|
||||||
olFormatUnspecified = 0,
|
olFormatUnspecified = 0,
|
||||||
@@ -173,79 +115,40 @@ namespace LBOutlookLibrary
|
|||||||
public partial class LBAttachments : LBComObject
|
public partial class LBAttachments : LBComObject
|
||||||
{
|
{
|
||||||
public LBAttachments() { }
|
public LBAttachments() { }
|
||||||
public LBAttachments(Object item) : base(item) { }
|
public LBAttachments(object item) : base(item) { }
|
||||||
public int Count
|
public int Count => (GetProperty("Count") as int? ?? 0);
|
||||||
{
|
public new LBAttachment Item => new LBAttachment(GetProperty("Item"));
|
||||||
get { return (GetProperty("Count") as int? ?? 0); }
|
public LBAttachment Add(object Source) => new LBAttachment(InvokeMethod("Add", Source, Missing.Value, Missing.Value, Missing.Value));
|
||||||
}
|
public LBAttachment Add(object Source, object Type, object Position, object DisplayName)
|
||||||
public LBAttachment Item
|
|
||||||
{
|
|
||||||
get { return new LBAttachment(GetProperty("Item")); }
|
|
||||||
}
|
|
||||||
public LBAttachment Add(object Source)
|
|
||||||
{
|
|
||||||
return new LBAttachment(InvokeMethod("Add", Source, Missing.Value, Missing.Value, Missing.Value));
|
|
||||||
}
|
|
||||||
public LBAttachment Add(object Source, object Type, object Position, object DisplayName)
|
|
||||||
{
|
{
|
||||||
return new LBAttachment(InvokeMethod("Add", Source, Type, Position, DisplayName));
|
return new LBAttachment(InvokeMethod("Add", Source, Type, Position, DisplayName));
|
||||||
}
|
}
|
||||||
public void Remove(int Index)
|
public void Remove(int Index) => InvokeMethod("Remove", Index);
|
||||||
{
|
}
|
||||||
InvokeMethod("Remove", Index);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class LBRecipients : LBComObject
|
public partial class LBRecipients : LBComObject
|
||||||
{
|
{
|
||||||
public LBRecipients() { }
|
public LBRecipients() { }
|
||||||
public LBRecipients(Object item) : base(item) { }
|
public LBRecipients(object item) : base(item) { }
|
||||||
public int Count
|
public int Count => (GetProperty("Count") as int? ?? 0);
|
||||||
{
|
public new LBRecipient Item => new LBRecipient(GetProperty("Item"));
|
||||||
get { return (GetProperty("Count") as int? ?? 0); }
|
public LBRecipient Add(string Name) => new LBRecipient(InvokeMethod("Add", Name));
|
||||||
}
|
public void Remove(int Index) => InvokeMethod("Remove", Index);
|
||||||
public LBRecipient Item
|
public bool ResolveAll() => InvokeMethod("ResolveAll") as bool? ?? false;
|
||||||
{
|
}
|
||||||
get { return new LBRecipient(GetProperty("Item")); }
|
|
||||||
}
|
|
||||||
public LBRecipient Add(string Name)
|
|
||||||
{
|
|
||||||
return new LBRecipient(InvokeMethod("Add", Name));
|
|
||||||
}
|
|
||||||
public void Remove(int Index)
|
|
||||||
{
|
|
||||||
InvokeMethod("Remove", Index);
|
|
||||||
}
|
|
||||||
public Boolean ResolveAll()
|
|
||||||
{
|
|
||||||
return InvokeMethod("ResolveAll") as Boolean? ?? false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class LBAttachment : LBComObject
|
public partial class LBAttachment : LBComObject
|
||||||
{
|
{
|
||||||
public LBAttachment() { }
|
public LBAttachment() { }
|
||||||
public LBAttachment(Object item) : base(item) { }
|
public LBAttachment(object item) : base(item) { }
|
||||||
public LBOlAttachmentType Type
|
public LBOlAttachmentType Type => (LBOlAttachmentType)GetProperty("Type");
|
||||||
{
|
}
|
||||||
get { return (LBOlAttachmentType)GetProperty("Type"); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class LBRecipient : LBComObject
|
public partial class LBRecipient : LBComObject
|
||||||
{
|
{
|
||||||
public LBRecipient() { }
|
public LBRecipient() { }
|
||||||
public LBRecipient(Object item) : base(item) { }
|
public LBRecipient(object item) : base(item) { }
|
||||||
public String Address
|
public string Address => (GetProperty("Address").ToString());
|
||||||
{
|
public string Name => (GetProperty("Name").ToString());
|
||||||
get { return (GetProperty("Address").ToString()); }
|
public bool Resolve() => InvokeMethod("Resolve") as bool? ?? false;
|
||||||
}
|
}
|
||||||
public String Name
|
|
||||||
{
|
|
||||||
get { return (GetProperty("Name").ToString()); }
|
|
||||||
}
|
|
||||||
public Boolean Resolve()
|
|
||||||
{
|
|
||||||
return InvokeMethod("Resolve") as Boolean? ?? false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public enum LBOlAttachmentType
|
public enum LBOlAttachmentType
|
||||||
{
|
{
|
||||||
olByValue = 1,
|
olByValue = 1,
|
||||||
|
|||||||
@@ -1,21 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace LBOutlookLibrary
|
namespace LBOutlookLibrary
|
||||||
{
|
{
|
||||||
public partial class LBApplicationClass
|
public partial class LBApplicationClass
|
||||||
{
|
{
|
||||||
public LBMailItemClass CreateMailItem()
|
public LBMailItemClass CreateMailItem() => new LBMailItemClass(CreateItem(LBOlItemType.olMailItem));
|
||||||
{
|
}
|
||||||
return new LBMailItemClass(CreateItem(LBOlItemType.olMailItem));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class LBMailItemClass
|
public partial class LBMailItemClass
|
||||||
{
|
{
|
||||||
public void AddAttachment(string filename)
|
public void AddAttachment(string filename) => Attachments.Add(filename, LBOlAttachmentType.olByValue, Type.Missing, Type.Missing);
|
||||||
{
|
}
|
||||||
Attachments.Add(filename, LBOlAttachmentType.olByValue, Type.Missing, Type.Missing);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,19 +49,13 @@ namespace Read64bitRegistryFrom32bitApp
|
|||||||
ref uint lpType,
|
ref uint lpType,
|
||||||
System.Text.StringBuilder lpData,
|
System.Text.StringBuilder lpData,
|
||||||
ref uint lpcbData);
|
ref uint lpcbData);
|
||||||
#endregion
|
#endregion
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Functions
|
#region Functions
|
||||||
static public string GetRegKey64Value(UIntPtr inHive, String inKeyName, String inPropertyName)
|
static public string GetRegKey64Value(UIntPtr inHive, string inKeyName, string inPropertyName) => GetRegKey64Value(inHive, inKeyName, RegSAM.WOW64_64Key, inPropertyName);
|
||||||
{
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "inHive kept to match dll signature")]
|
||||||
return GetRegKey64Value(inHive, inKeyName, RegSAM.WOW64_64Key, inPropertyName);
|
static public string GetRegKey64Value(UIntPtr inHive, string inKeyName, RegSAM in32or64key, string inPropertyName)
|
||||||
}
|
|
||||||
static public string GetRegKey32Value(UIntPtr inHive, String inKeyName, String inPropertyName)
|
|
||||||
{
|
|
||||||
return GetRegKey64Value(inHive, inKeyName, RegSAM.WOW64_32Key, inPropertyName);
|
|
||||||
}
|
|
||||||
static public string GetRegKey64Value(UIntPtr inHive, String inKeyName, RegSAM in32or64key, String inPropertyName)
|
|
||||||
{
|
{
|
||||||
int hkey = 0;
|
int hkey = 0;
|
||||||
try
|
try
|
||||||
@@ -80,15 +74,10 @@ namespace Read64bitRegistryFrom32bitApp
|
|||||||
if (0 != hkey) RegCloseKey(hkey);
|
if (0 != hkey) RegCloseKey(hkey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static public bool CheckRegKey64Valid(UIntPtr inHive, String inKeyName)
|
static public bool CheckRegKey64Valid(UIntPtr inHive, string inKeyName) => CheckRegKey64Valid(inHive, inKeyName, RegSAM.WOW64_64Key);
|
||||||
{
|
static public bool GetRegKey32Valid(UIntPtr inHive, string inKeyName) => CheckRegKey64Valid(inHive, inKeyName, RegSAM.WOW64_32Key);
|
||||||
return CheckRegKey64Valid(inHive, inKeyName, RegSAM.WOW64_64Key);
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "inHive kept to match dll signature")]
|
||||||
}
|
static public bool CheckRegKey64Valid(UIntPtr inHive, string inKeyName, RegSAM in32or64key)
|
||||||
static public bool GetRegKey32Valid(UIntPtr inHive, String inKeyName)
|
|
||||||
{
|
|
||||||
return CheckRegKey64Valid(inHive, inKeyName, RegSAM.WOW64_32Key);
|
|
||||||
}
|
|
||||||
static public bool CheckRegKey64Valid(UIntPtr inHive, String inKeyName, RegSAM in32or64key)
|
|
||||||
{
|
{
|
||||||
int hkey = 0;
|
int hkey = 0;
|
||||||
try
|
try
|
||||||
@@ -103,8 +92,5 @@ namespace Read64bitRegistryFrom32bitApp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Enums
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,11 +19,6 @@
|
|||||||
*********************************************************************************************/
|
*********************************************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
|
||||||
using System.Collections;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
//using ROProfiler; //don't forget to add VlnProfiler to the reference list
|
|
||||||
|
|
||||||
namespace VlnStatus
|
namespace VlnStatus
|
||||||
{
|
{
|
||||||
@@ -35,11 +30,6 @@ namespace VlnStatus
|
|||||||
private System.Windows.Forms.ProgressBar progressBar1;
|
private System.Windows.Forms.ProgressBar progressBar1;
|
||||||
private System.Windows.Forms.Label lblBar;
|
private System.Windows.Forms.Label lblBar;
|
||||||
private System.Windows.Forms.Label StatMsg;
|
private System.Windows.Forms.Label StatMsg;
|
||||||
// private string strLblLast="";
|
|
||||||
/// <summary>
|
|
||||||
/// Required designer variable.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.Container components = null;
|
|
||||||
|
|
||||||
public StatusBarFrm()
|
public StatusBarFrm()
|
||||||
{
|
{
|
||||||
@@ -61,21 +51,6 @@ namespace VlnStatus
|
|||||||
Text = StatusBoxTitle;
|
Text = StatusBoxTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Clean up any resources being used.
|
|
||||||
/// </summary>
|
|
||||||
protected override void Dispose( bool disposing )
|
|
||||||
{
|
|
||||||
if( disposing )
|
|
||||||
{
|
|
||||||
if(components != null)
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
base.Dispose( disposing );
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Windows Form Designer generated code
|
#region Windows Form Designer generated code
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required method for Designer support - do not modify
|
/// Required method for Designer support - do not modify
|
||||||
@@ -190,14 +165,6 @@ namespace VlnStatus
|
|||||||
{
|
{
|
||||||
lblBar.Text = (Math.Round((decimal)(progressBar1.Value * 100) / progressBar1.Maximum)).ToString();
|
lblBar.Text = (Math.Round((decimal)(progressBar1.Value * 100) / progressBar1.Maximum)).ToString();
|
||||||
lblBar.Text += "% Complete";
|
lblBar.Text += "% Complete";
|
||||||
// if( lblBar.Text != strLblLast)
|
|
||||||
// {
|
|
||||||
// Profiler.Start("UpdateLabel");
|
|
||||||
lblBar.Refresh();
|
|
||||||
// lblBar.Update();
|
|
||||||
// Profiler.End("UpdateLabel");
|
|
||||||
// }
|
|
||||||
// strLblLast = lblBar.Text;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string StatusMessage
|
public string StatusMessage
|
||||||
@@ -209,10 +176,7 @@ namespace VlnStatus
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
StatMsg.Text = value;
|
StatMsg.Text = value;
|
||||||
// Profiler.Start("StatusMessage");
|
|
||||||
StatMsg.Refresh();
|
StatMsg.Refresh();
|
||||||
// StatMsg.Update();
|
|
||||||
// Profiler.End("StatusMessage");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,12 +17,6 @@
|
|||||||
* Added overbounds check
|
* Added overbounds check
|
||||||
*********************************************************************************************/
|
*********************************************************************************************/
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Collections;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace VlnStatus
|
namespace VlnStatus
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -31,10 +25,6 @@ namespace VlnStatus
|
|||||||
public class StatusMessageFrm : System.Windows.Forms.Form
|
public class StatusMessageFrm : System.Windows.Forms.Form
|
||||||
{
|
{
|
||||||
private System.Windows.Forms.Label lblStatMsg;
|
private System.Windows.Forms.Label lblStatMsg;
|
||||||
/// <summary>
|
|
||||||
/// Required designer variable.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.Container components = null;
|
|
||||||
|
|
||||||
public StatusMessageFrm()
|
public StatusMessageFrm()
|
||||||
{
|
{
|
||||||
@@ -54,21 +44,6 @@ namespace VlnStatus
|
|||||||
Text = StatTitle;
|
Text = StatTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Clean up any resources being used.
|
|
||||||
/// </summary>
|
|
||||||
protected override void Dispose( bool disposing )
|
|
||||||
{
|
|
||||||
if( disposing )
|
|
||||||
{
|
|
||||||
if(components != null)
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
base.Dispose( disposing );
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Windows Form Designer generated code
|
#region Windows Form Designer generated code
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required method for Designer support - do not modify
|
/// Required method for Designer support - do not modify
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace VlnStatus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class VlnStatusBar
|
public class VlnStatusBar
|
||||||
{
|
{
|
||||||
StatusBarFrm StatBar;
|
readonly StatusBarFrm StatBar;
|
||||||
private int Cnt;
|
private int Cnt;
|
||||||
|
|
||||||
// Create a status window with the default title of "Status"
|
// Create a status window with the default title of "Status"
|
||||||
@@ -53,8 +53,6 @@ namespace VlnStatus
|
|||||||
// Increament the the status bar by the passed in value.
|
// Increament the the status bar by the passed in value.
|
||||||
public void PerformStep(int val)
|
public void PerformStep(int val)
|
||||||
{
|
{
|
||||||
// StatBar.Value = val;
|
|
||||||
// Cnt = val;
|
|
||||||
BarValue = val;
|
BarValue = val;
|
||||||
StatBar.PerformStep();
|
StatBar.PerformStep();
|
||||||
}
|
}
|
||||||
@@ -62,7 +60,6 @@ namespace VlnStatus
|
|||||||
// Increament the the status bar by one
|
// Increament the the status bar by one
|
||||||
public void PerformStep()
|
public void PerformStep()
|
||||||
{
|
{
|
||||||
// StatBar.Value = StatBar.Value + 1;
|
|
||||||
Cnt++;
|
Cnt++;
|
||||||
BarValue = Cnt;
|
BarValue = Cnt;
|
||||||
StatBar.PerformStep();
|
StatBar.PerformStep();
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
* Added overbounds check
|
* Added overbounds check
|
||||||
*********************************************************************************************/
|
*********************************************************************************************/
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace VlnStatus
|
namespace VlnStatus
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -28,7 +26,7 @@ namespace VlnStatus
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class VlnStatusMessage
|
public class VlnStatusMessage
|
||||||
{
|
{
|
||||||
StatusMessageFrm StatusMessageBox;
|
readonly StatusMessageFrm StatusMessageBox;
|
||||||
|
|
||||||
// Create a status window with the default title of "Status"
|
// Create a status window with the default title of "Status"
|
||||||
public VlnStatusMessage()
|
public VlnStatusMessage()
|
||||||
|
|||||||
@@ -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")]
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace RoAccessToSql
|
namespace RoAccessToSql
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Data.OleDb;
|
using System.Data.OleDb;
|
||||||
using Volian.Base.Library;
|
|
||||||
|
|
||||||
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
|
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
|
||||||
|
|
||||||
@@ -33,25 +27,11 @@ namespace RoAccessToSql
|
|||||||
public partial class RoAccessToSql : Form
|
public partial class RoAccessToSql : Form
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
private string _MSAccessPath = null;
|
|
||||||
public string MSAccessPath
|
public string MSAccessPath { get; set; } = null;
|
||||||
{
|
public string SqlServerName { get; set; } = null;
|
||||||
get { return _MSAccessPath; }
|
public string SqlDatabaseName { get; set; } = null;
|
||||||
set { _MSAccessPath = value; }
|
readonly bool _Initializing = false;
|
||||||
}
|
|
||||||
private string _SqlServerName = null;
|
|
||||||
public string SqlServerName
|
|
||||||
{
|
|
||||||
get { return _SqlServerName; }
|
|
||||||
set { _SqlServerName = value; }
|
|
||||||
}
|
|
||||||
private string _SqlDatabaseName = null;
|
|
||||||
public string SqlDatabaseName
|
|
||||||
{
|
|
||||||
get { return _SqlDatabaseName; }
|
|
||||||
set { _SqlDatabaseName = value; }
|
|
||||||
}
|
|
||||||
bool _Initializing = false;
|
|
||||||
|
|
||||||
public RoAccessToSql(string[] args)
|
public RoAccessToSql(string[] args)
|
||||||
{
|
{
|
||||||
@@ -66,7 +46,7 @@ namespace RoAccessToSql
|
|||||||
}
|
}
|
||||||
else if (parm.StartsWith("/sqldb="))
|
else if (parm.StartsWith("/sqldb="))
|
||||||
{
|
{
|
||||||
SqlDatabaseName = parm.Substring(7) + "_RO";
|
SqlDatabaseName = $"{parm.Substring(7)}_RO";
|
||||||
}
|
}
|
||||||
else if (parm.StartsWith("/server="))
|
else if (parm.StartsWith("/server="))
|
||||||
{
|
{
|
||||||
@@ -92,7 +72,7 @@ namespace RoAccessToSql
|
|||||||
if (UserInRoEditor()) this.Close();
|
if (UserInRoEditor()) this.Close();
|
||||||
tbSqlDbName.Text = SqlDatabaseName;
|
tbSqlDbName.Text = SqlDatabaseName;
|
||||||
_TmpFileForConnectStr = Path.GetTempPath();
|
_TmpFileForConnectStr = Path.GetTempPath();
|
||||||
_TmpFileForConnectStr = _TmpFileForConnectStr + @"\PromsConnect.txt";
|
_TmpFileForConnectStr += @"\PromsConnect.txt";
|
||||||
File.Delete(_TmpFileForConnectStr);
|
File.Delete(_TmpFileForConnectStr);
|
||||||
_Initializing = false;
|
_Initializing = false;
|
||||||
}
|
}
|
||||||
@@ -100,10 +80,10 @@ namespace RoAccessToSql
|
|||||||
private bool UserInRoEditor()
|
private bool UserInRoEditor()
|
||||||
{
|
{
|
||||||
FileInfo fiown = null;
|
FileInfo fiown = null;
|
||||||
FileStream fsown = null;
|
FileStream fsown;
|
||||||
// The following code was taken from the roeditor. It uses the 'RoEditor.own' file to assure that
|
// The following code was taken from the roeditor. It uses the 'RoEditor.own' file to assure that
|
||||||
// no one is in the roeditor. This file is located in the microsoft access database directory.
|
// no one is in the roeditor. This file is located in the microsoft access database directory.
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string filename = MSAccessPath + @"\RoEditor.own";
|
string filename = MSAccessPath + @"\RoEditor.own";
|
||||||
fiown = new FileInfo(filename);
|
fiown = new FileInfo(filename);
|
||||||
@@ -119,7 +99,7 @@ namespace RoAccessToSql
|
|||||||
fsown = fiown.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
fsown = fiown.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||||
TextReader tr1 = new StreamReader(fsown);
|
TextReader tr1 = new StreamReader(fsown);
|
||||||
string who1 = tr1.ReadToEnd();
|
string who1 = tr1.ReadToEnd();
|
||||||
MessageBox.Show(ex.Message + "\r\n\r\n" + who1, "RO Editor In Use", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
MessageBox.Show($"{ex.Message}\r\n\r\n{who1}", "RO Editor In Use", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
fsown = fiown.Open(FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
|
fsown = fiown.Open(FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
|
||||||
TextReader tr = new StreamReader(fsown);
|
TextReader tr = new StreamReader(fsown);
|
||||||
@@ -142,8 +122,8 @@ namespace RoAccessToSql
|
|||||||
tw.WriteLine("Current User: {0}, Date and Time Started: {1}", Environment.UserName.ToUpper(), DateTime.Now.ToString("MM/dd/yyyy @ hh:mm"));
|
tw.WriteLine("Current User: {0}, Date and Time Started: {1}", Environment.UserName.ToUpper(), DateTime.Now.ToString("MM/dd/yyyy @ hh:mm"));
|
||||||
tw.Flush();
|
tw.Flush();
|
||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException)
|
||||||
{
|
{
|
||||||
fsown = fiown.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
fsown = fiown.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||||
TextReader tr = new StreamReader(fsown);
|
TextReader tr = new StreamReader(fsown);
|
||||||
string who = tr.ReadToEnd();
|
string who = tr.ReadToEnd();
|
||||||
@@ -154,25 +134,20 @@ namespace RoAccessToSql
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
static string _ErrorLogFileName;
|
|
||||||
public static string ErrorLogFileName
|
public static string ErrorLogFileName { get; set; }
|
||||||
{
|
// make error log file name (uses same logic as proms error log)
|
||||||
get { return _ErrorLogFileName; }
|
static bool ChangeLogFileName(string AppenderName, string NewFilename)
|
||||||
set { _ErrorLogFileName = value; }
|
|
||||||
}
|
|
||||||
// make error log file name (uses same logic as proms error log)
|
|
||||||
static bool ChangeLogFileName(string AppenderName, string NewFilename)
|
|
||||||
{
|
{
|
||||||
log4net.Repository.ILoggerRepository RootRep;
|
log4net.Repository.ILoggerRepository RootRep;
|
||||||
RootRep = log4net.LogManager.GetRepository();
|
RootRep = log4net.LogManager.GetRepository();
|
||||||
foreach (log4net.Appender.IAppender iApp in RootRep.GetAppenders())
|
foreach (log4net.Appender.IAppender iApp in RootRep.GetAppenders())
|
||||||
{
|
{
|
||||||
if (iApp.Name.CompareTo(AppenderName) == 0
|
if (iApp.Name.CompareTo(AppenderName) == 0
|
||||||
&& iApp is log4net.Appender.FileAppender)
|
&& iApp is log4net.Appender.FileAppender fApp)
|
||||||
{
|
{
|
||||||
log4net.Appender.FileAppender fApp = (log4net.Appender.FileAppender)iApp;
|
|
||||||
string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
|
string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
|
||||||
fApp.File = folderPath + @"\VEPROMS\" + (Volian.Base.Library.VlnSettings.GetCommand("prefix", "") + "_").TrimStart("_".ToCharArray()) + NewFilename;
|
fApp.File = $@"{folderPath}\VEPROMS\{($"{Volian.Base.Library.VlnSettings.GetCommand("prefix", "")}_").TrimStart("_".ToCharArray())}{NewFilename}";
|
||||||
ErrorLogFileName = fApp.File;
|
ErrorLogFileName = fApp.File;
|
||||||
fApp.ActivateOptions();
|
fApp.ActivateOptions();
|
||||||
return true;
|
return true;
|
||||||
@@ -189,7 +164,7 @@ namespace RoAccessToSql
|
|||||||
if (Directory.Exists(fbd.SelectedPath))
|
if (Directory.Exists(fbd.SelectedPath))
|
||||||
tbAccessPath.Text = fbd.SelectedPath;
|
tbAccessPath.Text = fbd.SelectedPath;
|
||||||
else
|
else
|
||||||
MessageBox.Show("Path doesn't exist " + tbAccessPath.Text);
|
MessageBox.Show($"Path doesn't exist {tbAccessPath.Text}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Convert the data
|
// Convert the data
|
||||||
@@ -212,7 +187,7 @@ namespace RoAccessToSql
|
|||||||
{
|
{
|
||||||
DateTime dtSunday = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek));
|
DateTime dtSunday = DateTime.Now.AddDays(-((int)DateTime.Now.DayOfWeek));
|
||||||
|
|
||||||
ChangeLogFileName("LogFileAppender", SqlDatabaseName + " " + dtSunday.ToString("yyyyMMdd") + " ErrorLog.txt");
|
ChangeLogFileName("LogFileAppender", $"{SqlDatabaseName} {dtSunday:yyyyMMdd} ErrorLog.txt");
|
||||||
_MyLog.InfoFormat("\r\nSession Beginning\r\n<===={0}[SQL:{1:yyMM.ddHH}]====== User: {2}/{3} Started {4} ===============>{5}"
|
_MyLog.InfoFormat("\r\nSession Beginning\r\n<===={0}[SQL:{1:yyMM.ddHH}]====== User: {2}/{3} Started {4} ===============>{5}"
|
||||||
, Application.ProductVersion, RevDate, DateTime.Now, Environment.UserDomainName, Environment.UserName, DateTime.Now.ToString("dddd MMMM d, yyyy h:mm:ss tt"), "");
|
, Application.ProductVersion, RevDate, DateTime.Now, Environment.UserDomainName, Environment.UserName, DateTime.Now.ToString("dddd MMMM d, yyyy h:mm:ss tt"), "");
|
||||||
}
|
}
|
||||||
@@ -229,7 +204,7 @@ namespace RoAccessToSql
|
|||||||
if (sqlConnection.State == ConnectionState.Open)
|
if (sqlConnection.State == ConnectionState.Open)
|
||||||
{
|
{
|
||||||
// now try to open access db:
|
// now try to open access db:
|
||||||
string strDatabaseConnectionCommand = "Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source=" + MSAccessPath + "\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
|
string strDatabaseConnectionCommand = $"Provider=Microsoft.ACE.OLEDB.12.0;Password=\"\";User ID=Admin;Data Source={MSAccessPath}\\ROMaster.mdb;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
|
||||||
using (OleDbConnection accessConnection = new OleDbConnection(strDatabaseConnectionCommand))
|
using (OleDbConnection accessConnection = new OleDbConnection(strDatabaseConnectionCommand))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@@ -251,13 +226,13 @@ namespace RoAccessToSql
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_MyLog.Error("SQL Connection is not open. Check connection string: " + tbSqlDbName.Text);
|
_MyLog.Error($"SQL Connection is not open. Check connection string: {tbSqlDbName.Text}");
|
||||||
MessageBox.Show("Check connection string: " + tbSqlDbName.Text, "SQL Connection is not open.");
|
MessageBox.Show($"Check connection string: {tbSqlDbName.Text}", "SQL Connection is not open.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (SqlException ex)
|
catch (SqlException ex)
|
||||||
{
|
{
|
||||||
_MyLog.Error("SQL Connection is not open. Check connection string: " + tbSqlDbName.Text);
|
_MyLog.Error($"SQL Connection is not open. Check connection string: {tbSqlDbName.Text}");
|
||||||
MessageBox.Show(ex.Message, "Unknown error when migrating RO data from MS Access to SQL");
|
MessageBox.Show(ex.Message, "Unknown error when migrating RO data from MS Access to SQL");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -274,11 +249,10 @@ namespace RoAccessToSql
|
|||||||
lastTimeDbs = ProgressBarUpdate(pBarDbs, null, 0, 1, 0, 0, lastTimeDbs, false);
|
lastTimeDbs = ProgressBarUpdate(pBarDbs, null, 0, 1, 0, 0, lastTimeDbs, false);
|
||||||
lastTimeRos = ProgressBarUpdate(pBarROs, null, 0, maxCntRo, 0, 0, lastTimeRos, false);
|
lastTimeRos = ProgressBarUpdate(pBarROs, null, 0, maxCntRo, 0, 0, lastTimeRos, false);
|
||||||
lastTimeDbs = ProgressBarUpdate(pBarDbs, "ROMaster Table", 0, 5, 0, 1, lastTimeDbs, false);
|
lastTimeDbs = ProgressBarUpdate(pBarDbs, "ROMaster Table", 0, 5, 0, 1, lastTimeDbs, false);
|
||||||
OleDbDataReader reader = null;
|
OleDbCommand command = new OleDbCommand("select * from ROMaster", accessConnection);
|
||||||
OleDbCommand command = new OleDbCommand("select * from ROMaster", accessConnection);
|
OleDbDataReader reader = command.ExecuteReader();
|
||||||
reader = command.ExecuteReader();
|
// Do access's romaster table first so that the list of other tables to process is found. While doing this, migrate this table's data.
|
||||||
// Do access's romaster table first so that the list of other tables to process is found. While doing this, migrate this table's data.
|
int cntRo = 0;
|
||||||
int cntRo = 0;
|
|
||||||
int cntDb = 0;
|
int cntDb = 0;
|
||||||
int maxCntDb = 0;
|
int maxCntDb = 0;
|
||||||
while (reader.Read()) // reading from Access Database
|
while (reader.Read()) // reading from Access Database
|
||||||
@@ -303,13 +277,12 @@ namespace RoAccessToSql
|
|||||||
maxCntDb++;
|
maxCntDb++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastTimeRos = ProgressBarUpdate(pBarROs, "ROMaster", 0, maxCntRo, maxCntRo, 1, lastTimeRos, true);
|
ProgressBarUpdate(pBarROs, "ROMaster", 0, maxCntRo, maxCntRo, 1, lastTimeRos, true);
|
||||||
lastTimeDbs = ProgressBarUpdate(pBarDbs, null, 0, maxCntDb, 0, 0, lastTimeDbs, false);
|
lastTimeDbs = ProgressBarUpdate(pBarDbs, null, 0, maxCntDb, 0, 0, lastTimeDbs, false);
|
||||||
reader.Close();
|
reader.Close();
|
||||||
reader = null;
|
|
||||||
|
// now migrate all the tables that were found
|
||||||
// now migrate all the tables that were found
|
foreach (string tableName in allTables)
|
||||||
foreach (string tableName in allTables)
|
|
||||||
{
|
{
|
||||||
lastTimeRos = DateTime.Now;
|
lastTimeRos = DateTime.Now;
|
||||||
cntRo = 0;
|
cntRo = 0;
|
||||||
@@ -318,7 +291,7 @@ namespace RoAccessToSql
|
|||||||
lastTimeRos = ProgressBarUpdate(pBarROs, null, 0, maxCntRo, 0, 0, lastTimeRos, true);
|
lastTimeRos = ProgressBarUpdate(pBarROs, null, 0, maxCntRo, 0, 0, lastTimeRos, true);
|
||||||
lastTimeDbs = ProgressBarUpdate(pBarDbs, allTablesText[cntDb], 0, maxCntDb, cntDb, 1, lastTimeDbs, false);
|
lastTimeDbs = ProgressBarUpdate(pBarDbs, allTablesText[cntDb], 0, maxCntDb, cntDb, 1, lastTimeDbs, false);
|
||||||
command = null;
|
command = null;
|
||||||
command = new OleDbCommand("select * from " + tableName, accessConnection);
|
command = new OleDbCommand($"select * from {tableName}", accessConnection);
|
||||||
reader = command.ExecuteReader();
|
reader = command.ExecuteReader();
|
||||||
while (reader.Read()) // read all of the records from the current access table
|
while (reader.Read()) // read all of the records from the current access table
|
||||||
{
|
{
|
||||||
@@ -338,7 +311,7 @@ namespace RoAccessToSql
|
|||||||
reader = null;
|
reader = null;
|
||||||
lastTimeRos = ProgressBarUpdate(pBarROs, tableName, 0, maxCntRo, maxCntRo, 1, lastTimeRos, false);
|
lastTimeRos = ProgressBarUpdate(pBarROs, tableName, 0, maxCntRo, maxCntRo, 1, lastTimeRos, false);
|
||||||
}
|
}
|
||||||
lastTimeDbs = ProgressBarUpdate(pBarDbs, allTablesText[maxCntDb - 1], 0, maxCntDb, maxCntDb, 1, lastTimeDbs, false);
|
ProgressBarUpdate(pBarDbs, allTablesText[maxCntDb - 1], 0, maxCntDb, maxCntDb, 1, lastTimeDbs, false);
|
||||||
pBarDbs.Text = "Referenced Object Tables Migration Completed";
|
pBarDbs.Text = "Referenced Object Tables Migration Completed";
|
||||||
pBarROs.Text = "Referenced Objects Migration Completed";
|
pBarROs.Text = "Referenced Objects Migration Completed";
|
||||||
btnConvert.Enabled = false;
|
btnConvert.Enabled = false;
|
||||||
@@ -357,7 +330,7 @@ namespace RoAccessToSql
|
|||||||
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
|
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
|
||||||
string strInsert = "INSERT INTO ROMaster (RecID, RecType, ModDateTime, Info) ";
|
string strInsert = "INSERT INTO ROMaster (RecID, RecType, ModDateTime, Info) ";
|
||||||
// note that '8' for rectype flags database converted:
|
// note that '8' for rectype flags database converted:
|
||||||
strInsert = strInsert + " VALUES ('09999999', 8, '" + dt + "', '" + _SqlConnectStr + "');";
|
strInsert = $"{strInsert} VALUES ('09999999', 8, '{dt}', '{_SqlConnectStr}');";
|
||||||
OleDbCommand command = new OleDbCommand(strInsert, accessConnection);
|
OleDbCommand command = new OleDbCommand(strInsert, accessConnection);
|
||||||
reader = command.ExecuteReader();
|
reader = command.ExecuteReader();
|
||||||
if (reader.Read()) return;
|
if (reader.Read()) return;
|
||||||
@@ -367,7 +340,7 @@ namespace RoAccessToSql
|
|||||||
MessageBox.Show(e.Message, "Error on insert to flag migration completed");
|
MessageBox.Show(e.Message, "Error on insert to flag migration completed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private string _TmpFileForConnectStr = null;
|
private readonly string _TmpFileForConnectStr = null;
|
||||||
private void WriteSqlPathToTempFile()
|
private void WriteSqlPathToTempFile()
|
||||||
{
|
{
|
||||||
System.IO.File.WriteAllText(_TmpFileForConnectStr, _SqlConnectStr);
|
System.IO.File.WriteAllText(_TmpFileForConnectStr, _SqlConnectStr);
|
||||||
@@ -375,13 +348,12 @@ namespace RoAccessToSql
|
|||||||
// the following is used to update the progress bars, it finds how many records are in a table.
|
// the following is used to update the progress bars, it finds how many records are in a table.
|
||||||
private int GetRecordCountForTable(string tableName, OleDbConnection accessConnection)
|
private int GetRecordCountForTable(string tableName, OleDbConnection accessConnection)
|
||||||
{
|
{
|
||||||
OleDbDataReader reader = null;
|
int retcnt = 100;
|
||||||
int retcnt = 100;
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
OleDbCommand command = new OleDbCommand("SELECT COUNT (RecID) as cnt FROM " + tableName, accessConnection);
|
OleDbCommand command = new OleDbCommand($"SELECT COUNT (RecID) as cnt FROM {tableName}", accessConnection);
|
||||||
reader = command.ExecuteReader();
|
OleDbDataReader reader = command.ExecuteReader();
|
||||||
if (reader.Read())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
retcnt = reader.GetInt32(0);
|
retcnt = reader.GetInt32(0);
|
||||||
}
|
}
|
||||||
@@ -393,7 +365,8 @@ namespace RoAccessToSql
|
|||||||
}
|
}
|
||||||
return retcnt;
|
return retcnt;
|
||||||
}
|
}
|
||||||
DateTime ProgressBarUpdate(DevComponents.DotNetBar.Controls.ProgressBarX pbi, string msg, int min, int max, int progress, int flag, DateTime lastUpdateDisplay, bool doTimeCheck)
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping min for Debugging")]
|
||||||
|
DateTime ProgressBarUpdate(DevComponents.DotNetBar.Controls.ProgressBarX pbi, string msg, int min, int max, int progress, int flag, DateTime lastUpdateDisplay, bool doTimeCheck)
|
||||||
{
|
{
|
||||||
if (flag == 0) // setup
|
if (flag == 0) // setup
|
||||||
pbi.Maximum = max;
|
pbi.Maximum = max;
|
||||||
@@ -412,11 +385,13 @@ namespace RoAccessToSql
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
SqlCommand command = new SqlCommand();
|
SqlCommand command = new SqlCommand
|
||||||
command.Connection = sqlConnection;
|
{
|
||||||
command.CommandType = CommandType.StoredProcedure;
|
Connection = sqlConnection,
|
||||||
command.CommandText = "insertAllRectypes";
|
CommandType = CommandType.StoredProcedure,
|
||||||
command.Parameters.AddWithValue("@RecType", RecType);
|
CommandText = "insertAllRectypes"
|
||||||
|
};
|
||||||
|
command.Parameters.AddWithValue("@RecType", RecType);
|
||||||
if (AccPageID == null || AccPageID == "")
|
if (AccPageID == null || AccPageID == "")
|
||||||
command.Parameters.AddWithValue("@AccPageID", string.Empty);
|
command.Parameters.AddWithValue("@AccPageID", string.Empty);
|
||||||
else
|
else
|
||||||
@@ -428,9 +403,8 @@ namespace RoAccessToSql
|
|||||||
command.Parameters.AddWithValue("@ModDateTime", ModDateTime);
|
command.Parameters.AddWithValue("@ModDateTime", ModDateTime);
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
bool success = true;
|
}
|
||||||
}
|
command = null;
|
||||||
command = null;
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -438,32 +412,15 @@ namespace RoAccessToSql
|
|||||||
_MyLog.Error(msg, ex);
|
_MyLog.Error(msg, ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void btnExit_Click(object sender, EventArgs e)
|
private void btnExit_Click(object sender, EventArgs e) => this.Close();
|
||||||
{
|
// the user selected the button to test the sql connection string
|
||||||
this.Close();
|
private void btnTestConnect_Click(object sender, EventArgs e) => TestConnection(true);
|
||||||
}
|
|
||||||
// the user selected the button to test the sql connection string
|
public static DateTime RevDate { get; set; } = DateTime.MinValue;
|
||||||
private void btnTestConnect_Click(object sender, EventArgs e)
|
public static string RevDescription { get; set; } = "Unknown";
|
||||||
{
|
// This is called to test the sql connection, either from the button when pressed by user, or from the convert button, before
|
||||||
TestConnection(true);
|
// the conversion is done. See below for what is checked
|
||||||
}
|
private bool TestConnection(bool notifyUser)
|
||||||
// the RevDate & RevDescription are found in a stored procedure, vesp_GetSQLCodeRevision, in the sql database. These get updated each
|
|
||||||
// time a revision is made to the sql database using ROFixes.sql script.
|
|
||||||
private static DateTime _RevDate = DateTime.MinValue;
|
|
||||||
public static DateTime RevDate
|
|
||||||
{
|
|
||||||
get { return _RevDate; }
|
|
||||||
set { _RevDate = value; }
|
|
||||||
}
|
|
||||||
private static string _RevDescription = "Unknown";
|
|
||||||
public static string RevDescription
|
|
||||||
{
|
|
||||||
get { return _RevDescription; }
|
|
||||||
set { _RevDescription = value; }
|
|
||||||
}
|
|
||||||
// This is called to test the sql connection, either from the button when pressed by user, or from the convert button, before
|
|
||||||
// the conversion is done. See below for what is checked
|
|
||||||
private bool TestConnection(bool notifyUser)
|
|
||||||
{
|
{
|
||||||
// The following conditions must be true in order to migrate the ro data to sql. Only the first condition can be
|
// The following conditions must be true in order to migrate the ro data to sql. Only the first condition can be
|
||||||
// tested in this executable since the roall database is interfaced to by the roeditor & the program that migrates the data.
|
// tested in this executable since the roall database is interfaced to by the roeditor & the program that migrates the data.
|
||||||
@@ -485,12 +442,14 @@ namespace RoAccessToSql
|
|||||||
connection.Open();
|
connection.Open();
|
||||||
if (connection.State == ConnectionState.Open)
|
if (connection.State == ConnectionState.Open)
|
||||||
{
|
{
|
||||||
// now see if there is an roall table
|
// now see if there is an roall table
|
||||||
SqlCommand command = new SqlCommand();
|
SqlCommand command = new SqlCommand
|
||||||
command.Connection = connection;
|
{
|
||||||
command.CommandType = CommandType.Text;
|
Connection = connection,
|
||||||
command.CommandText = "(SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ROALL]') AND type in (N'U'))";
|
CommandType = CommandType.Text,
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
CommandText = "(SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ROALL]') AND type in (N'U'))"
|
||||||
|
};
|
||||||
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
if (reader.Read())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
@@ -509,11 +468,13 @@ namespace RoAccessToSql
|
|||||||
{
|
{
|
||||||
// now see if there are stored procedures:
|
// now see if there are stored procedures:
|
||||||
command = null; // reset command
|
command = null; // reset command
|
||||||
command = new SqlCommand();
|
command = new SqlCommand
|
||||||
command.Connection = connection;
|
{
|
||||||
command.CommandType = CommandType.Text;
|
Connection = connection,
|
||||||
command.CommandText = "(SELECT count(*) FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteByROTable]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)";
|
CommandType = CommandType.Text,
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
CommandText = "(SELECT count(*) FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[deleteByROTable]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)"
|
||||||
|
};
|
||||||
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
if (reader.Read())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
@@ -533,11 +494,13 @@ namespace RoAccessToSql
|
|||||||
{
|
{
|
||||||
// now test that the roall table is empty:
|
// now test that the roall table is empty:
|
||||||
command = null; // reset command
|
command = null; // reset command
|
||||||
command = new SqlCommand();
|
command = new SqlCommand
|
||||||
command.Connection = connection;
|
{
|
||||||
command.CommandType = CommandType.Text;
|
Connection = connection,
|
||||||
command.CommandText = "SELECT count(*) FROM roall";
|
CommandType = CommandType.Text,
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
CommandText = "SELECT count(*) FROM roall"
|
||||||
|
};
|
||||||
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
if (reader.Read())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
@@ -557,16 +520,18 @@ namespace RoAccessToSql
|
|||||||
{
|
{
|
||||||
// now test that the database version is ok
|
// now test that the database version is ok
|
||||||
command = null; // reset command
|
command = null; // reset command
|
||||||
command = new SqlCommand();
|
command = new SqlCommand
|
||||||
command.Connection = connection;
|
{
|
||||||
command.CommandType = CommandType.StoredProcedure;
|
Connection = connection,
|
||||||
command.CommandText = "vesp_GetSQLCodeRevision";
|
CommandType = CommandType.StoredProcedure,
|
||||||
using (SqlDataReader reader = command.ExecuteReader())
|
CommandText = "vesp_GetSQLCodeRevision"
|
||||||
|
};
|
||||||
|
using (SqlDataReader reader = command.ExecuteReader())
|
||||||
{
|
{
|
||||||
if (reader.Read())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
_RevDate = reader.GetDateTime(0);
|
RevDate = reader.GetDateTime(0);
|
||||||
_RevDescription = reader.GetString(1);
|
RevDescription = reader.GetString(1);
|
||||||
dbsuc = true;
|
dbsuc = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -582,13 +547,13 @@ namespace RoAccessToSql
|
|||||||
}
|
}
|
||||||
catch (SqlException ex)
|
catch (SqlException ex)
|
||||||
{
|
{
|
||||||
if (notifyUser) MessageBox.Show("Connection failed: " + ex, "Connection Failed");
|
if (notifyUser) MessageBox.Show($"Connection failed: {ex}", "Connection Failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
if (notifyUser) MessageBox.Show("Connection failed: " + ex, "Connection Failed");
|
if (notifyUser) MessageBox.Show($"Connection failed: {ex}", "Connection Failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notifyUser && success) MessageBox.Show("You have been successfully connected to the database!", "Connection Succeeded");
|
if (notifyUser && success) MessageBox.Show("You have been successfully connected to the database!", "Connection Succeeded");
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="GlobalSuppressions.cs" />
|
||||||
<Compile Include="RoAccessToSql.cs">
|
<Compile Include="RoAccessToSql.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using System;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Collections;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Accentra.Controls
|
namespace Accentra.Controls
|
||||||
@@ -11,11 +8,6 @@ namespace Accentra.Controls
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class TablePicker : System.Windows.Forms.Form
|
public class TablePicker : System.Windows.Forms.Form
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Required designer variable.
|
|
||||||
/// </summary>
|
|
||||||
private System.ComponentModel.Container components = null;
|
|
||||||
|
|
||||||
public TablePicker()
|
public TablePicker()
|
||||||
{
|
{
|
||||||
// Activates double buffering
|
// Activates double buffering
|
||||||
@@ -29,21 +21,6 @@ namespace Accentra.Controls
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Clean up any resources being used.
|
|
||||||
/// </summary>
|
|
||||||
protected override void Dispose( bool disposing )
|
|
||||||
{
|
|
||||||
if( disposing )
|
|
||||||
{
|
|
||||||
if(components != null)
|
|
||||||
{
|
|
||||||
components.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
base.Dispose( disposing );
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Windows Form Designer generated code
|
#region Windows Form Designer generated code
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Required method for Designer support - do not modify
|
/// Required method for Designer support - do not modify
|
||||||
@@ -75,82 +52,41 @@ namespace Accentra.Controls
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private Pen BeigePen = new Pen(Color.Beige, 1);
|
private readonly Brush BlackBrush = System.Drawing.Brushes.Black;
|
||||||
private Brush BeigeBrush = System.Drawing.Brushes.Beige;
|
private readonly Brush WhiteBrush = System.Drawing.Brushes.White;
|
||||||
private Brush GrayBrush = System.Drawing.Brushes.Gray;
|
|
||||||
private Brush BlackBrush = System.Drawing.Brushes.Black;
|
|
||||||
private Brush WhiteBrush = System.Drawing.Brushes.White;
|
|
||||||
|
|
||||||
private Brush Jbrush = System.Drawing.Brushes.LightBlue;
|
private readonly Brush Jbrush = System.Drawing.Brushes.LightBlue;
|
||||||
//private Brush Jbrush = System.Drawing.Brushes.LightSteelBlue;
|
|
||||||
//private Brush Jbrush = System.Drawing.Brushes.SteelBlue;
|
|
||||||
//private Brush Jbrush = System.Drawing.Brushes.PowderBlue;
|
|
||||||
|
|
||||||
private Pen BorderPen = new Pen(SystemColors.ControlDark);
|
private readonly Pen BorderPen = new Pen(SystemColors.ControlDark);
|
||||||
private Pen BluePen = new Pen(Color.SlateGray, 1);
|
private readonly Pen BluePen = new Pen(Color.SlateGray, 1);
|
||||||
|
|
||||||
private string DispText = "Esc to Cancel"; // Display text
|
private string DispText = "Esc to Cancel"; // Display text
|
||||||
private int DispHeight = 40;//20; // Display ("Table 1x1", "Cancel")
|
private readonly int DispHeight = 40; // Display ("Table 1x1", "Cancel")
|
||||||
private Font DispFont = new Font("Tahoma", 8.25F);
|
private readonly Font DispFont = new Font("Tahoma", 8.25F);
|
||||||
private int SquareX = 20; // Width of squares
|
private readonly int SquareX = 20; // Width of squares
|
||||||
private int SquareY = 20; // Height of squares
|
private readonly int SquareY = 20; // Height of squares
|
||||||
private int SquareQX = 3; // Number of visible squares (X)
|
private int SquareQX = 3; // Number of visible squares (X)
|
||||||
private int SquareQY = 3; // Number of visible squares (Y)
|
private int SquareQY = 3; // Number of visible squares (Y)
|
||||||
private int SelQX = 1; // Number of selected squares (x)
|
private int SelQX = 1; // Number of selected squares (x)
|
||||||
private int SelQY = 1; // Number of selected squares (y)
|
private int SelQY = 1; // Number of selected squares (y)
|
||||||
|
|
||||||
private bool bHiding = false;
|
public int MaxRows { get; set; } = -1;
|
||||||
private bool bCancel = true; // Determines whether to Cancel
|
|
||||||
|
|
||||||
// Added my Volian 4/27/11
|
public int MaxCols { get; set; } = -1;
|
||||||
private int _MaxRows = -1;
|
|
||||||
|
|
||||||
public int MaxRows
|
/// <summary>
|
||||||
{
|
/// Returns the number of columns, or the horizontal / X count,
|
||||||
get { return _MaxRows; }
|
/// of the selection.
|
||||||
set { _MaxRows = value; }
|
/// </summary>
|
||||||
}
|
public int SelectedColumns => SelQX;
|
||||||
private int _MaxCols = -1;
|
|
||||||
|
|
||||||
public int MaxCols
|
/// <summary>
|
||||||
{
|
/// Returns the number of rows, or the vertical / Y count,
|
||||||
get { return _MaxCols; }
|
/// of the selection.
|
||||||
set { _MaxCols = value; }
|
/// </summary>
|
||||||
}
|
public int SelectedRows => SelQY;
|
||||||
|
|
||||||
/// <summary>
|
private void TablePicker_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {
|
||||||
/// Similar to <code><see cref="DialogResult"/>
|
|
||||||
/// == <see cref="DialogResult.Cancel"/></code>,
|
|
||||||
/// but is used as a state value before the form
|
|
||||||
/// is hidden and cancellation is finalized.
|
|
||||||
/// </summary>
|
|
||||||
public bool Cancel {
|
|
||||||
get {
|
|
||||||
return bCancel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the number of columns, or the horizontal / X count,
|
|
||||||
/// of the selection.
|
|
||||||
/// </summary>
|
|
||||||
public int SelectedColumns {
|
|
||||||
get {
|
|
||||||
return SelQX;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns the number of rows, or the vertical / Y count,
|
|
||||||
/// of the selection.
|
|
||||||
/// </summary>
|
|
||||||
public int SelectedRows {
|
|
||||||
get {
|
|
||||||
return SelQY;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void TablePicker_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {
|
|
||||||
Graphics g = e.Graphics;
|
Graphics g = e.Graphics;
|
||||||
|
|
||||||
// First, increment the number of visible squares if the
|
// First, increment the number of visible squares if the
|
||||||
@@ -162,8 +98,8 @@ namespace Accentra.Controls
|
|||||||
if (SquareQX < 7) SquareQX = 7;
|
if (SquareQX < 7) SquareQX = 7;
|
||||||
if (SquareQY < 5) SquareQY = 5;
|
if (SquareQY < 5) SquareQY = 5;
|
||||||
|
|
||||||
if (_MaxRows > 0 && SquareQY > _MaxRows) SquareQY = _MaxRows;
|
if (MaxRows > 0 && SquareQY > MaxRows) SquareQY = MaxRows;
|
||||||
if (_MaxCols > 0 && SquareQX > _MaxCols) SquareQX = _MaxCols;
|
if (MaxCols > 0 && SquareQX > MaxCols) SquareQX = MaxCols;
|
||||||
|
|
||||||
// Second, expand the dimensions of this form according to the
|
// Second, expand the dimensions of this form according to the
|
||||||
// number of visible squares.
|
// number of visible squares.
|
||||||
@@ -177,14 +113,7 @@ namespace Accentra.Controls
|
|||||||
// the text is left-justified, only the Y (vertical) position
|
// the text is left-justified, only the Y (vertical) position
|
||||||
// is calculated.
|
// is calculated.
|
||||||
int dispY = ((SquareY - 1) * SquareQY) + SquareQY + 4;
|
int dispY = ((SquareY - 1) * SquareQY) + SquareQY + 4;
|
||||||
//if (this.Cancel) {
|
DispText = $"{SelQY} Row{((SelQY > 1) ? "s" : "")} {SelQX} Column{((SelQX > 1) ? "s" : "")}\nEsc to Cancel";
|
||||||
// DispText = "Esc Key to Cancel";
|
|
||||||
//} else {
|
|
||||||
// DispText = SelQX.ToString() + " by " + SelQY.ToString() + " Table";
|
|
||||||
//}
|
|
||||||
//DispText = SelQX.ToString() + " by " + SelQY.ToString() + " Table\nEsc Key to Cancel";
|
|
||||||
//DispText = SelQY.ToString() + " Row"+((SelQY>1)?"s by ":" by ") + SelQX.ToString() + " Column"+((SelQX>1)?"s\nEsc Key to Cancel":"\nEsc Key to Cancel");
|
|
||||||
DispText = SelQY.ToString() + " Row" + ((SelQY > 1) ? "s" : "") + " " + SelQX.ToString() + " Column" + ((SelQX > 1) ? "s" : "")+ "\nEsc to Cancel";
|
|
||||||
g.DrawString(DispText, DispFont, BlackBrush, 3, dispY + 2);
|
g.DrawString(DispText, DispFont, BlackBrush, 3, dispY + 2);
|
||||||
|
|
||||||
// Draw each of the squares and fill with the default color.
|
// Draw each of the squares and fill with the default color.
|
||||||
@@ -198,7 +127,6 @@ namespace Accentra.Controls
|
|||||||
// Go back and paint the squares with selection colors.
|
// Go back and paint the squares with selection colors.
|
||||||
for (int x=0; x<SelQX; x++) {
|
for (int x=0; x<SelQX; x++) {
|
||||||
for (int y=0; y<SelQY; y++) {
|
for (int y=0; y<SelQY; y++) {
|
||||||
//g.FillRectangle(BeigeBrush, (x*SquareX) + 3, (y*SquareY) + 3, SquareX - 2, SquareY - 2);
|
|
||||||
g.FillRectangle(Jbrush, (x * SquareX) + 3, (y * SquareY) + 3, SquareX - 2, SquareY - 2);
|
g.FillRectangle(Jbrush, (x * SquareX) + 3, (y * SquareY) + 3, SquareX - 2, SquareY - 2);
|
||||||
g.DrawRectangle(BluePen, (x * SquareX) + 3, (y * SquareY) + 3, SquareX - 2, SquareY - 2);
|
g.DrawRectangle(BluePen, (x * SquareX) + 3, (y * SquareY) + 3, SquareX - 2, SquareY - 2);
|
||||||
}
|
}
|
||||||
@@ -210,11 +138,6 @@ namespace Accentra.Controls
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void TablePicker_Deactivate(object sender, System.EventArgs e) {
|
private void TablePicker_Deactivate(object sender, System.EventArgs e) {
|
||||||
|
|
||||||
// bCancel = true
|
|
||||||
// and DialogResult = DialogResult.Cancel
|
|
||||||
// were previously already set in MouseLeave.
|
|
||||||
|
|
||||||
//this.Hide();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -242,42 +165,24 @@ namespace Accentra.Controls
|
|||||||
/// escaped (canceling) state.
|
/// escaped (canceling) state.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void TablePicker_MouseLeave(object sender, System.EventArgs e) {
|
private void TablePicker_MouseLeave(object sender, System.EventArgs e) {
|
||||||
//if (!bHiding) bCancel = true;
|
|
||||||
//this.DialogResult = DialogResult.Cancel;
|
|
||||||
//this.Invalidate();
|
|
||||||
if (this.DialogResult == DialogResult.None)
|
if (this.DialogResult == DialogResult.None)
|
||||||
this.DialogResult = DialogResult.Cancel;
|
this.DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Cancels the prior cancellation caused by MouseLeave.
|
/// Cancels the prior cancellation caused by MouseLeave.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void TablePicker_MouseEnter(object sender, System.EventArgs e) {
|
private void TablePicker_MouseEnter(object sender, System.EventArgs e) => this.Invalidate();
|
||||||
//bHiding = false;
|
|
||||||
//bCancel = false;
|
|
||||||
//this.DialogResult = DialogResult.OK;
|
|
||||||
this.Invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Detects that the user made a selection by clicking.
|
/// Detects that the user made a selection by clicking.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void TablePicker_Click(object sender, System.EventArgs e) {
|
private void TablePicker_Click(object sender, System.EventArgs e) => this.DialogResult = DialogResult.OK;
|
||||||
//bHiding = true; // Not the same as Visible == false
|
|
||||||
// // because bHiding suggests that the control
|
|
||||||
// // is still "active" (not canceled).
|
|
||||||
//this.Hide();
|
|
||||||
this.DialogResult = DialogResult.OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void TablePicker_KeyPress(object sender, KeyPressEventArgs e)
|
private void TablePicker_KeyPress(object sender, KeyPressEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.KeyChar == (char)Keys.Escape)
|
if (e.KeyChar == (char)Keys.Escape)
|
||||||
{
|
{
|
||||||
//bHiding = true; // Not the same as Visible == false
|
|
||||||
//// because bHiding suggests that the control
|
|
||||||
//// is still "active" (not canceled).
|
|
||||||
//this.Hide();
|
|
||||||
this.DialogResult = DialogResult.Cancel;
|
this.DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
@@ -24,7 +21,7 @@ namespace VEPROMS
|
|||||||
string connectionString = Database.VEPROMS_Connection;
|
string connectionString = Database.VEPROMS_Connection;
|
||||||
Match mServer = Regex.Match(connectionString, ".*Data Source=([^;]*).*");
|
Match mServer = Regex.Match(connectionString, ".*Data Source=([^;]*).*");
|
||||||
_SQLServerName = (mServer.Success) ? mServer.Groups[1].Value : "unknown";
|
_SQLServerName = (mServer.Success) ? mServer.Groups[1].Value : "unknown";
|
||||||
if (_SQLServerName.StartsWith(@".\")) _SQLServerName = @"Local \ " + _SQLServerName.Substring(2);
|
if (_SQLServerName.StartsWith(@".\")) _SQLServerName = $@"Local \ {_SQLServerName.Substring(2)}";
|
||||||
}
|
}
|
||||||
return _SQLServerName;
|
return _SQLServerName;
|
||||||
}
|
}
|
||||||
@@ -37,7 +34,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (_DatabaseName == null)
|
if (_DatabaseName == null)
|
||||||
{
|
{
|
||||||
_DatabaseName = string.Format("{0}[SQL:{1:yyMM.ddHH}]", Database.ActiveDatabase, Database.RevDate);
|
_DatabaseName = $"{Database.ActiveDatabase}[SQL:{Database.RevDate:yyMM.ddHH}]";
|
||||||
}
|
}
|
||||||
return _DatabaseName;
|
return _DatabaseName;
|
||||||
}
|
}
|
||||||
@@ -55,26 +52,16 @@ namespace VEPROMS
|
|||||||
DateTime buildDateTime = new System.IO.FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
|
DateTime buildDateTime = new System.IO.FileInfo(Assembly.GetExecutingAssembly().Location).LastWriteTime;
|
||||||
// If the AssemblyConfiguration is "DEMO" then we are running a Demo version
|
// If the AssemblyConfiguration is "DEMO" then we are running a Demo version
|
||||||
string demoTxt = VlnSettings.DemoMode ? "(Demo)": VlnSettings.DebugMode ? "(Debug)" : "(Production)";
|
string demoTxt = VlnSettings.DemoMode ? "(Demo)": VlnSettings.DebugMode ? "(Debug)" : "(Production)";
|
||||||
// C2018-015 made this information static so we can use in meta files
|
Text = $"About {AssemblyTitle} {demoTxt}";
|
||||||
//string connectionString = Database.VEPROMS_Connection;
|
labelProductName.Text = AssemblyProduct;
|
||||||
//Match mServer = Regex.Match(connectionString,".*Data Source=([^;]*).*");
|
labelVersion.Text = $"Version {AssemblyVersion}";
|
||||||
//string server = (mServer.Success)?mServer.Groups[1].Value:"unknown";
|
labelVersionDateTime.Text = $"Build Date: {buildDateTime}";
|
||||||
//if (server.StartsWith(@".\")) server = @"Local \ " + server.Substring(2);
|
labelCopyright.Text = $"Copyright © {buildDateTime.Year}. All Rights Reserved.";
|
||||||
//string databaseName = string.Format("{0}[SQL:{1:yyMM.ddHH}]", Database.ActiveDatabase, Database.RevDate);
|
labelCompanyName.Text = AssemblyCompany;
|
||||||
this.Text = String.Format("About {0}", AssemblyTitle + " " + demoTxt);
|
labelCompanyName.Links[0].LinkData = "Volian Enterprises Inc.";
|
||||||
this.labelProductName.Text = AssemblyProduct;
|
labelCompanyName.Links.Add(0,23,"www.volian.com");
|
||||||
this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
|
labelServer.Text = $"SQL Server: {SQLServerName}"; // C2018-015 use static for this info.
|
||||||
this.labelVersionDateTime.Text = String.Format("Build Date: {0}", buildDateTime.ToString());
|
labelDatabase.Text = $"Database: {DatabaseName}"; // C2018-015 use static for this info.
|
||||||
this.labelCopyright.Text = String.Format("Copyright © {0}. All Rights Reserved.", buildDateTime.Year.ToString());
|
|
||||||
this.labelCompanyName.Text = AssemblyCompany;
|
|
||||||
// this.textBoxDescription.Text = AssemblyDescription;
|
|
||||||
this.labelCompanyName.Links[0].LinkData = "Volian Enterprises Inc.";
|
|
||||||
this.labelCompanyName.Links.Add(0,23,"www.volian.com");
|
|
||||||
//this.labelServer.Text = string.Format("SQL Server: {0}", server);
|
|
||||||
this.labelServer.Text = string.Format("SQL Server: {0}", SQLServerName); // C2018-015 use static for this info.
|
|
||||||
//if (databaseName == null) databaseName = Regex.Replace(connectionString, "^.*Initial Catalog=([^;]*);.*$", "$1", RegexOptions.IgnoreCase);
|
|
||||||
//this.labelDatabase.Text = string.Format("Database: {0}", databaseName);
|
|
||||||
this.labelDatabase.Text = string.Format("Database: {0}", DatabaseName); // C2018-015 use static for this info.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Assembly Attribute Accessors
|
#region Assembly Attribute Accessors
|
||||||
@@ -99,24 +86,12 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string AssemblyVersion
|
public string AssemblyVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2018-009 used to print the PROMS version number at the top of each PDF page
|
// C2018-009 used to print the PROMS version number at the top of each PDF page
|
||||||
public static string PROMSVersion
|
public static string PROMSVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public string AssemblyDescription
|
public string AssemblyDescription
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -162,7 +137,7 @@ namespace VEPROMS
|
|||||||
private void labelCompanyName_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
private void labelCompanyName_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
{
|
{
|
||||||
// Determine which link was clicked within the LinkLabel.
|
// Determine which link was clicked within the LinkLabel.
|
||||||
this.labelCompanyName.Links[0].Visited = true;
|
labelCompanyName.Links[0].Visited = true;
|
||||||
|
|
||||||
// Display the appropriate link based on the value of the
|
// Display the appropriate link based on the value of the
|
||||||
// LinkData property of the Link object.
|
// LinkData property of the Link object.
|
||||||
@@ -171,18 +146,17 @@ namespace VEPROMS
|
|||||||
System.Diagnostics.Process.Start(target); // this should start the default web browser
|
System.Diagnostics.Process.Start(target); // this should start the default web browser
|
||||||
}
|
}
|
||||||
|
|
||||||
private void logoPictureBox_Click(object sender, EventArgs e)
|
private void logoPictureBox_Click(object sender, EventArgs e) => System.Diagnostics.Process.Start(labelCompanyName.Links[0].LinkData as string); // this should start the default web browser
|
||||||
{
|
|
||||||
System.Diagnostics.Process.Start(labelCompanyName.Links[0].LinkData as string); // this should start the default web browser
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnViewEULA_Click(object sender, EventArgs e)
|
private void btnViewEULA_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string EulaFile = string.Format(@"\{0}", VlnSettings.EULAfile);
|
string EulaFile = $@"\{VlnSettings.EULAfile}";
|
||||||
string strEULA = System.Environment.CurrentDirectory + EulaFile;
|
string strEULA = System.Environment.CurrentDirectory + EulaFile;
|
||||||
frmViewTextFile ViewFile = new frmViewTextFile(strEULA,RichTextBoxStreamType.PlainText);
|
frmViewTextFile ViewFile = new frmViewTextFile(strEULA, RichTextBoxStreamType.PlainText)
|
||||||
ViewFile.Text = "End-User License Agreement";
|
{
|
||||||
ViewFile.ShowDialog();
|
Text = "End-User License Agreement"
|
||||||
|
};
|
||||||
|
ViewFile.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using VEPROMS.CSLA.Library;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
|
||||||
{
|
|
||||||
public class BookMarks
|
|
||||||
{
|
|
||||||
public string Name;
|
|
||||||
public VETreeNode Node;
|
|
||||||
|
|
||||||
public BookMarks()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public BookMarks(string n, VETreeNode o)
|
|
||||||
{
|
|
||||||
Name = n;
|
|
||||||
Node = o;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BookMarks(VETreeNode o)
|
|
||||||
{
|
|
||||||
Name = o.Text;
|
|
||||||
Node = o;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return Name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
@@ -14,10 +9,7 @@ namespace VEPROMS
|
|||||||
// C2025-027 Annotation Type Filtering
|
// C2025-027 Annotation Type Filtering
|
||||||
public partial class dlgAnnotationsSelect : Form
|
public partial class dlgAnnotationsSelect : Form
|
||||||
{
|
{
|
||||||
public dlgAnnotationsSelect()
|
public dlgAnnotationsSelect() => InitializeComponent();
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
public dlgAnnotationsSelect(string userid)
|
public dlgAnnotationsSelect(string userid)
|
||||||
{
|
{
|
||||||
@@ -25,30 +17,13 @@ namespace VEPROMS
|
|||||||
UserID = userid;
|
UserID = userid;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int _MyItemID;
|
public int MyItemID { get; set; }
|
||||||
public int MyItemID
|
public string UserID { get; set; }
|
||||||
{
|
|
||||||
get { return _MyItemID; }
|
|
||||||
set { _MyItemID = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private string _UserID;
|
private void btnSelect_Click(object sender, EventArgs e) => MoveSelectedItems(lstUnselected, lstSelected);
|
||||||
public string UserID
|
|
||||||
{
|
|
||||||
get { return _UserID; }
|
|
||||||
set { _UserID = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnSelect_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
MoveSelectedItems(lstUnselected, lstSelected);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move selected items to lstUnselected.
|
// Move selected items to lstUnselected.
|
||||||
private void btnDeselect_Click(object sender, EventArgs e)
|
private void btnDeselect_Click(object sender, EventArgs e) => MoveSelectedItems(lstSelected, lstUnselected);
|
||||||
{
|
|
||||||
MoveSelectedItems(lstSelected, lstUnselected);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Move selected items from one ListBox to another.
|
// Move selected items from one ListBox to another.
|
||||||
private void MoveSelectedItems(ListBox lstFrom, ListBox lstTo)
|
private void MoveSelectedItems(ListBox lstFrom, ListBox lstTo)
|
||||||
@@ -90,39 +65,21 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Enable and disable buttons.
|
// Enable and disable buttons.
|
||||||
private void lst_SelectedIndexChanged(object sender, EventArgs e)
|
private void lst_SelectedIndexChanged(object sender, EventArgs e) => SetButtonsEditable();
|
||||||
{
|
|
||||||
SetButtonsEditable();
|
|
||||||
}
|
|
||||||
// Save selected list to DB.
|
// Save selected list to DB.
|
||||||
private void btnUpdate_Click(object sender, EventArgs e)
|
private void btnUpdate_Click(object sender, EventArgs e) => saveChanges();
|
||||||
{
|
|
||||||
saveChanges();
|
|
||||||
}
|
|
||||||
public class AnnotataionItem
|
public class AnnotataionItem
|
||||||
{
|
{
|
||||||
private string _NameStr;
|
private readonly string _NameStr;
|
||||||
private int _TypeID;
|
private readonly int _TypeID;
|
||||||
|
|
||||||
public AnnotataionItem(string NameStr, int TypeID)
|
public AnnotataionItem(string NameStr, int TypeID)
|
||||||
{
|
{
|
||||||
this._NameStr = NameStr;
|
_NameStr = NameStr;
|
||||||
this._TypeID = TypeID;
|
_TypeID = TypeID;
|
||||||
}
|
|
||||||
public string NameStr
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _NameStr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int TypeID
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _TypeID;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
public string NameStr => _NameStr;
|
||||||
|
public int TypeID => _TypeID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enable and disable buttons.
|
// Enable and disable buttons.
|
||||||
@@ -167,16 +124,16 @@ namespace VEPROMS
|
|||||||
if (result == DialogResult.Yes)
|
if (result == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
saveChanges();
|
saveChanges();
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,4 @@
|
|||||||
using System;
|
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 VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
@@ -16,19 +8,10 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
private bool _Cancel = true;
|
private bool _Cancel = true;
|
||||||
|
|
||||||
public bool Cancel
|
public bool Cancel => _Cancel;
|
||||||
{
|
|
||||||
get { return _Cancel; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool _ExitPROMS;
|
public bool ExitPROMS { get; set; }
|
||||||
|
public DlgCloseTabsOrExit(bool isMainWindow, bool hasChildWindows)
|
||||||
public bool ExitPROMS
|
|
||||||
{
|
|
||||||
get { return _ExitPROMS; }
|
|
||||||
set { _ExitPROMS = value; }
|
|
||||||
}
|
|
||||||
public DlgCloseTabsOrExit(bool isMainWindow, bool hasChildWindows)
|
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
if (!isMainWindow)
|
if (!isMainWindow)
|
||||||
@@ -46,22 +29,22 @@ namespace VEPROMS
|
|||||||
private void BtnClsTab_Click(object sender, EventArgs e)
|
private void BtnClsTab_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_Cancel = false;
|
_Cancel = false;
|
||||||
_ExitPROMS = false;
|
ExitPROMS = false;
|
||||||
this.Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BtnExitPROMS_Click(object sender, EventArgs e)
|
private void BtnExitPROMS_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_Cancel = false;
|
_Cancel = false;
|
||||||
_ExitPROMS = true;
|
ExitPROMS = true;
|
||||||
this.Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_Cancel = true;
|
_Cancel = true;
|
||||||
_ExitPROMS = false;
|
ExitPROMS = false;
|
||||||
this.Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,21 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Print.Library;
|
using Volian.Print.Library;
|
||||||
//using Volian.Controls.Library;
|
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
using JR.Utils.GUI.Forms;
|
using JR.Utils.GUI.Forms;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class DlgPrintProcedure : DevComponents.DotNetBar.Office2007Form
|
public partial class DlgPrintProcedure : DevComponents.DotNetBar.Office2007Form
|
||||||
{
|
{
|
||||||
public bool SaveLinks
|
public bool SaveLinks => swtbtnPDFLinks.Value;
|
||||||
{
|
public int RemoveTrailingHardReturnsAndManualPageBreaks
|
||||||
get
|
|
||||||
{
|
|
||||||
return swtbtnPDFLinks.Value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public int RemoveTrailingHardReturnsAndManualPageBreaks
|
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -36,38 +28,19 @@ namespace VEPROMS
|
|||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private string _Prefix = ""; // RHM20150506 Multiline ItemID TextBox
|
// RHM20150506 Multiline ItemID TextBox
|
||||||
public string Prefix
|
public string Prefix { get; set; } = "";
|
||||||
{
|
public bool OpenAfterCreate // RHM20150506 Multiline ItemID TextBox
|
||||||
get { return _Prefix; }
|
|
||||||
set { _Prefix = value; }
|
|
||||||
}
|
|
||||||
public bool OpenAfterCreate // RHM20150506 Multiline ItemID TextBox
|
|
||||||
{
|
{
|
||||||
get { return cbxOpenAfterCreate2.Checked; }
|
get { return cbxOpenAfterCreate2.Checked; }
|
||||||
set { cbxOpenAfterCreate2.Checked = value; }
|
set { cbxOpenAfterCreate2.Checked = value; }
|
||||||
}
|
}
|
||||||
private SessionInfo _MySessionInfo;
|
|
||||||
public SessionInfo MySessionInfo
|
|
||||||
{
|
|
||||||
get { return _MySessionInfo; }
|
|
||||||
set { _MySessionInfo = value; }
|
|
||||||
}
|
|
||||||
private bool _Automatic;
|
|
||||||
public bool Automatic
|
|
||||||
{
|
|
||||||
get { return _Automatic; }
|
|
||||||
set { _Automatic = value; }
|
|
||||||
}
|
|
||||||
private int _prtSectID = -1;
|
|
||||||
public int PrtSectID
|
|
||||||
{
|
|
||||||
get { return _prtSectID; }
|
|
||||||
set { _prtSectID = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool _OverwritePDF;
|
public SessionInfo MySessionInfo { get; set; }
|
||||||
public bool OverwritePDF
|
public bool Automatic { get; set; }
|
||||||
|
public int PrtSectID { get; set; } = -1;
|
||||||
|
|
||||||
|
public bool OverwritePDF
|
||||||
{
|
{
|
||||||
get { return cbxOverwritePDF2.Checked; }
|
get { return cbxOverwritePDF2.Checked; }
|
||||||
set { cbxOverwritePDF2.Checked = value; }
|
set { cbxOverwritePDF2.Checked = value; }
|
||||||
@@ -85,18 +58,17 @@ namespace VEPROMS
|
|||||||
swtbtnPDFdtPrefixSuffix.Value = swtbtnPDFdtPrefixSuffix.Enabled = _AllowDateTimePrefixSuffix;
|
swtbtnPDFdtPrefixSuffix.Value = swtbtnPDFdtPrefixSuffix.Enabled = _AllowDateTimePrefixSuffix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private DateTime _PrefixSuffixDTS = DateTime.Now; // C2018-033 date/time used for the date/time PDF file prefix and suffix
|
private readonly DateTime _PrefixSuffixDTS = DateTime.Now; // C2018-033 date/time used for the date/time PDF file prefix and suffix
|
||||||
private bool _DateTimePrefixSuffixPrintingAllProcedures = true; // C2018-033 to control adding the Date/Time Prefix/Suffix to PFD name when printing All procedures
|
private bool _DateTimePrefixSuffixPrintingAllProcedures = true; // C2018-033 to control adding the Date/Time Prefix/Suffix to PFD name when printing All procedures
|
||||||
private bool _IncludeWordSecTextInMetafile = true; // C2018-023 so that we can turn off including Word attachment text in metafile
|
private bool _IncludeWordSecTextInMetafile = true; // C2018-023 so that we can turn off including Word attachment text in metafile
|
||||||
private void RunAutomatic()
|
private void RunAutomatic()
|
||||||
{
|
{
|
||||||
cbxDebugPagination.Checked = true;
|
cbxDebugPagination.Checked = true;
|
||||||
cbxDebugText.Checked = true;
|
cbxDebugText.Checked = true;
|
||||||
cbxMetaFile.Checked = true; // C2018-004 create meta file for baseline compares
|
cbxMetaFile.Checked = true; // C2018-004 create meta file for baseline compares
|
||||||
_IncludeWordSecTextInMetafile = true;
|
_IncludeWordSecTextInMetafile = true;
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
string[] parameters = System.Environment.CommandLine.Split(" ".ToCharArray());
|
string[] parameters = System.Environment.CommandLine.Split(" ".ToCharArray());
|
||||||
bool ranAuto = false;
|
|
||||||
foreach (string parameter in parameters)
|
foreach (string parameter in parameters)
|
||||||
{
|
{
|
||||||
if (parameter.ToUpper() == "/NT")
|
if (parameter.ToUpper() == "/NT")
|
||||||
@@ -111,11 +83,11 @@ namespace VEPROMS
|
|||||||
_IncludeWordSecTextInMetafile = false; // C2018-023 turn off putting Word attachment text in the meta file for baseline compares
|
_IncludeWordSecTextInMetafile = false; // C2018-023 turn off putting Word attachment text in the meta file for baseline compares
|
||||||
}
|
}
|
||||||
CreatePDFs();
|
CreatePDFs();
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
private DocVersionInfo _DocVersionInfo = null;
|
private readonly DocVersionInfo _DocVersionInfo = null;
|
||||||
private bool _AllProcedures;
|
private readonly bool _AllProcedures;
|
||||||
private DocVersionConfig _DocVersionConfig;
|
private readonly DocVersionConfig _DocVersionConfig;
|
||||||
public string RevNum
|
public string RevNum
|
||||||
{
|
{
|
||||||
get { return txbRevNum.Text; }
|
get { return txbRevNum.Text; }
|
||||||
@@ -143,11 +115,8 @@ namespace VEPROMS
|
|||||||
return RevNum + "/" + RevDate;
|
return RevNum + "/" + RevDate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public string ProcNum
|
public string ProcNum => MyProcedure.DisplayNumber;
|
||||||
{
|
public string PDFPath
|
||||||
get { return MyProcedure.DisplayNumber; }
|
|
||||||
}
|
|
||||||
public string PDFPath
|
|
||||||
{
|
{
|
||||||
get {// B2018-069 Revert to Temporary for Baseline testing
|
get {// B2018-069 Revert to Temporary for Baseline testing
|
||||||
if (PromsPrinter.BaselineTesting)
|
if (PromsPrinter.BaselineTesting)
|
||||||
@@ -179,7 +148,7 @@ namespace VEPROMS
|
|||||||
private bool _CreateButtonClicked = false; // B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
private bool _CreateButtonClicked = false; // B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
||||||
public DlgPrintProcedure(DocVersionInfo dvi, bool automatic)
|
public DlgPrintProcedure(DocVersionInfo dvi, bool automatic)
|
||||||
{
|
{
|
||||||
_Automatic = automatic;
|
Automatic = automatic;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_AllProcedures = true;
|
_AllProcedures = true;
|
||||||
_DocVersionConfig = dvi.DocVersionConfig;
|
_DocVersionConfig = dvi.DocVersionConfig;
|
||||||
@@ -201,14 +170,12 @@ namespace VEPROMS
|
|||||||
btnCreatePDF.Text = "Create PDFs";
|
btnCreatePDF.Text = "Create PDFs";
|
||||||
HandleDocVersionSettings();
|
HandleDocVersionSettings();
|
||||||
PrepForAllOrOne(false);
|
PrepForAllOrOne(false);
|
||||||
// don't open all PDFs if doing All Procedures
|
|
||||||
//cbxOpenAfterCreate2.Checked = dvi.DocVersionConfig.Print_AlwaysViewPDFAfterCreate;
|
|
||||||
// C2018-033 added the Prefix / Suffix switch to the expand Additional Settings check
|
// C2018-033 added the Prefix / Suffix switch to the expand Additional Settings check
|
||||||
expPrnSetting.Expanded = swtbtnBlankPgsForDuplex.Value || swtbtnChgBar.Value || swtbtnGeneratePlacekeeper.Value || swtbtnPDFLinks.Value || swtbtnPROMSVersion.Value || swtbtnWaterMark.Value || swtbtnPDFdtPrefixSuffix.Value;
|
expPrnSetting.Expanded = swtbtnBlankPgsForDuplex.Value || swtbtnChgBar.Value || swtbtnGeneratePlacekeeper.Value || swtbtnPDFLinks.Value || swtbtnPROMSVersion.Value || swtbtnWaterMark.Value || swtbtnPDFdtPrefixSuffix.Value;
|
||||||
}
|
}
|
||||||
public DlgPrintProcedure(DocVersionInfo dvi)
|
public DlgPrintProcedure(DocVersionInfo dvi)
|
||||||
{
|
{
|
||||||
_Automatic = false;
|
Automatic = false;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_AllProcedures = true;
|
_AllProcedures = true;
|
||||||
_DocVersionConfig = dvi.DocVersionConfig;
|
_DocVersionConfig = dvi.DocVersionConfig;
|
||||||
@@ -249,21 +216,12 @@ namespace VEPROMS
|
|||||||
// C2021-063 make the Generate Alarm Point List text checkbox visable in the format flag is set.
|
// C2021-063 make the Generate Alarm Point List text checkbox visable in the format flag is set.
|
||||||
cbxAlmPtTxt.Visible = !oneProcedure && MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.ChkBoxToGeneratePointListText;
|
cbxAlmPtTxt.Visible = !oneProcedure && MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.ChkBoxToGeneratePointListText;
|
||||||
}
|
}
|
||||||
private string _UnitNumber;
|
|
||||||
public string UnitNumber
|
|
||||||
{
|
|
||||||
get { return _UnitNumber; }
|
|
||||||
set { _UnitNumber = value; }
|
|
||||||
}
|
|
||||||
private int _UnitIndex;
|
|
||||||
public int UnitIndex
|
|
||||||
{
|
|
||||||
get { return _UnitIndex; }
|
|
||||||
set { _UnitIndex = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2018-012 - Code Cleanup - redesigned the Print Dialog to include a sliding panel and remplaced check boxes with ON/OFF switches
|
public string UnitNumber { get; set; }
|
||||||
public DlgPrintProcedure(ProcedureInfo pi)
|
public int UnitIndex { get; set; }
|
||||||
|
|
||||||
|
// C2018-012 - Code Cleanup - redesigned the Print Dialog to include a sliding panel and remplaced check boxes with ON/OFF switches
|
||||||
|
public DlgPrintProcedure(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_AllProcedures = false;
|
_AllProcedures = false;
|
||||||
@@ -354,31 +312,9 @@ namespace VEPROMS
|
|||||||
swtbtnWaterMark.Value = false;
|
swtbtnWaterMark.Value = false;
|
||||||
else
|
else
|
||||||
swtbtnWaterMark.Value = true;
|
swtbtnWaterMark.Value = true;
|
||||||
// Auto Duplexing on/off - Auto duplex was used only by Point Beach formats These buttons were removed from the dialog
|
|
||||||
// There was not print coding to support this format flag
|
|
||||||
|
|
||||||
//if ((_MyProcedure.ActiveParent as DocVersionInfo).ActiveFormat.PlantFormat.FormatData.PrintData.AllowDuplex)
|
|
||||||
//{
|
|
||||||
// lblAutoDuplexing.Visible = true;
|
|
||||||
// btnDuplxOff.Visible = true;
|
|
||||||
// btnDuplxOn.Visible = true;
|
|
||||||
// if (_DocVersionConfig.Print_DisableDuplex)
|
|
||||||
// btnDuplxOff.PerformClick();
|
|
||||||
// else
|
|
||||||
// btnDuplxOn.PerformClick();
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// lblAutoDuplexing.Visible = false;
|
|
||||||
// btnDuplxOff.Visible = false;
|
|
||||||
// btnDuplxOn.Visible = false;
|
|
||||||
//}
|
|
||||||
SetCompareVisibility();
|
SetCompareVisibility();
|
||||||
|
cbxOrPgBrk.Visible = false; //per Harry
|
||||||
// default to using OriginalPageBreaks (16bit page breaks) if App.config is set
|
|
||||||
// to true:
|
|
||||||
//cbxOrPgBrk.Visible = VlnSettings.OriginalPageBreak && VlnSettings.DebugMode;
|
|
||||||
cbxOrPgBrk.Visible = false; //per Harry
|
|
||||||
cbxOrPgBrk.Checked = false;
|
cbxOrPgBrk.Checked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -416,13 +352,7 @@ namespace VEPROMS
|
|||||||
private Timer _MyTimer;
|
private Timer _MyTimer;
|
||||||
public void SetupForProcedure() // RHM20150506 Multiline ItemID TextBox
|
public void SetupForProcedure() // RHM20150506 Multiline ItemID TextBox
|
||||||
{
|
{
|
||||||
if(_DocVersionInfo == null)this.Text = "Create PDF for " + ProcNum;
|
if(_DocVersionInfo == null)Text = "Create PDF for " + ProcNum;
|
||||||
// get list of previous pdf files
|
|
||||||
// if no previous pdf file, then get path from frmVersionProperties
|
|
||||||
// dlgSelectFile.InitialDirectory = pdf path from frmVersionProperties
|
|
||||||
//cbxPDF.Text = string.Format(@"{0}\{1}.pdf", _PDFPath, _ProcNum);
|
|
||||||
// General 2 settings
|
|
||||||
//txbPDFLocation.Text = _PDFPath;
|
|
||||||
BuildPDFFileName();
|
BuildPDFFileName();
|
||||||
ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig;
|
ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig;
|
||||||
// C2025-033 set which Child procedure is being printed used for PageStyle items
|
// C2025-033 set which Child procedure is being printed used for PageStyle items
|
||||||
@@ -434,7 +364,7 @@ namespace VEPROMS
|
|||||||
if (pc != null)
|
if (pc != null)
|
||||||
{
|
{
|
||||||
//C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config
|
//C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config
|
||||||
RevNum = (_NewRevForAllProcs == null) ? pc.Print_Rev : _NewRevForAllProcs;
|
RevNum = _NewRevForAllProcs ?? pc.Print_Rev;
|
||||||
RevDate = pc.Print_RevDate; //== null || pc.Print_RevDate=="" ? DateTime.Today : Convert.ToDateTime(pc.Print_RevDate);
|
RevDate = pc.Print_RevDate; //== null || pc.Print_RevDate=="" ? DateTime.Today : Convert.ToDateTime(pc.Print_RevDate);
|
||||||
ReviewDate = pc.Print_ReviewDate; // == null ? DateTime.Today : Convert.ToDateTime(pc.Print_ReviewDate);
|
ReviewDate = pc.Print_ReviewDate; // == null ? DateTime.Today : Convert.ToDateTime(pc.Print_ReviewDate);
|
||||||
//Now check the format flags to determine if/how the Rev string should be parsed.
|
//Now check the format flags to determine if/how the Rev string should be parsed.
|
||||||
@@ -498,11 +428,6 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
swtbtnWaterMark.Value = false; // set to None at folder level so set Watermark switch to the off position
|
swtbtnWaterMark.Value = false; // set to None at folder level so set Watermark switch to the off position
|
||||||
|
|
||||||
//ppCmbxChgBarPos.DataSource = EnumDetail<PrintChangeBarLoc>.Details();
|
|
||||||
//ppCmbxChgBarPos.DisplayMember = "Description";
|
|
||||||
//ppCmbxChgBarPos.ValueMember = "EValue";
|
|
||||||
//ppCmbxChgBarPos.SelectedIndex = (int)MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarLoc;
|
|
||||||
|
|
||||||
ppCmbxChgBarTxtType.DataSource = EnumDetail<PrintChangeBarText>.Details();
|
ppCmbxChgBarTxtType.DataSource = EnumDetail<PrintChangeBarText>.Details();
|
||||||
ppCmbxChgBarTxtType.DisplayMember = "Description";
|
ppCmbxChgBarTxtType.DisplayMember = "Description";
|
||||||
ppCmbxChgBarTxtType.ValueMember = "EValue";
|
ppCmbxChgBarTxtType.ValueMember = "EValue";
|
||||||
@@ -515,7 +440,7 @@ namespace VEPROMS
|
|||||||
bool usesRevDate = _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate || _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash;
|
bool usesRevDate = _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate || _MyProcedure.ActiveFormat.PlantFormat.FormatData.PrintData.RevDateWithForwardSlash;
|
||||||
if (_MyProcedure.Sections != null)
|
if (_MyProcedure.Sections != null)
|
||||||
{
|
{
|
||||||
foreach (SectionInfo mysection in _MyProcedure.Sections)
|
foreach (SectionInfo mysection in _MyProcedure.Sections.OfType<SectionInfo>())
|
||||||
hasReviewDate |= mysection.ActiveFormat.PlantFormat.HasPageListToken("{REVIEWDATE}");
|
hasReviewDate |= mysection.ActiveFormat.PlantFormat.HasPageListToken("{REVIEWDATE}");
|
||||||
}
|
}
|
||||||
// Only the New HLP format and the MYA format use this
|
// Only the New HLP format and the MYA format use this
|
||||||
@@ -535,9 +460,8 @@ namespace VEPROMS
|
|||||||
if (MyProcedure == null) return;
|
if (MyProcedure == null) return;
|
||||||
string PDFFilePrefix = _DocVersionConfig.Print_PDFFilePrefix;
|
string PDFFilePrefix = _DocVersionConfig.Print_PDFFilePrefix;
|
||||||
string PDFFileSuffix = _DocVersionConfig.Print_PDFFileSuffix;
|
string PDFFileSuffix = _DocVersionConfig.Print_PDFFileSuffix;
|
||||||
string PDFFileName = "";
|
PDFDTPrefix dtPre = _DocVersionConfig.Print_PDFdtFilePrefix;
|
||||||
PDFDTPrefix dtPre = _DocVersionConfig.Print_PDFdtFilePrefix;
|
PDFDTSuffix dtSuf = _DocVersionConfig.Print_PDFdtFileSuffix;
|
||||||
PDFDTSuffix dtSuf = _DocVersionConfig.Print_PDFdtFileSuffix;
|
|
||||||
if (dtPre != PDFDTPrefix.None) PDFFilePrefix = ""; // incase user entered prefix text but then selected a date/time (in working draft properties)
|
if (dtPre != PDFDTPrefix.None) PDFFilePrefix = ""; // incase user entered prefix text but then selected a date/time (in working draft properties)
|
||||||
if (dtSuf != PDFDTSuffix.None) PDFFileSuffix = ""; // incase user entered suffix text but then selected a date/time (in working draft properties)
|
if (dtSuf != PDFDTSuffix.None) PDFFileSuffix = ""; // incase user entered suffix text but then selected a date/time (in working draft properties)
|
||||||
// B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
// B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
||||||
@@ -556,19 +480,17 @@ namespace VEPROMS
|
|||||||
if (dtSuf != PDFDTSuffix.None)
|
if (dtSuf != PDFDTSuffix.None)
|
||||||
PDFFileSuffix = "_" + (_PrefixSuffixDTS.ToString(dtSuf.ToString())).Replace("__", " ").Replace("_", "-");
|
PDFFileSuffix = "_" + (_PrefixSuffixDTS.ToString(dtSuf.ToString())).Replace("__", " ").Replace("_", "-");
|
||||||
}
|
}
|
||||||
if (ProcNum == string.Empty)
|
string PDFFileName;
|
||||||
//txbPDFName.Text = this.UnitNumber + ".pdf";
|
if (ProcNum == string.Empty)
|
||||||
PDFFileName = this.UnitNumber;
|
PDFFileName = UnitNumber;
|
||||||
else
|
else
|
||||||
//txbPDFName.Text = string.Format("{0}.pdf", _MyProcedure.PDFNumber);
|
PDFFileName = string.Format("{0}", _MyProcedure.PDFNumber);
|
||||||
PDFFileName = string.Format("{0}", _MyProcedure.PDFNumber);
|
|
||||||
//if (txbPDFName.Text.StartsWith("*"))
|
if ((PDFFileName ?? "") == "") PDFFileName = "NoProcNumber";
|
||||||
// txbPDFName.Text = txbPDFName.Text.Replace("*", this.UnitNumber);
|
|
||||||
if ((PDFFileName ?? "") == "") PDFFileName = "NoProcNumber";
|
|
||||||
if (PDFFileName.StartsWith("*"))
|
if (PDFFileName.StartsWith("*"))
|
||||||
PDFFileName = PDFFileName.Replace("*", this.UnitNumber);
|
PDFFileName = PDFFileName.Replace("*", UnitNumber);
|
||||||
if (PDFFileName.Contains("?")) PDFFileName = PDFFileName.Replace("?", "_"); // for wcn sys/BM-2xxA??, etc
|
if (PDFFileName.Contains("?")) PDFFileName = PDFFileName.Replace("?", "_"); // for wcn sys/BM-2xxA??, etc
|
||||||
txbPDFName.Text = PDFFilePrefix + PDFFileName + PDFFileSuffix + ".pdf";
|
txbPDFName.Text = $"{PDFFilePrefix}{PDFFileName}{PDFFileSuffix}.pdf";
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2018-033 Enable/disable the switch to control whether to add Prefix and/or Suffix to PDF file name
|
// C2018-033 Enable/disable the switch to control whether to add Prefix and/or Suffix to PDF file name
|
||||||
@@ -585,12 +507,9 @@ namespace VEPROMS
|
|||||||
swtbtnPDFdtPrefixSuffix.Enabled = hasPrefixSuffix;
|
swtbtnPDFdtPrefixSuffix.Enabled = hasPrefixSuffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void swtbtnChgBar_ValueChanged(object sender, EventArgs e)
|
private void swtbtnChgBar_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// C2019-031 - disable the override change bar grouping when default change bar is set to format default or no change bar
|
// C2019-031 - disable the override change bar grouping when default change bar is set to format default or no change bar
|
||||||
cbxOvrrideDefChgBars.Checked = false; // uncheck the override change bar check box inside the grouping
|
cbxOvrrideDefChgBars.Checked = false; // uncheck the override change bar check box inside the grouping
|
||||||
@@ -714,7 +633,7 @@ namespace VEPROMS
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (MySessionInfo != null)
|
if (MySessionInfo != null)
|
||||||
{
|
{
|
||||||
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures)
|
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (!MySessionInfo.CanCheckOutItem(myProc.ItemID, CheckOutType.Procedure, ref message))
|
if (!MySessionInfo.CanCheckOutItem(myProc.ItemID, CheckOutType.Procedure, ref message))
|
||||||
@@ -742,15 +661,14 @@ namespace VEPROMS
|
|||||||
pbPDFsStatus.Maximum = n;
|
pbPDFsStatus.Maximum = n;
|
||||||
pbPDFsStatus.Visible = true;
|
pbPDFsStatus.Visible = true;
|
||||||
VlnSvgPageHelper.CountInApplProcs = 1; // B2021-127: BNPPalr - Auto set of serial #, skip Front Matter as per PAL 11/1/21 (set to 1 not 0)
|
VlnSvgPageHelper.CountInApplProcs = 1; // B2021-127: BNPPalr - Auto set of serial #, skip Front Matter as per PAL 11/1/21 (set to 1 not 0)
|
||||||
this.Text = string.Format("Processing {0}", _DocVersionInfo.MyFolder.Name);
|
Text = string.Format("Processing {0}", _DocVersionInfo.MyFolder.Name);
|
||||||
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures)
|
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
string locpdfname = null; // get pdf file name for later merge code
|
string locpdfname = null; // get pdf file name for later merge code
|
||||||
MyProcedure = myProc;
|
MyProcedure = myProc;
|
||||||
// C2021-019: Override Watermark Text, 'waterMarkText' will have whatever watermark text should be printed
|
// C2021-019: Override Watermark Text, 'waterMarkText' will have whatever watermark text should be printed
|
||||||
ProcedureConfig procConfig = MyProcedure.MyConfig as ProcedureConfig;
|
string waterMarkTextOverride = "";
|
||||||
string waterMarkTextOverride = "";
|
if (MyProcedure.MyConfig is ProcedureConfig procConfig) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE");
|
||||||
if (procConfig != null) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE");
|
|
||||||
// C2020-002 paper size is now set in the format files - default is Letter
|
// C2020-002 paper size is now set in the format files - default is Letter
|
||||||
Volian.Print.Library.Rtf2Pdf.PaperSize = myProc.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize;
|
Volian.Print.Library.Rtf2Pdf.PaperSize = myProc.ActiveFormat.PlantFormat.FormatData.PDFPageSize.PaperSize;
|
||||||
if (myProc.Sections != null)
|
if (myProc.Sections != null)
|
||||||
@@ -772,13 +690,6 @@ namespace VEPROMS
|
|||||||
pbPDFsStatus.TextVisible = true;
|
pbPDFsStatus.TextVisible = true;
|
||||||
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
||||||
pbPDFsStatus.Value = i;
|
pbPDFsStatus.Value = i;
|
||||||
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
||||||
|
|
||||||
// B2021-102 we now get this information in frmPDFStatusForm()
|
|
||||||
//MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
||||||
// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
|
||||||
//if (BaselineMetaFile.IsOpen && i == 1) BaselineMetaFile.WriteLine("!! {0}", MyProcedure.SearchDVPath.Replace("\a", " | "));
|
|
||||||
//if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
|
|
||||||
|
|
||||||
string myPDFPath = GetMultiunitPDFPath();
|
string myPDFPath = GetMultiunitPDFPath();
|
||||||
_MergedPdfPath = myPDFPath; // If Slave, need its subdirectory/unit path for merging
|
_MergedPdfPath = myPDFPath; // If Slave, need its subdirectory/unit path for merging
|
||||||
@@ -814,14 +725,7 @@ namespace VEPROMS
|
|||||||
pbPDFsStatus.TextVisible = true;
|
pbPDFsStatus.TextVisible = true;
|
||||||
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
||||||
pbPDFsStatus.Value = i;
|
pbPDFsStatus.Value = i;
|
||||||
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
||||||
|
|
||||||
// B2021-102 we now get this information in frmPDFStatusForm()
|
|
||||||
//MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
||||||
// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
|
||||||
//if (BaselineMetaFile.IsOpen && i == 1) BaselineMetaFile.WriteLine("!! {0}", MyProcedure.SearchDVPath.Replace("\a", " | "));
|
|
||||||
//if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
|
|
||||||
|
|
||||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
||||||
// B2016-249 Output Procedure to folder associated with Parent Child
|
// B2016-249 Output Procedure to folder associated with Parent Child
|
||||||
// B2021-102 put in the using for better memory management
|
// B2021-102 put in the using for better memory management
|
||||||
@@ -850,18 +754,9 @@ namespace VEPROMS
|
|||||||
pbPDFsStatus.TextVisible = true;
|
pbPDFsStatus.TextVisible = true;
|
||||||
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
||||||
pbPDFsStatus.Value = i;
|
pbPDFsStatus.Value = i;
|
||||||
// this.Text = string.Format("Create PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
|
||||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
||||||
int profileDepth1 = ProfileTimer.Push(">>>> GetItemAndChildren");
|
int profileDepth1 = ProfileTimer.Push(">>>> GetItemAndChildren");
|
||||||
// B2021-102 we now get this information in frmPDFStatusForm()
|
|
||||||
//if (MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseTransitionModifier || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseSpecificTransitionModifier)
|
|
||||||
// MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
||||||
//else
|
|
||||||
// MyProcedure = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID);
|
|
||||||
//// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
|
||||||
//if (BaselineMetaFile.IsOpen && i == 1) BaselineMetaFile.WriteLine("!! {0}", MyProcedure.SearchDVPath.Replace("\a", " | "));
|
|
||||||
//if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
|
|
||||||
|
|
||||||
ProfileTimer.Pop(profileDepth1);
|
ProfileTimer.Pop(profileDepth1);
|
||||||
// B2021-102 put in the using for better memory management
|
// B2021-102 put in the using for better memory management
|
||||||
// B2016-249 Output Procedure to folder associated with Parent Child
|
// B2016-249 Output Procedure to folder associated with Parent Child
|
||||||
@@ -934,12 +829,12 @@ namespace VEPROMS
|
|||||||
private void CreateDebugFiles()
|
private void CreateDebugFiles()
|
||||||
{
|
{
|
||||||
if (cbxDebugPagination.Checked)
|
if (cbxDebugPagination.Checked)
|
||||||
Volian.Base.Library.DebugPagination.Open(PDFPath + "\\DebugPagination.txt"); // RHM 20120925 Corrected spelling
|
Volian.Base.Library.DebugPagination.Open($"{PDFPath}\\DebugPagination.txt"); // RHM 20120925 Corrected spelling
|
||||||
if (cbxDebugText.Checked)
|
if (cbxDebugText.Checked)
|
||||||
Volian.Base.Library.DebugText.Open(PDFPath + "\\DebugText.txt");
|
Volian.Base.Library.DebugText.Open($"{PDFPath}\\DebugText.txt");
|
||||||
if (cbxMetaFile.Checked) // C2018-004 create meta file for baseline compares
|
if (cbxMetaFile.Checked) // C2018-004 create meta file for baseline compares
|
||||||
{
|
{
|
||||||
Volian.Base.Library.BaselineMetaFile.Open(PDFPath + "\\DebugMeta.txt");
|
Volian.Base.Library.BaselineMetaFile.Open($"{PDFPath}\\DebugMeta.txt");
|
||||||
// C2018-015 add the PROMS Version, SQL Server, and Database to top of the meta file
|
// C2018-015 add the PROMS Version, SQL Server, and Database to top of the meta file
|
||||||
Volian.Base.Library.BaselineMetaFile.WriteLine("!! Ver {0} {1} {2}", AboutVEPROMS.PROMSVersion, AboutVEPROMS.SQLServerName, AboutVEPROMS.DatabaseName);
|
Volian.Base.Library.BaselineMetaFile.WriteLine("!! Ver {0} {1} {2}", AboutVEPROMS.PROMSVersion, AboutVEPROMS.SQLServerName, AboutVEPROMS.DatabaseName);
|
||||||
// C2018-023 set as to whether we are going to include the Word attment text in the baseline metafile
|
// C2018-023 set as to whether we are going to include the Word attment text in the baseline metafile
|
||||||
@@ -975,7 +870,7 @@ namespace VEPROMS
|
|||||||
if (MyProcedure.MyDocVersion.MultiUnitCount > 1)
|
if (MyProcedure.MyDocVersion.MultiUnitCount > 1)
|
||||||
{
|
{
|
||||||
VlnSvgPageHelper.CountInApplProcs = 1;
|
VlnSvgPageHelper.CountInApplProcs = 1;
|
||||||
foreach (ProcedureInfo pi in MyProcedure.MyDocVersion.Procedures)
|
foreach (ProcedureInfo pi in MyProcedure.MyDocVersion.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
if (pi.ItemID == MyProcedure.ItemID) break;
|
if (pi.ItemID == MyProcedure.ItemID) break;
|
||||||
bool includeProc = pi.ApplInclude(SelectedSlave);
|
bool includeProc = pi.ApplInclude(SelectedSlave);
|
||||||
@@ -991,24 +886,14 @@ namespace VEPROMS
|
|||||||
string waterMarkText = (swtbtnWaterMark.Value) ? cbxWaterMark.Text : "None" ; // B2018-124 use text of watermark form drop down list instead of enum value
|
string waterMarkText = (swtbtnWaterMark.Value) ? cbxWaterMark.Text : "None" ; // B2018-124 use text of watermark form drop down list instead of enum value
|
||||||
string watermarkColor = "Blue"; // this is the default watermark color
|
string watermarkColor = "Blue"; // this is the default watermark color
|
||||||
frmPDFStatusForm.SetUnitWatermark(MyProcedure, ref waterMarkText, ref watermarkColor); //C2022-004 Unit Designator Watermark
|
frmPDFStatusForm.SetUnitWatermark(MyProcedure, ref waterMarkText, ref watermarkColor); //C2022-004 Unit Designator Watermark
|
||||||
ProcedureConfig procConfig = MyProcedure.MyConfig as ProcedureConfig;
|
string waterMarkTextOverride = "";
|
||||||
string waterMarkTextOverride = "";
|
if (MyProcedure.MyConfig is ProcedureConfig procConfig) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE"); // C2021-019: override watermark text
|
||||||
if (procConfig != null) waterMarkTextOverride = procConfig.GetValue("PSI", "WATERMARKOVERRIDE"); // C2021-019: override watermark text
|
|
||||||
if (swtbtnWaterMark.Value && waterMarkTextOverride != null && waterMarkTextOverride != "") waterMarkText = waterMarkTextOverride;
|
if (swtbtnWaterMark.Value && waterMarkTextOverride != null && waterMarkTextOverride != "") waterMarkText = waterMarkTextOverride;
|
||||||
// Determine change bar settings. First get from config & then see if override from dialog.
|
// Determine change bar settings. First get from config & then see if override from dialog.
|
||||||
// Also check that format allows override.
|
// Also check that format allows override.
|
||||||
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
||||||
int profileDepth2 = ProfileTimer.Push(">>>> CreatePdf.GetItemAndChildren");
|
int profileDepth2 = ProfileTimer.Push(">>>> CreatePdf.GetItemAndChildren");
|
||||||
|
|
||||||
// B2021-088 moved this if/else to frmPDFStatusForm() so that the Approval logic will have access to this logic
|
|
||||||
//if (MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave > 0 || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseTransitionModifier || MyProcedure.ActiveFormat.PlantFormat.FormatData.TransData.UseSpecificTransitionModifier)
|
|
||||||
// MyProcedure = ProcedureInfo.GetItemAndChildrenByUnit(MyProcedure.ItemID, 0, MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave);
|
|
||||||
//else
|
|
||||||
// MyProcedure = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID);
|
|
||||||
// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
|
||||||
//if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0}", MyProcedure.SearchDVPath.Replace("\a"," | "));
|
|
||||||
//if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
|
|
||||||
|
|
||||||
// B2022-088: Find Doc Ro button not working in Word Sections
|
// B2022-088: Find Doc Ro button not working in Word Sections
|
||||||
// Initialize Print Cache
|
// Initialize Print Cache
|
||||||
MSWordToPDF.RoPrintCache = new Dictionary<string, ROFSTLookup.rochild>();
|
MSWordToPDF.RoPrintCache = new Dictionary<string, ROFSTLookup.rochild>();
|
||||||
@@ -1045,7 +930,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
MyProcedure.SelectedChildToPrint = 0; // B2023-035 reset
|
MyProcedure.SelectedChildToPrint = 0; // B2023-035 reset
|
||||||
this.Close();
|
Close();
|
||||||
ShowDebugFiles();
|
ShowDebugFiles();
|
||||||
ProfileTimer.Pop(profileDepth);
|
ProfileTimer.Pop(profileDepth);
|
||||||
ProfileTimer.ShowTimerTable();
|
ProfileTimer.ShowTimerTable();
|
||||||
@@ -1121,22 +1006,19 @@ namespace VEPROMS
|
|||||||
DoCreatePDF();
|
DoCreatePDF();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void QPCreatePDF()
|
public void QPCreatePDF() => DoCreatePDF();
|
||||||
{
|
|
||||||
DoCreatePDF();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DoCreatePDF()
|
private void DoCreatePDF()
|
||||||
{
|
{
|
||||||
if (_AllProcedures)
|
if (_AllProcedures)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime dtStart = DateTime.Now;
|
DateTime dtStart = DateTime.Now;
|
||||||
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
||||||
PromsPrinter.ClearTransPageNumProblems();
|
PromsPrinter.ClearTransPageNumProblems();
|
||||||
CreatePDFs();
|
CreatePDFs();
|
||||||
PromsPrinter.ReportTransPageNumProblems();
|
PromsPrinter.ReportTransPageNumProblems();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
if (_MergedPfd == null)
|
if (_MergedPfd == null)
|
||||||
{
|
{
|
||||||
if (VlnSettings.DebugMode)
|
if (VlnSettings.DebugMode)
|
||||||
@@ -1149,7 +1031,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MessageBox.Show("Completed Successfully", "Print All Procedures", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("Completed Successfully", "Print All Procedures", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1158,14 +1040,14 @@ namespace VEPROMS
|
|||||||
// B2017-009 If the selected item is null don't add a folder
|
// B2017-009 If the selected item is null don't add a folder
|
||||||
if (cbxMultiunitPdfLocation.SelectedItem != null)
|
if (cbxMultiunitPdfLocation.SelectedItem != null)
|
||||||
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
_MultiunitPdfLocation = cbxMultiunitPdfLocation.SelectedItem.ToString();
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
_CreateButtonClicked = true; // B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
_CreateButtonClicked = true; // B2020-062 control the toggle of date/time prefix/suffix on pdf file name
|
||||||
CreatePDF();
|
CreatePDF();
|
||||||
_CreateButtonClicked = false;
|
_CreateButtonClicked = false;
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private bool _Initializing = false;
|
private readonly bool _Initializing = false;
|
||||||
|
|
||||||
private void btnPdfLocation_Click(object sender, EventArgs e)
|
private void btnPdfLocation_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1191,12 +1073,9 @@ namespace VEPROMS
|
|||||||
ppTxbxChangeBarUserMsgOne.Enabled = enabled;
|
ppTxbxChangeBarUserMsgOne.Enabled = enabled;
|
||||||
ppTxbxChangeBarUserMsgTwo.Enabled = enabled;
|
ppTxbxChangeBarUserMsgTwo.Enabled = enabled;
|
||||||
}
|
}
|
||||||
private void cbxOvrrideDefChgBars_CheckStateChanged(object sender, EventArgs e)
|
private void cbxOvrrideDefChgBars_CheckStateChanged(object sender, EventArgs e) => SetCustomControls(cbxOvrrideDefChgBars.Checked);
|
||||||
{
|
|
||||||
SetCustomControls(cbxOvrrideDefChgBars.Checked);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void rbCustom_Click(object sender, EventArgs e)
|
private void rbCustom_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SetCustomControls(true);
|
SetCustomControls(true);
|
||||||
// Make Custom controls visible
|
// Make Custom controls visible
|
||||||
@@ -1218,24 +1097,22 @@ namespace VEPROMS
|
|||||||
// B2024-058 Add validation for Revision Date field of the Print dialog
|
// B2024-058 Add validation for Revision Date field of the Print dialog
|
||||||
private bool validateDate(TextBox txtDate)
|
private bool validateDate(TextBox txtDate)
|
||||||
{
|
{
|
||||||
DateTime dDate;
|
if (!(txtDate.Text == ""))
|
||||||
if (!(txtDate.Text == ""))
|
{
|
||||||
{
|
if (DateTime.TryParse(txtDate.Text, out _))
|
||||||
|
{
|
||||||
if (DateTime.TryParse(txtDate.Text, out dDate))
|
return true;
|
||||||
{
|
}
|
||||||
return true;
|
else
|
||||||
}
|
{
|
||||||
else
|
string txtDate2 = txtDate.Text;
|
||||||
{
|
string message = String.Format("Date {0} in wrong format" + System.Environment.NewLine + "Correct the revision date.", txtDate2);
|
||||||
string txtDate2 = txtDate.Text;
|
string txtTitle = "Invalid Format";
|
||||||
string message = String.Format("Date {0} in wrong format" + System.Environment.NewLine + "Correct the revision date.", txtDate2);
|
MessageBox.Show(message, txtTitle);
|
||||||
string txtTitle = "Invalid Format";
|
return false;
|
||||||
MessageBox.Show(message, txtTitle);
|
}
|
||||||
return false;
|
}
|
||||||
}
|
return true;
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void txbRevDate_Enter(object sender, EventArgs e)
|
private void txbRevDate_Enter(object sender, EventArgs e)
|
||||||
@@ -1243,8 +1120,6 @@ namespace VEPROMS
|
|||||||
txbDate = txbRevDate;
|
txbDate = txbRevDate;
|
||||||
grpDateSelector.Text = "Select Revision Date";
|
grpDateSelector.Text = "Select Revision Date";
|
||||||
grpDateSelector.Visible = calDateSelector.Visible = true;
|
grpDateSelector.Visible = calDateSelector.Visible = true;
|
||||||
//C2021-007 position the calendar to the current RevDate or if no RevDate, position to today's date
|
|
||||||
DateTime dDate;
|
|
||||||
// B2024-058 Add validation for Revision Date field of the Print dialog
|
// B2024-058 Add validation for Revision Date field of the Print dialog
|
||||||
if (!validateDate(txbDate))
|
if (!validateDate(txbDate))
|
||||||
{
|
{
|
||||||
@@ -1259,17 +1134,16 @@ namespace VEPROMS
|
|||||||
private void txbRevDate_Leave(object sender, EventArgs e)
|
private void txbRevDate_Leave(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_Initializing) return;
|
if (_Initializing) return;
|
||||||
if (this.ActiveControl == calDateSelector)
|
if (ActiveControl == calDateSelector)
|
||||||
{
|
{
|
||||||
txbRevDate.Focus(); //B2018-059 keep the calendar open until a different field on the print dialog is selected
|
txbRevDate.Focus(); //B2018-059 keep the calendar open until a different field on the print dialog is selected
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
txbDate = null;
|
txbDate = null;
|
||||||
grpDateSelector.Visible = calDateSelector.Visible = false;
|
grpDateSelector.Visible = calDateSelector.Visible = false;
|
||||||
// save the RevDate to the procedure's config.
|
// save the RevDate to the procedure's config.
|
||||||
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
if (!(MyProcedure.MyConfig is ProcedureConfig pc)) return;
|
||||||
if (pc == null) return;
|
pc.Print_RevDate = txbRevDate.Text;
|
||||||
pc.Print_RevDate = txbRevDate.Text;
|
|
||||||
using (Item itm = Item.Get(MyProcedure.ItemID))
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
||||||
{
|
{
|
||||||
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
||||||
@@ -1283,10 +1157,9 @@ namespace VEPROMS
|
|||||||
if (_Initializing) return;
|
if (_Initializing) return;
|
||||||
txbDate = null;
|
txbDate = null;
|
||||||
grpDateSelector.Visible = calDateSelector.Visible = false;
|
grpDateSelector.Visible = calDateSelector.Visible = false;
|
||||||
// save the ReviewDate to the procedure's config.
|
// save the ReviewDate to the procedure's config.
|
||||||
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
if (!(MyProcedure.MyConfig is ProcedureConfig pc)) return;
|
||||||
if (pc == null) return;
|
pc.Print_ReviewDate = txbReviewDate.Text;
|
||||||
pc.Print_ReviewDate = txbReviewDate.Text;
|
|
||||||
using (Item itm = Item.Get(MyProcedure.ItemID))
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
||||||
{
|
{
|
||||||
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
||||||
@@ -1326,10 +1199,9 @@ namespace VEPROMS
|
|||||||
// C2021-062 used to save rev number information when all procedures are printed or merged
|
// C2021-062 used to save rev number information when all procedures are printed or merged
|
||||||
private void SaveRevNumToProcedureConfig(string newrevnum)
|
private void SaveRevNumToProcedureConfig(string newrevnum)
|
||||||
{
|
{
|
||||||
// save the RevNum to the procedure's config.
|
// save the RevNum to the procedure's config.
|
||||||
ProcedureConfig pc = MyProcedure.MyConfig as ProcedureConfig;
|
if (!(MyProcedure.MyConfig is ProcedureConfig pc)) return;
|
||||||
if (pc == null) return;
|
pc.Print_Rev = newrevnum;
|
||||||
pc.Print_Rev = newrevnum;
|
|
||||||
using (Item itm = Item.Get(MyProcedure.ItemID))
|
using (Item itm = Item.Get(MyProcedure.ItemID))
|
||||||
{
|
{
|
||||||
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
itm.MyContent.Config = MyProcedure.MyConfig.ToString();
|
||||||
@@ -1341,22 +1213,16 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (expPrnSetting.Expanded)
|
if (expPrnSetting.Expanded)
|
||||||
{
|
{
|
||||||
this.Size = new Size(this.Size.Width + (expPrnSetting.Size.Width - expPrnSetting.TitlePanel.Size.Height), this.Size.Height);
|
Size = new Size(Size.Width + (expPrnSetting.Size.Width - expPrnSetting.TitlePanel.Size.Height), Size.Height);
|
||||||
// B2018-137 set the visability of Generate Placekeeper
|
// B2018-137 set the visability of Generate Placekeeper
|
||||||
swtbtnGeneratePlacekeeper.Visible = lblGeneratePlacekeeper.Visible = ((MyProcedure.ActiveFormat.PlantFormat.FormatData.PurchaseOptions & E_PurchaseOptions.AutoPlacekeeper) == E_PurchaseOptions.AutoPlacekeeper);
|
swtbtnGeneratePlacekeeper.Visible = lblGeneratePlacekeeper.Visible = ((MyProcedure.ActiveFormat.PlantFormat.FormatData.PurchaseOptions & E_PurchaseOptions.AutoPlacekeeper) == E_PurchaseOptions.AutoPlacekeeper);
|
||||||
}
|
}
|
||||||
//else
|
|
||||||
// this.Size = new Size(this.Size.Width-(expPrnSetting.Size.Width-expPrnSetting.TitlePanel.Size.Height), this.Size.Height);
|
|
||||||
//Refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expPrnSetting_ExpandedChanging(object sender, DevComponents.DotNetBar.ExpandedChangeEventArgs e)
|
private void expPrnSetting_ExpandedChanging(object sender, DevComponents.DotNetBar.ExpandedChangeEventArgs e)
|
||||||
{
|
{
|
||||||
if (expPrnSetting.Expanded)
|
if (expPrnSetting.Expanded)
|
||||||
//this.Size = new Size(this.Size.Width+(expPrnSetting.Size.Width-expPrnSetting.TitlePanel.Size.Height), this.Size.Height);
|
Size = new Size(Size.Width-(expPrnSetting.Size.Width-expPrnSetting.TitlePanel.Size.Height), Size.Height);
|
||||||
//else
|
|
||||||
this.Size = new Size(this.Size.Width-(expPrnSetting.Size.Width-expPrnSetting.TitlePanel.Size.Height), this.Size.Height);
|
|
||||||
//Refresh();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1395,15 +1261,15 @@ namespace VEPROMS
|
|||||||
DoCreatePDF(); // create indivitual pdfs
|
DoCreatePDF(); // create indivitual pdfs
|
||||||
if (_MergedPdfPath != null && _MergedPdfPath != PDFPath) PDFPath = _MergedPfd.Folder = _MergedPdfPath;
|
if (_MergedPdfPath != null && _MergedPdfPath != PDFPath) PDFPath = _MergedPfd.Folder = _MergedPdfPath;
|
||||||
// C2021-063 pass in whether to generate Alarm Point List text when a merge is done
|
// C2021-063 pass in whether to generate Alarm Point List text when a merge is done
|
||||||
if (!_MergedPfd.DoTheMerge(PromsPrinter.MergedLandscapePages,cbxAlmPtTxt.Checked)) return; // merge them together.
|
if (!_MergedPfd.DoTheMerge(cbxAlmPtTxt.Checked)) return; // merge them together.
|
||||||
// if the property to show the file after printing is set (on the version dialog), display it. Otherwise do a dialog to let user know it's done
|
// if the property to show the file after printing is set (on the version dialog), display it. Otherwise do a dialog to let user know it's done
|
||||||
if (_DocVersionConfig.Print_MergedPdfsViewAfter)
|
if (_DocVersionConfig.Print_MergedPdfsViewAfter)
|
||||||
{
|
{
|
||||||
if (_MergedPfd.MergedPdfs != null && _MergedPfd.MergedPdfs.Count > 0)
|
if (_MergedPfd.MergedPdfs != null && _MergedPfd.MergedPdfs.Count > 0)
|
||||||
{
|
{
|
||||||
System.Diagnostics.Process sdp = System.Diagnostics.Process.Start(_MergedPfd.MergedFileName);
|
System.Diagnostics.Process sdp = System.Diagnostics.Process.Start(_MergedPfd.MergedFileName);
|
||||||
if (sdp != null) // B2020-055 if the current .NET version does not recognize the program used to display the PDF, it will return a NULL (ex. Microsoft Edge)
|
// B2020-055 if the current .NET version does not recognize the program used to display the PDF, it will return a NULL (ex. Microsoft Edge)
|
||||||
sdp.WaitForInputIdle();
|
sdp?.WaitForInputIdle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (VlnSettings.DebugMode)
|
else if (VlnSettings.DebugMode)
|
||||||
@@ -1416,7 +1282,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
FlexibleMessageBox.Show("Completed Successfully", "Print All and Merge Procedures", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
FlexibleMessageBox.Show("Completed Successfully", "Print All and Merge Procedures", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbxAssignRevToAllMergedPrcs_CheckedChanged(object sender, EventArgs e)
|
private void cbxAssignRevToAllMergedPrcs_CheckedChanged(object sender, EventArgs e)
|
||||||
@@ -1428,10 +1294,5 @@ namespace VEPROMS
|
|||||||
_NewRevForAllProcs = null;
|
_NewRevForAllProcs = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//private void cbxDebug_CheckedChanged(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// cbxCmpPRMSpfd.Visible = cbxDebug.Checked;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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")]
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Volian.Base.Library;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.IO;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using DevComponents.DotNetBar;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -154,18 +154,12 @@
|
|||||||
<Compile Include="AboutVEPROMS.Designer.cs">
|
<Compile Include="AboutVEPROMS.Designer.cs">
|
||||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="BookMarks.cs" />
|
|
||||||
<Compile Include="dlgAnnotationsSelect.cs">
|
<Compile Include="dlgAnnotationsSelect.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||||
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
<DependentUpon>dlgAnnotationsSelect.resx</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="dlgApproveProcedure.cs">
|
<Compile Include="dlgApproveProcedure.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -349,6 +343,7 @@
|
|||||||
<Compile Include="frmVersionsProperties.Designer.cs">
|
<Compile Include="frmVersionsProperties.Designer.cs">
|
||||||
<DependentUpon>frmVersionsProperties.cs</DependentUpon>
|
<DependentUpon>frmVersionsProperties.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="GlobalSuppressions.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<EmbeddedResource Include="AboutVEPROMS.resx">
|
<EmbeddedResource Include="AboutVEPROMS.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
|
|||||||
@@ -1,9 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -21,11 +20,7 @@ namespace VEPROMS
|
|||||||
public partial class dlgApproveProcedure : Form
|
public partial class dlgApproveProcedure : Form
|
||||||
{
|
{
|
||||||
public event DisplayConsistencyReportEvent ConsistencyPrintRequest;
|
public event DisplayConsistencyReportEvent ConsistencyPrintRequest;
|
||||||
private void OnConsistencyPrintRequest(ConsistencyReportArgs args)
|
private void OnConsistencyPrintRequest(ConsistencyReportArgs args) => ConsistencyPrintRequest?.Invoke(this, args);
|
||||||
{
|
|
||||||
if (ConsistencyPrintRequest != null)
|
|
||||||
ConsistencyPrintRequest(this, args);
|
|
||||||
}
|
|
||||||
private bool CanApprove
|
private bool CanApprove
|
||||||
{
|
{
|
||||||
get { return btnApprove2.Enabled; }
|
get { return btnApprove2.Enabled; }
|
||||||
@@ -37,12 +32,8 @@ namespace VEPROMS
|
|||||||
tsslStatus.Text = value ? "" : "Need to correct the Rev Numbers marked with Question Marks";
|
tsslStatus.Text = value ? "" : "Need to correct the Rev Numbers marked with Question Marks";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private int _ApplicabilityIndex = 0;
|
|
||||||
public int ApplicabilityIndex
|
public int ApplicabilityIndex { get; set; } = 0;
|
||||||
{
|
|
||||||
get { return _ApplicabilityIndex; }
|
|
||||||
set { _ApplicabilityIndex = value; }
|
|
||||||
}
|
|
||||||
private SessionInfo _MySessionInfo;
|
private SessionInfo _MySessionInfo;
|
||||||
public SessionInfo MySessionInfo
|
public SessionInfo MySessionInfo
|
||||||
{
|
{
|
||||||
@@ -53,23 +44,19 @@ namespace VEPROMS
|
|||||||
_MyApproval.MySessionInfo = _MySessionInfo;
|
_MyApproval.MySessionInfo = _MySessionInfo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private ApprovalInfo _MyApproval;
|
private readonly ApprovalInfo _MyApproval;
|
||||||
private DocVersionInfo _MyDocVersion;
|
private readonly DocVersionInfo _MyDocVersion;
|
||||||
frmVEPROMS _MyFrmVEPROMS = null;
|
|
||||||
public frmVEPROMS MyFrmVEPROMS
|
public frmVEPROMS MyFrmVEPROMS { get; set; } = null;
|
||||||
{
|
private readonly bool _initializing = false; // C2018-008 redesign of user interface
|
||||||
get { return _MyFrmVEPROMS; }
|
|
||||||
set { _MyFrmVEPROMS = value; }
|
|
||||||
}
|
|
||||||
private bool _initializing = false; // C2018-008 redesign of user interface
|
|
||||||
public dlgApproveProcedure(DocVersionInfo myDocVersion, frmVEPROMS myFrmVEPROMS) // approve all procedures
|
public dlgApproveProcedure(DocVersionInfo myDocVersion, frmVEPROMS myFrmVEPROMS) // approve all procedures
|
||||||
{
|
{
|
||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
|
||||||
_MyApproval.SavedSlave = ApplicabilityIndex;
|
_MyApproval.SavedSlave = ApplicabilityIndex;
|
||||||
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myDocVersion;
|
_MyDocVersion = myDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -77,7 +64,7 @@ namespace VEPROMS
|
|||||||
_MyApproval.StatusUpdated -= new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
_MyApproval.StatusUpdated -= new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||||
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
|
||||||
SetupComboBoxes();
|
SetupComboBoxes();
|
||||||
foreach (ProcedureInfo pi in myDocVersion.Procedures)
|
foreach (ProcedureInfo pi in myDocVersion.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
bool includeProc = pi.ApplInclude(ApplicabilityIndex); // C2021-027: Procedure level PC/PC
|
bool includeProc = pi.ApplInclude(ApplicabilityIndex); // C2021-027: Procedure level PC/PC
|
||||||
if (includeProc)
|
if (includeProc)
|
||||||
@@ -98,31 +85,8 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void FlexGridAddEvents()
|
private void FlexGridAddEvents()
|
||||||
{
|
{
|
||||||
//fgProcs.ChangeEdit += new EventHandler(fgProcs_ChangeEdit);
|
|
||||||
//Console.WriteLine(fgProcs.ComboBoxEditor.GetType().Name);
|
|
||||||
//Console.WriteLine(fgProcs.Editor.GetType().Name);
|
|
||||||
//fgProcs.ImeModeChanged += new EventHandler(fgProcs_ImeModeChanged);
|
|
||||||
//fgProcs.LeaveEdit += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_LeaveEdit);
|
|
||||||
//fgProcs.SetupEditor += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_SetupEditor);
|
|
||||||
//fgProcs.StartEdit += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_StartEdit);
|
|
||||||
//fgProcs.ValidateEdit += new C1.Win.C1FlexGrid.ValidateEditEventHandler(fgProcs_ValidateEdit);
|
|
||||||
fgProcs.ComboCloseUp -= new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
fgProcs.ComboCloseUp -= new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
||||||
fgProcs.ComboCloseUp += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
fgProcs.ComboCloseUp += new C1.Win.C1FlexGrid.RowColEventHandler(fgProcs_ComboCloseUp);
|
||||||
//fgProcs.MouseDown += new MouseEventHandler(fgProcs_MouseDown);
|
|
||||||
//fgProcs.MouseUp += new MouseEventHandler(fgProcs_MouseUp);
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_MouseUp(object sender, MouseEventArgs e)
|
|
||||||
{
|
|
||||||
C1.Win.C1FlexGrid.HitTestInfo hti = fgProcs.HitTest(e.X, e.Y);
|
|
||||||
//Console.WriteLine("fgProcs_MouseUp X={0},Y={1},Row={2},Col={3}", e.X, e.Y, hti.Row, hti.Column);
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_MouseDown(object sender, MouseEventArgs e)
|
|
||||||
{
|
|
||||||
C1.Win.C1FlexGrid.HitTestInfo hti = fgProcs.HitTest(e.X, e.Y);
|
|
||||||
//Console.WriteLine("fgProcs_MouseDown X={0},Y={1},Row={2},Col={3}", e.X, e.Y, hti.Row, hti.Column);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void fgProcs_ComboCloseUp(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
void fgProcs_ComboCloseUp(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
||||||
@@ -134,46 +98,6 @@ namespace VEPROMS
|
|||||||
//Console.WriteLine("fgProcs_ComboCloseUp row: {0}, col: {1}, val: {2}, etostring: {3}", e.Row, e.Col, fgProcs[e.Row, e.Col], e.ToString());
|
//Console.WriteLine("fgProcs_ComboCloseUp row: {0}, col: {1}, val: {2}, etostring: {3}", e.Row, e.Col, fgProcs[e.Row, e.Col], e.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
void fgProcs_ValidateEdit(object sender, C1.Win.C1FlexGrid.ValidateEditEventArgs e)
|
|
||||||
{
|
|
||||||
//Console.WriteLine("fgProcs_ValidateEdit");
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_StartEdit(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
object val = fgProcs[e.Row, e.Col];
|
|
||||||
DateTime dt = (DateTime)val;
|
|
||||||
if (dt != null)
|
|
||||||
dt = dt.AddHours(1);
|
|
||||||
fgProcs[e.Row, e.Col] = dt;
|
|
||||||
//Console.WriteLine("fgProcs_StartEdit val: {0}, dt: {1}", val, dt);
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_SetupEditor(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
|
||||||
{
|
|
||||||
//Console.WriteLine("fgProcs_SetupEditor");
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_LeaveEdit(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
|
||||||
{
|
|
||||||
object val = fgProcs[e.Row, e.Col];
|
|
||||||
DateTime dt = (DateTime)val;
|
|
||||||
if (dt != null && dt.Hour != 0)
|
|
||||||
dt = dt.AddHours(-1);
|
|
||||||
fgProcs[e.Row, e.Col] = dt;
|
|
||||||
//Console.WriteLine("fgProcs_LeaveEdit val: {0}, dt: {1}, mouserow={2}, mousecol={3}", val, dt, fgProcs.MouseRow, fgProcs.MouseCol);
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_ImeModeChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
//Console.WriteLine("fgProcs_ImeModeChanged");
|
|
||||||
}
|
|
||||||
|
|
||||||
void fgProcs_ChangeEdit(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
//Console.WriteLine("fgProcs_ChangeEdit");
|
|
||||||
}
|
|
||||||
//C2020-036 returns a string of duplicate procedure numbers separated by newlines for use in FlexibleMessageBox
|
//C2020-036 returns a string of duplicate procedure numbers separated by newlines for use in FlexibleMessageBox
|
||||||
private string dupProcList
|
private string dupProcList
|
||||||
{
|
{
|
||||||
@@ -183,12 +107,13 @@ namespace VEPROMS
|
|||||||
if (dpl.Count > 0)
|
if (dpl.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (string pn in dpl)
|
foreach (string pn in dpl)
|
||||||
rtn += pn + "\n";
|
rtn += $"{pn}\n";
|
||||||
rtn = rtn.TrimEnd('\n');
|
rtn = rtn.TrimEnd('\n');
|
||||||
}
|
}
|
||||||
return rtn;
|
return rtn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private List<string> dpl = new List<string>(); //C2020-036 used to create list duplicate procedure numbers
|
private List<string> dpl = new List<string>(); //C2020-036 used to create list duplicate procedure numbers
|
||||||
|
|
||||||
private bool InitializePanelSelect()
|
private bool InitializePanelSelect()
|
||||||
@@ -196,7 +121,7 @@ namespace VEPROMS
|
|||||||
if (clbMore.Items.Count == 0)
|
if (clbMore.Items.Count == 0)
|
||||||
{
|
{
|
||||||
dpl.Clear();
|
dpl.Clear();
|
||||||
foreach (ProcedureInfo pi in _MyDocVersion.Procedures)
|
foreach (ProcedureInfo pi in _MyDocVersion.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
bool includeProc = pi.ApplInclude(ApplicabilityIndex); // C2021-027: Procedure level PC/PC
|
bool includeProc = pi.ApplInclude(ApplicabilityIndex); // C2021-027: Procedure level PC/PC
|
||||||
if (includeProc)
|
if (includeProc)
|
||||||
@@ -245,22 +170,22 @@ namespace VEPROMS
|
|||||||
lblViewPDF.Enabled = false;
|
lblViewPDF.Enabled = false;
|
||||||
if (_MyApproval.MyProcedures.Count == 1)
|
if (_MyApproval.MyProcedures.Count == 1)
|
||||||
{
|
{
|
||||||
this.Text = "Approve " + _MyApproval.MyProcedures[0].ProcInfo.DisplayNumber;
|
Text = "Approve " + _MyApproval.MyProcedures[0].ProcInfo.DisplayNumber;
|
||||||
swtbtViewPDF.Value = false;
|
swtbtViewPDF.Value = false;
|
||||||
swtbtViewPDF.Enabled = true;
|
swtbtViewPDF.Enabled = true;
|
||||||
lblViewPDF.Enabled = true;
|
lblViewPDF.Enabled = true;
|
||||||
}
|
}
|
||||||
else if (_MyApproval.MyProcedures.Count == _MyDocVersion.Procedures.Count)
|
else if (_MyApproval.MyProcedures.Count == _MyDocVersion.Procedures.Count)
|
||||||
this.Text = "Approve All Procedures";
|
Text = "Approve All Procedures";
|
||||||
else
|
else
|
||||||
this.Text = "Approve Selected Procedures";
|
Text = "Approve Selected Procedures";
|
||||||
}
|
}
|
||||||
private void InitializePanelApprove()
|
private void InitializePanelApprove()
|
||||||
{
|
{
|
||||||
setupLablesAndSwitches(); // C2018-008 redesign of user interface
|
setupLablesAndSwitches(); // C2018-008 redesign of user interface
|
||||||
SetupMyApproval();
|
SetupMyApproval();
|
||||||
}
|
}
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private Dictionary<string, ProcedureInfo> tmpProcedures = new Dictionary<string, ProcedureInfo>();
|
private Dictionary<string, ProcedureInfo> tmpProcedures = new Dictionary<string, ProcedureInfo>();
|
||||||
private ProcedureInfo GetProcedureInfoByKey(string key)
|
private ProcedureInfo GetProcedureInfoByKey(string key)
|
||||||
{
|
{
|
||||||
@@ -277,12 +202,13 @@ namespace VEPROMS
|
|||||||
return tmpProcedures[GetDisplayNumberOnly(key)];
|
return tmpProcedures[GetDisplayNumberOnly(key)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "selectsome Kept for Legacy - To give Constructor a different Signature")]
|
||||||
public dlgApproveProcedure(DocVersionInfo myDocVersion, bool selectSome, frmVEPROMS myFrmVEPROMS) // approve some procedures
|
public dlgApproveProcedure(DocVersionInfo myDocVersion, bool selectSome, frmVEPROMS myFrmVEPROMS) // approve some procedures
|
||||||
{
|
{
|
||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myDocVersion;
|
_MyDocVersion = myDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -303,8 +229,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
_MyApproval = new ApprovalInfo(myFrmVEPROMS);// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
||||||
_MyDocVersion = myProcedure.MyDocVersion;
|
_MyDocVersion = myProcedure.MyDocVersion;
|
||||||
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
_MyDocVersion.ResetProcedures(); // B2021-035: Pasted, modified number and deleted procedures not refreshed so missing from list
|
||||||
ApplicabilityIndex = _MyDocVersion.DocVersionConfig.SelectedSlave; // B2022-033 set the child being approved or workflow so other procedure list can populate
|
ApplicabilityIndex = _MyDocVersion.DocVersionConfig.SelectedSlave; // B2022-033 set the child being approved or workflow so other procedure list can populate
|
||||||
@@ -328,12 +254,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
_initializing = false;
|
_initializing = false;
|
||||||
}
|
}
|
||||||
private bool ProcedureSetHasDuplicateProcedureNumbers()
|
|
||||||
{
|
|
||||||
bool hasDuplicateProcNums = false;
|
|
||||||
|
|
||||||
return hasDuplicateProcNums;
|
|
||||||
}
|
|
||||||
void _MyApproval_StatusUpdated(ApprovalInfo sender, ApprovalMessageArgs e)
|
void _MyApproval_StatusUpdated(ApprovalInfo sender, ApprovalMessageArgs e)
|
||||||
{
|
{
|
||||||
tsslMsg2.Text = e.MyStatus;
|
tsslMsg2.Text = e.MyStatus;
|
||||||
@@ -342,33 +263,16 @@ namespace VEPROMS
|
|||||||
private void SetupMyApproval()
|
private void SetupMyApproval()
|
||||||
{
|
{
|
||||||
approvalInfoBindingSource.DataSource = _MyApproval;
|
approvalInfoBindingSource.DataSource = _MyApproval;
|
||||||
//if(_MyApproval.MyProcedures.Count == 1)
|
_MyApproval.RevType = 1; // C2018-008 redesign of user interface
|
||||||
// lblOldRevNumber.Text = _MyApproval.RevNumber;
|
|
||||||
//else if (_MyApproval.MyProcedures.Count > 1)
|
|
||||||
// lblMaxRevNumber1.Text = GetMaxRevNumber();
|
|
||||||
_MyApproval.RevType = 1; // C2018-008 redesign of user interface //(revTypeBindingSource.Current as RevType).TypeID;
|
|
||||||
_MyApproval.RevStage = (stageInfoBindingSource.Current == null) ? 0 : (stageInfoBindingSource.Current as StageInfo).StageID;// C2018-008 redesign of user interface
|
_MyApproval.RevStage = (stageInfoBindingSource.Current == null) ? 0 : (stageInfoBindingSource.Current as StageInfo).StageID;// C2018-008 redesign of user interface
|
||||||
approvalInfoBindingSource.ResetBindings(false);
|
approvalInfoBindingSource.ResetBindings(false);
|
||||||
approvalProcedureBindingSource.DataSource = _MyApproval.MyProcedures;
|
approvalProcedureBindingSource.DataSource = _MyApproval.MyProcedures;
|
||||||
approvalProcedureBindingSource.ResetBindings(false);
|
approvalProcedureBindingSource.ResetBindings(false);
|
||||||
//this.ConsistencyPrintRequest -= new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetMaxRevNumber()
|
|
||||||
{
|
|
||||||
string mrn = string.Empty;
|
|
||||||
foreach (ApprovalProcedure ap in _MyApproval.MyProcedures)
|
|
||||||
{
|
|
||||||
int k = _MyApproval.FancyShmancyRevCompare(mrn, ap.RevNumber);
|
|
||||||
if (k < 0)
|
|
||||||
mrn = ap.RevNumber;
|
|
||||||
}
|
|
||||||
return mrn;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void dlgApproveProcedure_ConsistencyPrintRequest(object sender, ConsistencyReportArgs args)
|
void dlgApproveProcedure_ConsistencyPrintRequest(object sender, ConsistencyReportArgs args)
|
||||||
{
|
{
|
||||||
foreach (ProcedureInfo pi in args.MyItems)
|
foreach (ProcedureInfo pi in args.MyItems.OfType<ProcedureInfo>())
|
||||||
pi.IsSelected = _MyApproval.ProcedureExists(pi);
|
pi.IsSelected = _MyApproval.ProcedureExists(pi);
|
||||||
PDFConsistencyCheckReport rpt = new PDFConsistencyCheckReport(args.ReportName, args.MyItems, args.MyDocVersion); //B2020-020 needed to pass in DocVersion to get paper size from format
|
PDFConsistencyCheckReport rpt = new PDFConsistencyCheckReport(args.ReportName, args.MyItems, args.MyDocVersion); //B2020-020 needed to pass in DocVersion to get paper size from format
|
||||||
rpt.BuildReport();
|
rpt.BuildReport();
|
||||||
@@ -389,20 +293,12 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void btnApprove_Click(object sender, EventArgs e)
|
private void btnApprove_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
if(!_MyApproval.Approve(new Point(Left,Bottom),cmbRevisionStage2.Text)) // C2021-020 pass in the revision stage name
|
if(!_MyApproval.Approve(new Point(Left,Bottom),cmbRevisionStage2.Text)) // C2021-020 pass in the revision stage name
|
||||||
this.DialogResult = DialogResult.None;
|
DialogResult = DialogResult.None;
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2018-008 redesign of user interface
|
|
||||||
// -- Note that the Revison Type data source is still connected (revTypeBindingSource) - commented out for documentatin purposes
|
|
||||||
//private void cmbRevisionType_SelectedIndexChanged(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// RevType rt = cmbRevisionType2.SelectedItem as RevType;
|
|
||||||
// _MyApproval.RevType = rt.TypeID;
|
|
||||||
//}
|
|
||||||
|
|
||||||
private void cmbRevisionStage_SelectedIndexChanged(object sender, EventArgs e)
|
private void cmbRevisionStage_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
StageInfo si = cmbRevisionStage2.SelectedItem as StageInfo;
|
StageInfo si = cmbRevisionStage2.SelectedItem as StageInfo;
|
||||||
@@ -431,7 +327,6 @@ namespace VEPROMS
|
|||||||
SetupComboBoxes();
|
SetupComboBoxes();
|
||||||
for (int i = 0; i < clbMore.Items.Count; i++)
|
for (int i = 0; i < clbMore.Items.Count; i++)
|
||||||
{
|
{
|
||||||
string xyz = clbMore.Items[i].ToString();
|
|
||||||
ProcedureInfo pi = GetProcedureInfoByKey(clbMore.Items[i].ToString());
|
ProcedureInfo pi = GetProcedureInfoByKey(clbMore.Items[i].ToString());
|
||||||
if (clbMore.GetItemChecked(i))
|
if (clbMore.GetItemChecked(i))
|
||||||
{
|
{
|
||||||
@@ -449,10 +344,7 @@ namespace VEPROMS
|
|||||||
RefreshCount(); // B2021-015: select/clear all not populating left panel & count not refreshed.
|
RefreshCount(); // B2021-015: select/clear all not populating left panel & count not refreshed.
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCheck_Click(object sender, EventArgs e)
|
private void btnCheck_Click(object sender, EventArgs e) => UpdateClbMore();
|
||||||
{
|
|
||||||
UpdateClbMore();
|
|
||||||
}
|
|
||||||
|
|
||||||
private ItemInfoList _MyItemInfoList;
|
private ItemInfoList _MyItemInfoList;
|
||||||
private void UpdateClbMore()
|
private void UpdateClbMore()
|
||||||
@@ -485,7 +377,7 @@ namespace VEPROMS
|
|||||||
if (info.Contains(" - ("))
|
if (info.Contains(" - ("))
|
||||||
clbMore.Items[i] = info.Substring(0, info.IndexOf(" - ("));
|
clbMore.Items[i] = info.Substring(0, info.IndexOf(" - ("));
|
||||||
}
|
}
|
||||||
foreach (ProcedureInfo npi in _MyItemInfoList)
|
foreach (ProcedureInfo npi in _MyItemInfoList.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
string info = string.Format("{0} - ({1})", npi.DisplayNumber, npi.MyDifferenceReasons);
|
string info = string.Format("{0} - ({1})", npi.DisplayNumber, npi.MyDifferenceReasons);
|
||||||
//checked list box
|
//checked list box
|
||||||
@@ -506,7 +398,7 @@ namespace VEPROMS
|
|||||||
for (int i = 0; i < clbMore.Items.Count; i++)
|
for (int i = 0; i < clbMore.Items.Count; i++)
|
||||||
{
|
{
|
||||||
if (!clbMore.Items[i].ToString().Contains(" - ("))
|
if (!clbMore.Items[i].ToString().Contains(" - ("))
|
||||||
clbMore.Items[i] = clbMore.Items[i].ToString() + " - (none)";
|
clbMore.Items[i] = $"{clbMore.Items[i]} - (none)";
|
||||||
}
|
}
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
clbMore.Enabled = btnAll.Enabled = btnClear.Enabled = true;
|
clbMore.Enabled = btnAll.Enabled = btnClear.Enabled = true;
|
||||||
@@ -523,10 +415,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// B2021-015: select/clear all not populating left panel & count not refreshed.
|
// B2021-015: select/clear all not populating left panel & count not refreshed.
|
||||||
private void RefreshCount()
|
private void RefreshCount() => lblMore.Text = string.Format("{0} Procedures, {1} Selected", clbMore.Items.Count, clbMore.CheckedItems.Count);
|
||||||
{
|
|
||||||
lblMore.Text = string.Format("{0} Procedures, {1} Selected", clbMore.Items.Count, clbMore.CheckedItems.Count);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ItemInfoList_ConsistencyCheckUpdated(object sender, ItemInfoListCCEventArgs args)
|
void ItemInfoList_ConsistencyCheckUpdated(object sender, ItemInfoListCCEventArgs args)
|
||||||
{
|
{
|
||||||
@@ -572,14 +461,12 @@ namespace VEPROMS
|
|||||||
if (clbMore.Items[itemIndex] != null)
|
if (clbMore.Items[itemIndex] != null)
|
||||||
{
|
{
|
||||||
SuperTooltipInfo stti = sttMore.GetSuperTooltip(clbMore);
|
SuperTooltipInfo stti = sttMore.GetSuperTooltip(clbMore);
|
||||||
//string headerText = tmpProcedures[xyz].DisplayNumber;
|
|
||||||
//string bodyText = tmpProcedures[xyz].MyDifferencesText;
|
|
||||||
stti.HeaderText = GetProcedureInfoByKey(clbMore.Items[itemIndex].ToString()).DisplayNumber;
|
stti.HeaderText = GetProcedureInfoByKey(clbMore.Items[itemIndex].ToString()).DisplayNumber;
|
||||||
stti.BodyText = GetProcedureInfoByKey(clbMore.Items[itemIndex].ToString()).MyDifferencesText;
|
stti.BodyText = GetProcedureInfoByKey(clbMore.Items[itemIndex].ToString()).MyDifferencesText;
|
||||||
stti.FooterVisible = false;
|
stti.FooterVisible = false;
|
||||||
using (Graphics g = CreateGraphics())
|
using (Graphics g = CreateGraphics())
|
||||||
{
|
{
|
||||||
SizeF sf = g.MeasureString(stti.BodyText, this.Font);
|
SizeF sf = g.MeasureString(stti.BodyText, Font);
|
||||||
stti.CustomSize = new Size(10 + sf.ToSize().Width, 0);
|
stti.CustomSize = new Size(10 + sf.ToSize().Width, 0);
|
||||||
}
|
}
|
||||||
sttMore.ShowTooltip(sender);
|
sttMore.ShowTooltip(sender);
|
||||||
@@ -611,10 +498,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnReportMore_Click(object sender, EventArgs e)
|
private void btnReportMore_Click(object sender, EventArgs e) => OnConsistencyPrintRequest(new ConsistencyReportArgs(Volian.Base.Library.VlnSettings.TemporaryFolder + @"\MyConsistency.pdf", _MyItemInfoList, _MyDocVersion)); //B2020-020 needed to pass in DocVersion to get paper size from format
|
||||||
{
|
|
||||||
OnConsistencyPrintRequest(new ConsistencyReportArgs(Volian.Base.Library.VlnSettings.TemporaryFolder + @"\MyConsistency.pdf", _MyItemInfoList, _MyDocVersion)); //B2020-020 needed to pass in DocVersion to get paper size from format
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fgProcs_AfterEdit(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
private void fgProcs_AfterEdit(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -724,19 +608,16 @@ namespace VEPROMS
|
|||||||
private void expAddProcConChk_ExpandedChanged(object sender, ExpandedChangeEventArgs e) // C2018-008 redesign of user interface
|
private void expAddProcConChk_ExpandedChanged(object sender, ExpandedChangeEventArgs e) // C2018-008 redesign of user interface
|
||||||
{
|
{
|
||||||
if (expAddProcConChk.Expanded)
|
if (expAddProcConChk.Expanded)
|
||||||
this.Size = new Size(this.Size.Width + (expAddProcConChk.Size.Width - expAddProcConChk.TitlePanel.Size.Height), this.Size.Height);
|
Size = new Size(Size.Width + (expAddProcConChk.Size.Width - expAddProcConChk.TitlePanel.Size.Height), Size.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void expAddProcConChk_ExpandedChanging(object sender, ExpandedChangeEventArgs e) // C2018-008 redesign of user interface
|
private void expAddProcConChk_ExpandedChanging(object sender, ExpandedChangeEventArgs e) // C2018-008 redesign of user interface
|
||||||
{
|
{
|
||||||
if (expAddProcConChk.Expanded)
|
if (expAddProcConChk.Expanded)
|
||||||
this.Size = new Size(this.Size.Width - (expAddProcConChk.Size.Width - expAddProcConChk.TitlePanel.Size.Height), this.Size.Height);
|
Size = new Size(Size.Width - (expAddProcConChk.Size.Width - expAddProcConChk.TitlePanel.Size.Height), Size.Height);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fgProcs_AfterDataRefresh(object sender, ListChangedEventArgs e)
|
private void fgProcs_AfterDataRefresh(object sender, ListChangedEventArgs e) => btnApprove2.Enabled = CanApprove && tsslStatus.Text.Length == 0; // B2016-057 If did un-successful Auto Increament Rev Number, then don't enable Approve (Do Work Flow) button
|
||||||
{
|
|
||||||
btnApprove2.Enabled = CanApprove && tsslStatus.Text.Length == 0; // B2016-057 If did un-successful Auto Increament Rev Number, then don't enable Approve (Do Work Flow) button
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2020-040 automatically update left panel when tree item in right panel is selected or deselected
|
// C2020-040 automatically update left panel when tree item in right panel is selected or deselected
|
||||||
private void clbMore_SelectedIndexChanged(object sender, EventArgs e)
|
private void clbMore_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
@@ -758,18 +639,11 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void clbMore_MouseLeave(object sender, EventArgs e) //C2020-045 - added switch to control if pop-ups are displayed in procedure list
|
private void clbMore_MouseLeave(object sender, EventArgs e) //C2020-045 - added switch to control if pop-ups are displayed in procedure list
|
||||||
{
|
=> sttMore.Enabled = true;
|
||||||
sttMore.Enabled = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public class ApprovalProcedure
|
public class ApprovalProcedure
|
||||||
{
|
{
|
||||||
private ProcedureInfo _ProcInfo;
|
public ProcedureInfo ProcInfo { get; set; }
|
||||||
public ProcedureInfo ProcInfo
|
|
||||||
{
|
|
||||||
get { return _ProcInfo; }
|
|
||||||
set { _ProcInfo = value; }
|
|
||||||
}
|
|
||||||
private string _RevNumber;
|
private string _RevNumber;
|
||||||
public string RevNumber
|
public string RevNumber
|
||||||
{
|
{
|
||||||
@@ -779,37 +653,17 @@ namespace VEPROMS
|
|||||||
if (value.Trim() != _RevNumber)
|
if (value.Trim() != _RevNumber)
|
||||||
{
|
{
|
||||||
_RevNumber = value.Trim();
|
_RevNumber = value.Trim();
|
||||||
//_RevDate = DateTime.Now; // commented out for bug fix B2013-012
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private DateTime _RevDate;
|
|
||||||
public DateTime RevDate
|
public DateTime RevDate { get; set; }
|
||||||
{
|
|
||||||
get { return _RevDate; }
|
|
||||||
set { _RevDate = value; }
|
|
||||||
}
|
|
||||||
// added RevNumAndDate to handle the use use of the DoRevDate flag
|
// added RevNumAndDate to handle the use use of the DoRevDate flag
|
||||||
// this fixes bug B2013-011 where Today's date would print on the approved procedures (Westinghouse data)
|
// this fixes bug B2013-011 where Today's date would print on the approved procedures (Westinghouse data)
|
||||||
// instead of the the Revision Date assigned to the procedure.
|
// instead of the the Revision Date assigned to the procedure.
|
||||||
public string RevNumAndDate
|
public string RevNumAndDate => ProcInfo.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate ? $"{RevNumber}/{RevDate:M/d/yyyy}" : RevNumber;
|
||||||
{
|
public string DisplayNumber => ProcInfo.DisplayNumber;
|
||||||
get
|
public override string ToString() => string.Format("{0}\t{1}\t{2:M/d/yyyy}", ProcInfo.DisplayNumber, _RevNumber, RevDate);
|
||||||
{
|
|
||||||
if (_ProcInfo.ActiveFormat.PlantFormat.FormatData.PrintData.DoRevDate)
|
|
||||||
return RevNumber + "/" + RevDate.ToString("M/d/yyyy");
|
|
||||||
else
|
|
||||||
return RevNumber;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public string DisplayNumber
|
|
||||||
{
|
|
||||||
get { return _ProcInfo.DisplayNumber; }
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return string.Format("{0}\t{1}\t{2:M/d/yyyy}", _ProcInfo.DisplayNumber, _RevNumber, _RevDate);
|
|
||||||
}
|
|
||||||
public ApprovalProcedure(ProcedureInfo proc)
|
public ApprovalProcedure(ProcedureInfo proc)
|
||||||
{
|
{
|
||||||
proc.ProcedureConfig.SelectedSlave = proc.MyDocVersion.DocVersionConfig.SelectedSlave;
|
proc.ProcedureConfig.SelectedSlave = proc.MyDocVersion.DocVersionConfig.SelectedSlave;
|
||||||
@@ -818,105 +672,42 @@ namespace VEPROMS
|
|||||||
string sRevDate = proc.ProcedureConfig.Print_RevDate;
|
string sRevDate = proc.ProcedureConfig.Print_RevDate;
|
||||||
if (sRevDate == string.Empty)
|
if (sRevDate == string.Empty)
|
||||||
sRevDate = DateTime.Now.ToString("M/d/y");
|
sRevDate = DateTime.Now.ToString("M/d/y");
|
||||||
DateTime revDate;
|
if (!DateTime.TryParse(sRevDate, out DateTime revDate)) revDate = DateTime.Now;
|
||||||
if (!DateTime.TryParse(sRevDate, out revDate)) revDate = DateTime.Now;
|
|
||||||
RevDate = revDate;
|
RevDate = revDate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class ApprovalMessageArgs : EventArgs
|
public class ApprovalMessageArgs : EventArgs
|
||||||
{
|
{
|
||||||
public ApprovalMessageArgs(string msg)
|
public ApprovalMessageArgs(string msg) => MyStatus = msg;
|
||||||
{
|
|
||||||
_MyStatus = msg;
|
public string MyStatus { get; set; }
|
||||||
}
|
|
||||||
private string _MyStatus;
|
|
||||||
public string MyStatus
|
|
||||||
{
|
|
||||||
get { return _MyStatus; }
|
|
||||||
set { _MyStatus = value; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public delegate void ApprovalStatusChangeEvent(ApprovalInfo sender, ApprovalMessageArgs e);
|
public delegate void ApprovalStatusChangeEvent(ApprovalInfo sender, ApprovalMessageArgs e);
|
||||||
public class ApprovalInfo
|
public class ApprovalInfo
|
||||||
{
|
{
|
||||||
frmVEPROMS _MyFrmVEPROMS = null;
|
public frmVEPROMS MyFrmVEPROMS { get; set; } = null;
|
||||||
public frmVEPROMS MyFrmVEPROMS
|
|
||||||
{
|
|
||||||
get { return _MyFrmVEPROMS; }
|
|
||||||
set { _MyFrmVEPROMS = value; }
|
|
||||||
}
|
|
||||||
public event ApprovalStatusChangeEvent StatusUpdated;
|
public event ApprovalStatusChangeEvent StatusUpdated;
|
||||||
public void OnStatusUpdated(ApprovalInfo sender, ApprovalMessageArgs e)
|
public void OnStatusUpdated(ApprovalInfo sender, ApprovalMessageArgs e) => StatusUpdated?.Invoke(sender, e);
|
||||||
{
|
|
||||||
if (StatusUpdated != null)
|
public SessionInfo MySessionInfo { get; set; }
|
||||||
StatusUpdated(sender, e);
|
public int RevType { get; set; }
|
||||||
}
|
public string RevNumber { get; set; }
|
||||||
private SessionInfo _MySessionInfo;
|
private DateTime? _RevDate;
|
||||||
public SessionInfo MySessionInfo
|
public DateTime? RevDate
|
||||||
{
|
|
||||||
get { return _MySessionInfo; }
|
|
||||||
set { _MySessionInfo = value; }
|
|
||||||
}
|
|
||||||
private int _RevType;
|
|
||||||
public int RevType
|
|
||||||
{
|
|
||||||
get { return _RevType; }
|
|
||||||
set { _RevType = value; }
|
|
||||||
}
|
|
||||||
private string _RevNumber;
|
|
||||||
public string RevNumber
|
|
||||||
{
|
|
||||||
get { return _RevNumber; }
|
|
||||||
set { _RevNumber = value; }
|
|
||||||
}
|
|
||||||
private Nullable<DateTime> _RevDate;
|
|
||||||
public Nullable<DateTime> RevDate
|
|
||||||
{
|
{
|
||||||
get { return _RevDate == null ? _RevDate : _RevDate.Value; }
|
get { return _RevDate == null ? _RevDate : _RevDate.Value; }
|
||||||
set { _RevDate = value; }
|
set { _RevDate = value; }
|
||||||
}
|
}
|
||||||
private int _RevStage;
|
|
||||||
public int RevStage
|
public int RevStage { get; set; }
|
||||||
{
|
public string RevNote { get; set; }
|
||||||
get { return _RevStage; }
|
public bool ViewPDF { get; set; }
|
||||||
set { _RevStage = value; }
|
public string MsgNumber { get; set; }
|
||||||
}
|
public string MsgDate { get; set; }
|
||||||
private string _RevNote;
|
public bool CanIncrement { get; set; }
|
||||||
public string RevNote
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
{
|
|
||||||
get { return _RevNote; }
|
|
||||||
set { _RevNote = value; }
|
|
||||||
}
|
|
||||||
private bool _ViewPDF;
|
|
||||||
public bool ViewPDF
|
|
||||||
{
|
|
||||||
get { return _ViewPDF; }
|
|
||||||
set { _ViewPDF = value; }
|
|
||||||
}
|
|
||||||
private string _MsgNumber;
|
|
||||||
public string MsgNumber
|
|
||||||
{
|
|
||||||
get { return _MsgNumber; }
|
|
||||||
set { _MsgNumber = value; }
|
|
||||||
}
|
|
||||||
private string _MsgDate;
|
|
||||||
public string MsgDate
|
|
||||||
{
|
|
||||||
get { return _MsgDate; }
|
|
||||||
set { _MsgDate = value; }
|
|
||||||
}
|
|
||||||
private bool _CanIncrement;
|
|
||||||
public bool CanIncrement
|
|
||||||
{
|
|
||||||
get { return _CanIncrement; }
|
|
||||||
set { _CanIncrement = value; }
|
|
||||||
}
|
|
||||||
private List<ApprovalProcedure> _MyProcedures;
|
private List<ApprovalProcedure> _MyProcedures;
|
||||||
public List<ApprovalProcedure> MyProcedures
|
public List<ApprovalProcedure> MyProcedures => _MyProcedures;
|
||||||
{
|
|
||||||
get { return _MyProcedures; }
|
|
||||||
//set { _MyProcedures = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
//B2026-058 - If approving multiple procedures at the same time with a multiunit set and one of the procedures is open, PROMS sometimes loses that it is set for an individual unit.
|
//B2026-058 - If approving multiple procedures at the same time with a multiunit set and one of the procedures is open, PROMS sometimes loses that it is set for an individual unit.
|
||||||
// this will save the SectedSlave in case a refresh causes it to get lost
|
// this will save the SectedSlave in case a refresh causes it to get lost
|
||||||
@@ -927,10 +718,6 @@ namespace VEPROMS
|
|||||||
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
MyFrmVEPROMS = myFrmVEPROMS;// Save frmVEPROMS for Import to shutoff SessionPing
|
||||||
_MyProcedures = new List<ApprovalProcedure>();
|
_MyProcedures = new List<ApprovalProcedure>();
|
||||||
}
|
}
|
||||||
private static string FormatRev(Match m)
|
|
||||||
{
|
|
||||||
return "".PadLeft(5 - m.Groups[1].Value.Length, '0') + m.Groups[1].Value;
|
|
||||||
}
|
|
||||||
public void AddProcedure(ProcedureInfo proc)
|
public void AddProcedure(ProcedureInfo proc)
|
||||||
{
|
{
|
||||||
ApprovalProcedure ap = new ApprovalProcedure(proc);
|
ApprovalProcedure ap = new ApprovalProcedure(proc);
|
||||||
@@ -963,64 +750,11 @@ namespace VEPROMS
|
|||||||
public void Refresh()
|
public void Refresh()
|
||||||
{
|
{
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
int rv = 0;
|
|
||||||
foreach (ApprovalProcedure ap in MyProcedures)
|
foreach (ApprovalProcedure ap in MyProcedures)
|
||||||
{
|
{
|
||||||
ok = ok && int.TryParse(ap.RevNumber, out rv);
|
ok = ok && int.TryParse(ap.RevNumber, out int rv);
|
||||||
}
|
}
|
||||||
_CanIncrement = ok;
|
CanIncrement = ok;
|
||||||
//if (MyProcedures.Count == 1)
|
|
||||||
//{
|
|
||||||
// ProcedureInfo pi = _MyProcedures[0].ProcInfo;
|
|
||||||
// RevNumber = pi.ProcedureConfig.Print_Rev == string.Empty ? "0" : pi.ProcedureConfig.Print_Rev;
|
|
||||||
// DateTime revdate = pi.ProcedureConfig.Print_RevDate == string.Empty ? DateTime.Now : DateTime.TryParse(pi.ProcedureConfig.Print_RevDate, out revdate) ? revdate : DateTime.Now;
|
|
||||||
// RevDate = revdate;
|
|
||||||
// RevNote = string.Empty;
|
|
||||||
// ViewPDF = false;
|
|
||||||
//}
|
|
||||||
//else if (MyProcedures.Count > 1)
|
|
||||||
//{
|
|
||||||
// Regex myRegEx = new Regex("^([0-9]{1,5})");
|
|
||||||
// SortedList<string, ProcedureInfo> printRevs = new SortedList<string, ProcedureInfo>();
|
|
||||||
// SortedList<string, ProcedureInfo> printRevDates = new SortedList<string, ProcedureInfo>();
|
|
||||||
// string printRev = string.Empty;
|
|
||||||
// foreach (ApprovalProcedure pi in MyProcedures)
|
|
||||||
// {
|
|
||||||
// printRev = myRegEx.Replace(pi.RevNumber, new MatchEvaluator(FormatRev));
|
|
||||||
// printRev = printRev == string.Empty ? "0" : printRev;
|
|
||||||
// if (printRev != string.Empty)
|
|
||||||
// if (!printRevs.ContainsKey(printRev))
|
|
||||||
// printRevs.Add(printRev, pi.ProcInfo);
|
|
||||||
// if (pi.RevDate != null)
|
|
||||||
// if (!printRevDates.ContainsKey(pi.RevDate.ToString()))
|
|
||||||
// printRevDates.Add(pi.RevDate.ToString(), pi.ProcInfo);
|
|
||||||
// }
|
|
||||||
// if (printRevs.Count > 1)
|
|
||||||
// {
|
|
||||||
// ProcedureInfo pi = printRevs[printRevs.Keys[printRevs.Count - 1]];
|
|
||||||
// RevNumber = "*";
|
|
||||||
// MsgNumber = "Multiple Revision Numbers found. Enter asterisk (*) to use current revision numbers or plus sign (+) to increment revision numbers";
|
|
||||||
// }
|
|
||||||
// else if (printRevs.Count == 1)
|
|
||||||
// {
|
|
||||||
// ProcedureInfo pi = printRevs[printRevs.Keys[printRevs.Count - 1]];
|
|
||||||
// RevNumber = pi.ProcedureConfig.Print_Rev;
|
|
||||||
// MsgNumber = string.Empty;
|
|
||||||
// }
|
|
||||||
// if (printRevDates.Count > 1)
|
|
||||||
// {
|
|
||||||
// RevDate = null;
|
|
||||||
// MsgDate = "Multiple Revision Dates found. Use current revision dates or manually assign revision date by selecting a date";
|
|
||||||
// }
|
|
||||||
// else if (printRevDates.Count == 1)
|
|
||||||
// {
|
|
||||||
// ProcedureInfo pi = printRevDates[printRevDates.Keys[printRevDates.Count - 1]];
|
|
||||||
// RevDate = DateTime.Parse(pi.ProcedureConfig.Print_RevDate);
|
|
||||||
// MsgDate = string.Empty;
|
|
||||||
// }
|
|
||||||
// else if (printRevDates.Count == 0)
|
|
||||||
// RevDate = DateTime.Now;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
public void DeleteProcedure(ProcedureInfo pi)
|
public void DeleteProcedure(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
@@ -1036,10 +770,7 @@ namespace VEPROMS
|
|||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool CanApprove
|
public bool CanApprove => RevType > 0 && RevNumber != string.Empty && RevStage > 0;
|
||||||
{
|
|
||||||
get { return _RevType > 0 && _RevNumber != string.Empty && _RevStage > 0; }
|
|
||||||
}
|
|
||||||
public int FancyShmancyRevCompare(string s1, string s2)
|
public int FancyShmancyRevCompare(string s1, string s2)
|
||||||
{
|
{
|
||||||
if (s1 == s2)
|
if (s1 == s2)
|
||||||
@@ -1164,13 +895,13 @@ namespace VEPROMS
|
|||||||
if (MessageBox.Show(sb.ToString(),string.Format("Revert to {0}",nsi.Name),MessageBoxButtons.YesNo,MessageBoxIcon.Stop) == DialogResult.No)
|
if (MessageBox.Show(sb.ToString(),string.Format("Revert to {0}",nsi.Name),MessageBoxButtons.YesNo,MessageBoxIcon.Stop) == DialogResult.No)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DialogResult doSumChgDR = FlexibleMessageBox.Show("Do you want to save the Summary of Changes along with the Approved PDF?\r\n\r\nSelecting 'Cancel' will cancel the approval process.", "Create Summary of Changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
|
||||||
|
if (doSumChgDR == DialogResult.Cancel) return false;
|
||||||
// C2018-007: When performing more than a single procedure approval (approve all or some), only prompt once whether to include
|
// C2018-007: When performing more than a single procedure approval (approve all or some), only prompt once whether to include
|
||||||
// Summary of Changes (use the following 2 flags, code using them is below)
|
// Summary of Changes (use the following 2 flags, code using them is below)
|
||||||
// C2022-022: Moved the prompt once for Summary of changes out of loop and allow user to cancel, go back to approval dialog
|
// C2022-022: Moved the prompt once for Summary of changes out of loop and allow user to cancel, go back to approval dialog
|
||||||
bool doSumChg = false;
|
bool doSumChg = doSumChgDR == DialogResult.Yes;
|
||||||
DialogResult doSumChgDR = FlexibleMessageBox.Show("Do you want to save the Summary of Changes along with the Approved PDF?\r\n\r\nSelecting 'Cancel' will cancel the approval process.", "Create Summary of Changes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
|
|
||||||
if (doSumChgDR == DialogResult.Cancel) return false;
|
|
||||||
doSumChg = doSumChgDR == DialogResult.Yes;
|
|
||||||
List<string> procsApproved = new List<string>();
|
List<string> procsApproved = new List<string>();
|
||||||
foreach (ApprovalProcedure ap in MyProcedures)
|
foreach (ApprovalProcedure ap in MyProcedures)
|
||||||
{
|
{
|
||||||
@@ -1186,9 +917,8 @@ namespace VEPROMS
|
|||||||
//B2026-058 - If approving multiple procedures at the same time with a multiunit set and one of the procedures is open, PROMS sometimes loses that it is set for an individual unit.
|
//B2026-058 - If approving multiple procedures at the same time with a multiunit set and one of the procedures is open, PROMS sometimes loses that it is set for an individual unit.
|
||||||
ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave = SavedSlave;
|
ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave = SavedSlave;
|
||||||
}
|
}
|
||||||
procsApproved.Add(ap.ProcInfo.DisplayNumber + " " + ap.ProcInfo.DisplayText);
|
procsApproved.Add($"{ap.ProcInfo.DisplayNumber} {ap.ProcInfo.DisplayText}");
|
||||||
RevisionInfo ric = pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(pi.ItemID, pi.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(pi.ItemID);
|
RevisionInfo ric = pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(pi.ItemID, pi.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(pi.ItemID);
|
||||||
// RevisionInfo rip = RevisionInfo.GetPreviousByItemID(pi.ItemID);
|
|
||||||
DateTime myDTS = pi.DTS; // pi.DTS is date of last approval
|
DateTime myDTS = pi.DTS; // pi.DTS is date of last approval
|
||||||
string cbDTS = (pi.MyConfig as ProcedureConfig).Print_ChangeBarDate;
|
string cbDTS = (pi.MyConfig as ProcedureConfig).Print_ChangeBarDate;
|
||||||
// pi.DTS was the field that was used to store the approval date before master/slave code was added. Use ChangeBarDate if it is set - this is set either manually if no approval date (from treeview menu) or
|
// pi.DTS was the field that was used to store the approval date before master/slave code was added. Use ChangeBarDate if it is set - this is set either manually if no approval date (from treeview menu) or
|
||||||
@@ -1203,7 +933,6 @@ namespace VEPROMS
|
|||||||
if (ap.RevNumber == ric.RevisionNumber)
|
if (ap.RevNumber == ric.RevisionNumber)
|
||||||
{
|
{
|
||||||
myDTS = ric.MyConfig.History_StartDate;
|
myDTS = ric.MyConfig.History_StartDate;
|
||||||
//UpdateProcedureDTS(pi, myDTS);
|
|
||||||
}
|
}
|
||||||
// New approval, i.e. not same revision number, use the date from the latest approved version
|
// New approval, i.e. not same revision number, use the date from the latest approved version
|
||||||
else
|
else
|
||||||
@@ -1211,26 +940,24 @@ namespace VEPROMS
|
|||||||
myDTS = ric.LatestVersion.DTS; // B2019-051: Extra info in Change Summary. Use the last 'approved' (ric.LatestVersion.MyStage.IsApproved==1)
|
myDTS = ric.LatestVersion.DTS; // B2019-051: Extra info in Change Summary. Use the last 'approved' (ric.LatestVersion.MyStage.IsApproved==1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Revision revision = null;
|
Revision revision;
|
||||||
if (ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
|
if (ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
|
||||||
{
|
{
|
||||||
revision = Revision.GetByItemIDAndRevisionNumberAndUnitID(pi.ItemID, ap.RevNumber, ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave);
|
revision = Revision.GetByItemIDAndRevisionNumberAndUnitID(pi.ItemID, ap.RevNumber, ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave);
|
||||||
if (revision == null) // no revision yet, need to set the StartDate & which slave
|
if (revision == null) // no revision yet, need to set the StartDate & which slave
|
||||||
{
|
{
|
||||||
RevisionConfig cfg = new RevisionConfig();
|
RevisionConfig cfg = new RevisionConfig
|
||||||
cfg.History_StartDate = myDTS; // if there is a slave, date found from above code
|
{
|
||||||
cfg.Applicability_Index = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave;
|
History_StartDate = myDTS, // if there is a slave, date found from above code
|
||||||
//cfg.Save();
|
Applicability_Index = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave
|
||||||
|
};
|
||||||
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), now, Volian.Base.Library.VlnSettings.UserID);
|
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), now, Volian.Base.Library.VlnSettings.UserID);
|
||||||
// revision.MyConfig.History_StartDate = pi.DTS;
|
|
||||||
// revision.MyConfig.Save();
|
|
||||||
// revision = revision.Save();
|
|
||||||
}
|
}
|
||||||
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
|
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
|
||||||
{
|
{
|
||||||
//C2016-036 - Inform the user that an existing approved version will be replaced
|
//C2016-036 - Inform the user that an existing approved version will be replaced
|
||||||
//C2022-016 - Improve/clarify the dialog message
|
//C2022-016 - Improve/clarify the dialog message
|
||||||
if (MessageBox.Show("Replace Existing Revision " + ap.RevNumber + "?\r\n\r\nTo create a new revision, click Cancel then change\r\nthe Rev. Number.", "Replace Existing", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
|
if (MessageBox.Show($"Replace Existing Revision {ap.RevNumber}?\r\n\r\nTo create a new revision, click Cancel then change\r\nthe Rev. Number.", "Replace Existing", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
|
||||||
return false;
|
return false;
|
||||||
revision.Notes = RevNote;
|
revision.Notes = RevNote;
|
||||||
revision.RevisionDate = ap.RevDate;
|
revision.RevisionDate = ap.RevDate;
|
||||||
@@ -1245,19 +972,17 @@ namespace VEPROMS
|
|||||||
// went wrong, the revision could be created but not the version. Added the count check below.
|
// went wrong, the revision could be created but not the version. Added the count check below.
|
||||||
if (revision == null || revision.RevisionVersionCount==0) // no revision yet, need to set the StartDate. If there is a revision, it uses the revision date as the startdate
|
if (revision == null || revision.RevisionVersionCount==0) // no revision yet, need to set the StartDate. If there is a revision, it uses the revision date as the startdate
|
||||||
{
|
{
|
||||||
RevisionConfig cfg = new RevisionConfig();
|
RevisionConfig cfg = new RevisionConfig
|
||||||
cfg.History_StartDate = pi.DTS; // todo: this should probably be myDTS, found during fix of B2019-051.
|
{
|
||||||
//cfg.Save();
|
History_StartDate = pi.DTS // todo: this should probably be myDTS, found during fix of B2019-051.
|
||||||
|
};
|
||||||
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), now, Volian.Base.Library.VlnSettings.UserID);
|
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), now, Volian.Base.Library.VlnSettings.UserID);
|
||||||
// revision.MyConfig.History_StartDate = pi.DTS;
|
|
||||||
// revision.MyConfig.Save();
|
|
||||||
// revision = revision.Save();
|
|
||||||
}
|
}
|
||||||
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
|
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
|
||||||
{
|
{
|
||||||
//C2016-036 - Inform the user that an existing approved version will be replaced
|
//C2016-036 - Inform the user that an existing approved version will be replaced
|
||||||
//C2022-016 - Improve/clarify the dialog message
|
//C2022-016 - Improve/clarify the dialog message
|
||||||
if (MessageBox.Show("Replace Existing Revision " + ap.RevNumber + "?\r\n\r\nTo create a new revision, click Cancel then change\r\nthe Rev. Number.", "Replace Existing", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
|
if (MessageBox.Show($"Replace Existing Revision {ap.RevNumber}?\r\n\r\nTo create a new revision, click Cancel then change\r\nthe Rev. Number.", "Replace Existing", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
|
||||||
return false;
|
return false;
|
||||||
revision.Notes = RevNote;
|
revision.Notes = RevNote;
|
||||||
revision.RevisionDate = ap.RevDate;
|
revision.RevisionDate = ap.RevDate;
|
||||||
@@ -1268,10 +993,7 @@ namespace VEPROMS
|
|||||||
//B2017-149 Allow the user to choose if they want the Summary of Changes report created during the approval process
|
//B2017-149 Allow the user to choose if they want the Summary of Changes report created during the approval process
|
||||||
if (doSumChg) summaryBuf = CreateSummary(ref pi, summaryPDF, myDTS);
|
if (doSumChg) summaryBuf = CreateSummary(ref pi, summaryPDF, myDTS);
|
||||||
DateTime currentDTS = now;
|
DateTime currentDTS = now;
|
||||||
Check check = Check.MakeCheck(revision, Stage.GetJustStage(RevStage), RevisionInfo.BuildRevisionChecks(pi), currentDTS, VlnSettings.UserID);
|
_ = Check.MakeCheck(revision, Stage.GetJustStage(RevStage), RevisionInfo.BuildRevisionChecks(pi), currentDTS, VlnSettings.UserID);
|
||||||
//make pdf with promsprinter and get byte stream
|
|
||||||
// Moved to end so that Item and Content are saved at the same time
|
|
||||||
//UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS);
|
|
||||||
string watermarkColor = "Blue"; // this is the default watermark color
|
string watermarkColor = "Blue"; // this is the default watermark color
|
||||||
string waterMark = Stage.GetJustStage(RevStage).IsApproved > 0 ? null : Stage.GetJustStage(RevStage).Name;
|
string waterMark = Stage.GetJustStage(RevStage).IsApproved > 0 ? null : Stage.GetJustStage(RevStage).Name;
|
||||||
// C2022-004 - BNPP if doing an approval stage, and the format file uses the UseUnitWatermarkOnApproved format flag (<PrintData UseUnitWatermarkOnApproved = "true"\>)
|
// C2022-004 - BNPP if doing an approval stage, and the format file uses the UseUnitWatermarkOnApproved format flag (<PrintData UseUnitWatermarkOnApproved = "true"\>)
|
||||||
@@ -1281,39 +1003,14 @@ namespace VEPROMS
|
|||||||
waterMark = "Unit Designator";
|
waterMark = "Unit Designator";
|
||||||
frmPDFStatusForm.SetUnitWatermark(MyProcedures[0].ProcInfo, ref waterMark, ref watermarkColor);
|
frmPDFStatusForm.SetUnitWatermark(MyProcedures[0].ProcInfo, ref waterMark, ref watermarkColor);
|
||||||
}
|
}
|
||||||
//ProcedureInfo myproc = pi;
|
|
||||||
//frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
|
||||||
//myproc.ChangeBarDate = myDTS;
|
|
||||||
frmPDFStatusForm frm = new frmPDFStatusForm(pi, ap.RevNumAndDate, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location, pi.MyDocVersion.DocVersionConfig.Print_AddBlankPagesWhenUsingDuplexFoldouts, true, "", false, 0, false,
|
frmPDFStatusForm frm = new frmPDFStatusForm(pi, ap.RevNumAndDate, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location, pi.MyDocVersion.DocVersionConfig.Print_AddBlankPagesWhenUsingDuplexFoldouts, true, "", false, 0, false,
|
||||||
MyProcedures.Count > (MyProcedures[0].ProcInfo.MyDocVersion.Procedures.Count / 4), pi.MyDocVersion.DocVersionConfig.Print_DuplexBlankPageText, null, watermarkColor); // C2019-004: Allow user to define duplex lank page text at the docversion level
|
MyProcedures.Count > (MyProcedures[0].ProcInfo.MyDocVersion.Procedures.Count / 4), pi.MyDocVersion.DocVersionConfig.Print_DuplexBlankPageText, null, watermarkColor)
|
||||||
frm.AllowAllWatermarks = true;
|
{
|
||||||
frm.CloseWhenDone = !ViewPDF;
|
AllowAllWatermarks = true,
|
||||||
frm.DocReplace = new Dictionary<int, byte[]>(); // will hold the Word Attachments with resolved ROs
|
CloseWhenDone = !ViewPDF,
|
||||||
|
DocReplace = new Dictionary<int, byte[]>() // will hold the Word Attachments with resolved ROs
|
||||||
|
}; // C2019-004: Allow user to define duplex lank page text at the docversion level
|
||||||
frm.ShowDialog();
|
frm.ShowDialog();
|
||||||
//if (ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
|
|
||||||
//{
|
|
||||||
// using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildrenByUnit(pi.ItemID, 0, ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave))
|
|
||||||
// {
|
|
||||||
// //frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
|
||||||
// myproc.ChangeBarDate = myDTS;
|
|
||||||
// frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumAndDate, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
|
||||||
// frm.AllowAllWatermarks = true;
|
|
||||||
// frm.CloseWhenDone = !ViewPDF;
|
|
||||||
// frm.ShowDialog();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID))
|
|
||||||
// {
|
|
||||||
// //frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
|
||||||
// myproc.ChangeBarDate = myDTS;
|
|
||||||
// frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumAndDate, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
|
||||||
// frm.AllowAllWatermarks = true;
|
|
||||||
// frm.CloseWhenDone = !ViewPDF;
|
|
||||||
// frm.ShowDialog();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
FileInfo pdfFile = new FileInfo(pdfPath);
|
FileInfo pdfFile = new FileInfo(pdfPath);
|
||||||
FileStream fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
FileStream fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||||
byte[] buf = new byte[pdfFile.Length];
|
byte[] buf = new byte[pdfFile.Length];
|
||||||
@@ -1333,8 +1030,10 @@ namespace VEPROMS
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
dlgExportImport dlg = new dlgExportImport("Export", pi, MyFrmVEPROMS, (selectedSlave)); // "true tell export to convert ROs and Transitions to text
|
dlgExportImport dlg = new dlgExportImport("Export", pi, MyFrmVEPROMS, (selectedSlave))
|
||||||
dlg.DocReplace = frm.DocReplace; // this tells approval to prepare an export file with resolved transitions and ROs, word sections are saved with resolved ROs during approval PDF creation and saved in DocReplace
|
{
|
||||||
|
DocReplace = frm.DocReplace // this tells approval to prepare an export file with resolved transitions and ROs, word sections are saved with resolved ROs during approval PDF creation and saved in DocReplace
|
||||||
|
}; // "true tell export to convert ROs and Transitions to text
|
||||||
System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
|
System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
|
||||||
dlg.ExportItem(xd, pi, "procedure");
|
dlg.ExportItem(xd, pi, "procedure");
|
||||||
frm.DocReplace = dlg.DocReplace = null;
|
frm.DocReplace = dlg.DocReplace = null;
|
||||||
@@ -1376,21 +1075,20 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
|
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
|
||||||
//UpdateProcedureDTS(pi, DateTime.Now);
|
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
|
||||||
}
|
}
|
||||||
// C2019-019: Put out a complete message when approval is done.
|
// C2019-019: Put out a complete message when approval is done.
|
||||||
// C2020-024 Display a more descriptive end message
|
// C2020-024 Display a more descriptive end message
|
||||||
if (procsApproved.Count > 0)
|
if (procsApproved.Count > 0)
|
||||||
{
|
{
|
||||||
string msg = "";
|
string msg;
|
||||||
if (procsApproved.Count == (MyProcedures[0]).ProcInfo.MyDocVersion.Procedures.Count)
|
if (procsApproved.Count == (MyProcedures[0]).ProcInfo.MyDocVersion.Procedures.Count)
|
||||||
msg = "All Procedures were Approved.";
|
msg = "All Procedures were Approved.";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
msg = "The following procedures were approved:\n";
|
msg = "The following procedures were approved:\n";
|
||||||
foreach (string prc in procsApproved)
|
foreach (string prc in procsApproved)
|
||||||
msg += "\n" + prc;
|
msg += $"\n{prc}";
|
||||||
}
|
}
|
||||||
FlexibleMessageBox.Show( msg, "Approve Procedure(s)", MessageBoxButtons.OK);
|
FlexibleMessageBox.Show( msg, "Approve Procedure(s)", MessageBoxButtons.OK);
|
||||||
}
|
}
|
||||||
@@ -1434,7 +1132,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
while (!(ex is System.Data.SqlClient.SqlException) && ex.InnerException != null)
|
while (!(ex is System.Data.SqlClient.SqlException) && ex.InnerException != null)
|
||||||
ex = ex.InnerException;
|
ex = ex.InnerException;
|
||||||
MessageBox.Show(ex.Message +"\r\n\r\nApproval will continue without the Summary of Change Report", ex.GetType().Name + " while trying to create Summary of Changes." , MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
MessageBox.Show(ex.Message +"\r\n\r\nApproval will continue without the Summary of Change Report", $"{ex.GetType().Name} while trying to create Summary of Changes.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1456,7 +1154,7 @@ namespace VEPROMS
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.AppendLine("Could not create");
|
sb.AppendLine("Could not create");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
sb.AppendLine(pdfFile + ".");
|
sb.AppendLine($"{pdfFile}.");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
sb.AppendLine("If it is open, close it then press the OK button.");
|
sb.AppendLine("If it is open, close it then press the OK button.");
|
||||||
if (cntr >= 3) // after two tries offer additional troubleshooting information
|
if (cntr >= 3) // after two tries offer additional troubleshooting information
|
||||||
@@ -1471,18 +1169,9 @@ namespace VEPROMS
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateProcedureDTS(ProcedureInfo pi, DateTime dts)
|
|
||||||
{
|
|
||||||
using (Item itm = Item.Get(pi.ItemID))
|
|
||||||
{
|
|
||||||
itm.DTS = dts;
|
|
||||||
itm.Save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts, int selectedSlave)
|
private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts, int selectedSlave)
|
||||||
{
|
{
|
||||||
ProcedureConfig pc = procedureInfo.MyConfig as ProcedureConfig;
|
if (!(procedureInfo.MyConfig is ProcedureConfig pc)) return;
|
||||||
if (pc == null) return;
|
|
||||||
|
|
||||||
pc.SelectedSlave = selectedSlave;
|
pc.SelectedSlave = selectedSlave;
|
||||||
pc.Print_Rev = revNumber;
|
pc.Print_Rev = revNumber;
|
||||||
@@ -1492,7 +1181,6 @@ namespace VEPROMS
|
|||||||
using (Item itm = Item.Get(procedureInfo.ItemID))
|
using (Item itm = Item.Get(procedureInfo.ItemID))
|
||||||
{
|
{
|
||||||
itm.MyContent.Config = pc.ToString();
|
itm.MyContent.Config = pc.ToString();
|
||||||
//itm.DTS = dts;
|
|
||||||
itm.UserID = Volian.Base.Library.VlnSettings.UserID;
|
itm.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||||
itm.Save();
|
itm.Save();
|
||||||
|
|
||||||
@@ -1515,22 +1203,12 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
public class RevType
|
public class RevType
|
||||||
{
|
{
|
||||||
private int _TypeID;
|
public int TypeID { get; set; }
|
||||||
public int TypeID
|
public string TypeName { get; set; }
|
||||||
{
|
|
||||||
get { return _TypeID; }
|
|
||||||
set { _TypeID = value; }
|
|
||||||
}
|
|
||||||
private string _TypeName;
|
|
||||||
public string TypeName
|
|
||||||
{
|
|
||||||
get { return _TypeName; }
|
|
||||||
set { _TypeName = value; }
|
|
||||||
}
|
|
||||||
public RevType(int i, string s)
|
public RevType(int i, string s)
|
||||||
{
|
{
|
||||||
_TypeID = i;
|
TypeID = i;
|
||||||
_TypeName = s;
|
TypeName = s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class RevTypes : List<RevType>
|
public class RevTypes : List<RevType>
|
||||||
@@ -1539,29 +1217,14 @@ namespace VEPROMS
|
|||||||
public delegate void DisplayConsistencyReportEvent(object sender, ConsistencyReportArgs args);
|
public delegate void DisplayConsistencyReportEvent(object sender, ConsistencyReportArgs args);
|
||||||
public class ConsistencyReportArgs : EventArgs
|
public class ConsistencyReportArgs : EventArgs
|
||||||
{
|
{
|
||||||
private string _ReportName;
|
public string ReportName { get; set; }
|
||||||
public string ReportName
|
public ItemInfoList MyItems { get; set; }
|
||||||
{
|
public DocVersionInfo MyDocVersion { get; set; }
|
||||||
get { return _ReportName; }
|
|
||||||
set { _ReportName = value; }
|
|
||||||
}
|
|
||||||
private ItemInfoList _MyItems;
|
|
||||||
public ItemInfoList MyItems
|
|
||||||
{
|
|
||||||
get { return _MyItems; }
|
|
||||||
set { _MyItems = value; }
|
|
||||||
}
|
|
||||||
private DocVersionInfo _MyDocVersion;
|
|
||||||
public DocVersionInfo MyDocVersion
|
|
||||||
{
|
|
||||||
get { return _MyDocVersion; }
|
|
||||||
set { _MyDocVersion = value; }
|
|
||||||
}
|
|
||||||
public ConsistencyReportArgs(string reportName, ItemInfoList myItems, DocVersionInfo myDocVerion)
|
public ConsistencyReportArgs(string reportName, ItemInfoList myItems, DocVersionInfo myDocVerion)
|
||||||
{
|
{
|
||||||
_ReportName = reportName;
|
ReportName = reportName;
|
||||||
_MyItems = myItems;
|
MyItems = myItems;
|
||||||
_MyDocVersion = myDocVerion; //B2020-020 needed to pass in DocVersion to get paper size from format
|
MyDocVersion = myDocVerion; //B2020-020 needed to pass in DocVersion to get paper size from format
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
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.Windows.Forms;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
@@ -21,8 +14,8 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void btnTabs_Click(object sender, EventArgs e)
|
private void btnTabs_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Remember = this.cbRemember.Checked;
|
Remember = cbRemember.Checked;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
@@ -23,36 +19,22 @@ namespace VEPROMS
|
|||||||
_MySessionInfo = SessionInfo.Get(_MyOwnerInfo.SessionID);
|
_MySessionInfo = SessionInfo.Get(_MyOwnerInfo.SessionID);
|
||||||
_MyUserInfo = ui;
|
_MyUserInfo = ui;
|
||||||
}
|
}
|
||||||
private ProcedureInfo _MyProcedureInfo;
|
private readonly ProcedureInfo _MyProcedureInfo;
|
||||||
public ProcedureInfo MyProcedureInfo
|
public ProcedureInfo MyProcedureInfo => _MyProcedureInfo;
|
||||||
{
|
private readonly SectionInfo _MySectionInfo;
|
||||||
get { return _MyProcedureInfo; }
|
public SectionInfo MySectionInfo => _MySectionInfo;
|
||||||
}
|
private readonly OwnerInfo _MyOwnerInfo;
|
||||||
private SectionInfo _MySectionInfo;
|
public OwnerInfo MyOwnerInfo => _MyOwnerInfo;
|
||||||
public SectionInfo MySectionInfo
|
private readonly SessionInfo _MySessionInfo;
|
||||||
{
|
public SessionInfo MySessionInfo => _MySessionInfo;
|
||||||
get { return _MySectionInfo; }
|
private readonly UserInfo _MyUserInfo;
|
||||||
}
|
public UserInfo MyUserInfo => _MyUserInfo;
|
||||||
private OwnerInfo _MyOwnerInfo;
|
|
||||||
public OwnerInfo MyOwnerInfo
|
|
||||||
{
|
|
||||||
get { return _MyOwnerInfo; }
|
|
||||||
}
|
|
||||||
private SessionInfo _MySessionInfo;
|
|
||||||
public SessionInfo MySessionInfo
|
|
||||||
{
|
|
||||||
get { return _MySessionInfo; }
|
|
||||||
}
|
|
||||||
private UserInfo _MyUserInfo;
|
|
||||||
public UserInfo MyUserInfo
|
|
||||||
{
|
|
||||||
get { return _MyUserInfo; }
|
|
||||||
}
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
|
|
||||||
private void dlgCheckedOutProcedure_Load(object sender, EventArgs e)
|
private void dlgCheckedOutProcedure_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (MyProcedureInfo != null)
|
StringBuilder sb = new StringBuilder();
|
||||||
|
if (MyProcedureInfo != null)
|
||||||
sb.AppendLine(string.Format("The procedure {0} - {1}", MyProcedureInfo.DisplayNumber, MyProcedureInfo.DisplayText));
|
sb.AppendLine(string.Format("The procedure {0} - {1}", MyProcedureInfo.DisplayNumber, MyProcedureInfo.DisplayText));
|
||||||
else
|
else
|
||||||
sb.AppendLine(string.Format("The document {0}", MySectionInfo.DisplayText));
|
sb.AppendLine(string.Format("The document {0}", MySectionInfo.DisplayText));
|
||||||
@@ -74,7 +56,8 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void btnForce_Click(object sender, EventArgs e)
|
private void btnForce_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MySessionInfo.CheckInItem(MyOwnerInfo.OwnerID);
|
StringBuilder sb = new StringBuilder();
|
||||||
|
MySessionInfo.CheckInItem(MyOwnerInfo.OwnerID);
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
sb.AppendLine("Forced Check In has been completed");
|
sb.AppendLine("Forced Check In has been completed");
|
||||||
lblInfo.Text = sb.ToString();
|
lblInfo.Text = sb.ToString();
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Controls.Library;
|
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@@ -20,14 +18,9 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
#region Log4Net
|
#region Log4Net
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#endregion
|
#endregion
|
||||||
frmVEPROMS _MyFrmVEPROMS = null;// Save frmVEPROMS for Import to shutoff SessionPing
|
public frmVEPROMS MyFrmVEPROMS { get; set; } = null;
|
||||||
public frmVEPROMS MyFrmVEPROMS
|
private bool _ConvertROsToTextDuringImport = false;
|
||||||
{
|
|
||||||
get { return _MyFrmVEPROMS; }
|
|
||||||
set { _MyFrmVEPROMS = value; }
|
|
||||||
}
|
|
||||||
private bool _ConvertROsToTextDuringImport = false;
|
|
||||||
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
||||||
protected bool _ExportBothConvertedandNot = false; // set to true when Electronic Procedure export
|
protected bool _ExportBothConvertedandNot = false; // set to true when Electronic Procedure export
|
||||||
|
|
||||||
@@ -40,32 +33,18 @@ namespace VEPROMS
|
|||||||
//this will hold if a specific unit was selected
|
//this will hold if a specific unit was selected
|
||||||
readonly protected int _UnitIndex;
|
readonly protected int _UnitIndex;
|
||||||
|
|
||||||
private ItemInfo _ExternalTransitionItem = null;
|
public ItemInfo ExternalTransitionItem { get; set; } = null;
|
||||||
public ItemInfo ExternalTransitionItem
|
private Dictionary<int, int> floatFoldout;
|
||||||
{
|
|
||||||
get { return _ExternalTransitionItem; }
|
|
||||||
set { _ExternalTransitionItem = value; }
|
|
||||||
}
|
|
||||||
private Dictionary<int, int> floatFoldout;
|
|
||||||
private Dictionary<int, string> importedFormat;
|
private Dictionary<int, string> importedFormat;
|
||||||
private Dictionary<string, int> existingFormat;
|
private Dictionary<string, int> existingFormat;
|
||||||
private Dictionary<string, string> renamedUCFFormatName; // if format is renamed, this is its new name so references to it can be made
|
|
||||||
private Dictionary<int, int> renamedUCFFormatId; // if format is renamed, this is its old->new formatid
|
|
||||||
private int oldRODbID;
|
private int oldRODbID;
|
||||||
private int newRODbID;
|
private int newRODbID;
|
||||||
private FolderInfo _MyNewFolder;
|
private FolderInfo _MyNewFolder;
|
||||||
public FolderInfo MyNewFolder
|
public FolderInfo MyNewFolder => _MyNewFolder;
|
||||||
{
|
|
||||||
get { return _MyNewFolder; }
|
public ProcedureInfo MyNewProcedure { get; set; }
|
||||||
}
|
private string PEIPath;
|
||||||
private ProcedureInfo _MyNewProcedure;
|
private readonly string _MyMode;
|
||||||
public ProcedureInfo MyNewProcedure
|
|
||||||
{
|
|
||||||
get { return _MyNewProcedure; }
|
|
||||||
set { _MyNewProcedure = value; }
|
|
||||||
}
|
|
||||||
private string PEIPath;
|
|
||||||
private string _MyMode;
|
|
||||||
protected FolderInfo MyFolder = null;
|
protected FolderInfo MyFolder = null;
|
||||||
protected DocVersionInfo MyDocVersion = null;
|
protected DocVersionInfo MyDocVersion = null;
|
||||||
protected ProcedureInfo MyProcedure = null;
|
protected ProcedureInfo MyProcedure = null;
|
||||||
@@ -81,7 +60,7 @@ namespace VEPROMS
|
|||||||
_MyMode = mode;
|
_MyMode = mode;
|
||||||
MyFolder = folderInfo;
|
MyFolder = folderInfo;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.Text = mode + " Dialog for " + folderInfo.Name;
|
Text = $"{mode} Dialog for {folderInfo.Name}";
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
|
|
||||||
if (_UnitIndex > 0)
|
if (_UnitIndex > 0)
|
||||||
@@ -103,9 +82,9 @@ namespace VEPROMS
|
|||||||
MyDocVersion = docVersionInfo;
|
MyDocVersion = docVersionInfo;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
if (mode.ToUpper().Contains("FORMAT"))
|
if (mode.ToUpper().Contains("FORMAT"))
|
||||||
this.Text = mode;
|
Text = mode;
|
||||||
else
|
else
|
||||||
this.Text = mode + " Dialog for " + docVersionInfo.Name + " of " + docVersionInfo.MyFolder.Name;
|
Text = $"{mode} Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}";
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
|
|
||||||
if (_UnitIndex > 0)
|
if (_UnitIndex > 0)
|
||||||
@@ -124,7 +103,7 @@ namespace VEPROMS
|
|||||||
_MyMode = mode;
|
_MyMode = mode;
|
||||||
MyProcedure = procedureInfo;
|
MyProcedure = procedureInfo;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber;
|
Text = $"{mode} Dialog for {procedureInfo.DisplayNumber}";
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
|
|
||||||
if (_UnitIndex > 0)
|
if (_UnitIndex > 0)
|
||||||
@@ -173,7 +152,7 @@ namespace VEPROMS
|
|||||||
ofd.InitialDirectory = PEIPath;
|
ofd.InitialDirectory = PEIPath;
|
||||||
pnlImport.BringToFront();
|
pnlImport.BringToFront();
|
||||||
}
|
}
|
||||||
this.Height = this.Height / formsize;
|
Height /= formsize;
|
||||||
}
|
}
|
||||||
private void btnExport_Click(object sender, EventArgs e)
|
private void btnExport_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -220,19 +199,19 @@ namespace VEPROMS
|
|||||||
string msg = "Finished Exporting:\n\n";
|
string msg = "Finished Exporting:\n\n";
|
||||||
if (_MyMode.ToUpper().Contains("FORMAT"))
|
if (_MyMode.ToUpper().Contains("FORMAT"))
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
MyStart = DateTime.Now;
|
MyStart = DateTime.Now;
|
||||||
btnDoExport.Enabled = false;
|
btnDoExport.Enabled = false;
|
||||||
lblExportStatus.Text = "Performing Export of UC Formats";
|
lblExportStatus.Text = "Performing Export of UC Formats";
|
||||||
SaveExportUCF();
|
SaveExportUCF();
|
||||||
|
|
||||||
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
||||||
lblExportStatus.Text = "Format Export Completed in " + elapsed.ToString();
|
lblExportStatus.Text = $"Format Export Completed in {elapsed}";
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
else if (MyFolder != null)
|
else if (MyFolder != null)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
MyStart = DateTime.Now;
|
MyStart = DateTime.Now;
|
||||||
btnDoExport.Enabled = false;
|
btnDoExport.Enabled = false;
|
||||||
lblExportStatus.Text = "Performing Export";
|
lblExportStatus.Text = "Performing Export";
|
||||||
@@ -240,7 +219,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
||||||
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
msg += MyFolder.Name;
|
msg += MyFolder.Name;
|
||||||
}
|
}
|
||||||
else if (MyProcedure != null)
|
else if (MyProcedure != null)
|
||||||
@@ -281,7 +260,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
MyStart = DateTime.Now;
|
MyStart = DateTime.Now;
|
||||||
btnDoExport.Enabled = false;
|
btnDoExport.Enabled = false;
|
||||||
lblExportStatus.Text = "Performing Export";
|
lblExportStatus.Text = "Performing Export";
|
||||||
@@ -294,7 +273,7 @@ namespace VEPROMS
|
|||||||
xd.Save(fileLocation);
|
xd.Save(fileLocation);
|
||||||
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
||||||
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
// added message to user when export of a procedure or procedure set has completed
|
// added message to user when export of a procedure or procedure set has completed
|
||||||
if (successfullExport)
|
if (successfullExport)
|
||||||
@@ -338,7 +317,7 @@ namespace VEPROMS
|
|||||||
bool isImported = false;
|
bool isImported = false;
|
||||||
bool canceledPressed = false;
|
bool canceledPressed = false;
|
||||||
btnImport.Enabled = false;
|
btnImport.Enabled = false;
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
MyStart = DateTime.Now;
|
MyStart = DateTime.Now;
|
||||||
btnDoImport.Enabled = false;
|
btnDoImport.Enabled = false;
|
||||||
lblImportStatus.Text = "Performing Import";
|
lblImportStatus.Text = "Performing Import";
|
||||||
@@ -350,13 +329,13 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
TurnChangeManagerOff.Execute();
|
TurnChangeManagerOff.Execute();
|
||||||
MyFrmVEPROMS.DisablePing = true;// Turn-off SessionPing
|
MyFrmVEPROMS.DisablePing = true;// Turn-off SessionPing
|
||||||
bool result = TryToImportUCFs(ref isImported, ref canceledPressed);
|
bool result = TryToImportUCFs(ref isImported);
|
||||||
MyFrmVEPROMS.DisablePing = false;// Turn-on SessionPing
|
MyFrmVEPROMS.DisablePing = false;// Turn-on SessionPing
|
||||||
TurnChangeManagerOn.Execute();
|
TurnChangeManagerOn.Execute();
|
||||||
if (!result) // B2019-006: let user know there was an error during import:
|
if (!result) // B2019-006: let user know there was an error during import:
|
||||||
{
|
{
|
||||||
MessageBox.Show("Error occurred during import. Format(s) not imported.");
|
MessageBox.Show("Error occurred during import. Format(s) not imported.");
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
btnCloseImport.Enabled = true;
|
btnCloseImport.Enabled = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -400,7 +379,7 @@ namespace VEPROMS
|
|||||||
if (isImported)
|
if (isImported)
|
||||||
{
|
{
|
||||||
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
||||||
lblImportStatus.Text = "Import Completed in " + elapsed.ToString();
|
lblImportStatus.Text = $"Import Completed in {elapsed}";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -408,7 +387,7 @@ namespace VEPROMS
|
|||||||
btnDoImport.Enabled = true;
|
btnDoImport.Enabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
btnCloseImport.Enabled = true;
|
btnCloseImport.Enabled = true;
|
||||||
if (isImported)
|
if (isImported)
|
||||||
{
|
{
|
||||||
@@ -436,7 +415,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryToImportUCFs(ref bool isImported, ref bool canceledPressed)
|
private bool TryToImportUCFs(ref bool isImported)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -450,7 +429,7 @@ namespace VEPROMS
|
|||||||
if (nl == null || nl.Count == 0) // B2019-014: Check contents of import file for compatible operation
|
if (nl == null || nl.Count == 0) // B2019-014: Check contents of import file for compatible operation
|
||||||
{
|
{
|
||||||
MessageBox.Show("A Procedure export file can only be imported from the Tree View.", "Import Failed", MessageBoxButtons.OK);
|
MessageBox.Show("A Procedure export file can only be imported from the Tree View.", "Import Failed", MessageBoxButtons.OK);
|
||||||
this.Close();
|
Close();
|
||||||
isImported = false;
|
isImported = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -504,7 +483,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MessageBox.Show(ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
MessageBox.Show(ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||||||
_MyLog.Warn("Failed during UC Formats Import", ex);
|
_MyLog.Warn("Failed during UC Formats Import", ex);
|
||||||
this.Close();
|
Close();
|
||||||
isImported = false;
|
isImported = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -519,7 +498,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
MessageBox.Show(ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
MessageBox.Show(ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||||||
_MyLog.Warn("Failed during Procedure Import", ex);
|
_MyLog.Warn("Failed during Procedure Import", ex);
|
||||||
this.Close();
|
Close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -528,11 +507,9 @@ namespace VEPROMS
|
|||||||
private bool _ImportingApprovedExportFile = false;
|
private bool _ImportingApprovedExportFile = false;
|
||||||
private bool ImportingApprovedExport(string fnAndPath)
|
private bool ImportingApprovedExport(string fnAndPath)
|
||||||
{
|
{
|
||||||
bool rtnval = false;
|
int idx = fnAndPath.LastIndexOf("//") + 1;
|
||||||
int idx = fnAndPath.LastIndexOf("//") + 1;
|
|
||||||
string tmp = fnAndPath.Substring(idx);
|
string tmp = fnAndPath.Substring(idx);
|
||||||
rtnval = tmp.ToUpper().Contains("APPROVED_REV_");
|
return tmp.ToUpper().Contains("APPROVED_REV_");
|
||||||
return rtnval;
|
|
||||||
}
|
}
|
||||||
private bool ImportProcedure(ref bool isImported, ref bool canceledPressed)
|
private bool ImportProcedure(ref bool isImported, ref bool canceledPressed)
|
||||||
{
|
{
|
||||||
@@ -544,15 +521,17 @@ namespace VEPROMS
|
|||||||
if (ucf != null)
|
if (ucf != null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("A User Control of Format export file can only be imported from Administration on the V-Button.", "Import Failed", MessageBoxButtons.OK);
|
MessageBox.Show("A User Control of Format export file can only be imported from Administration on the V-Button.", "Import Failed", MessageBoxButtons.OK);
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
this.btnImport.Enabled = true; // allow user to select a different export file to import
|
btnImport.Enabled = true; // allow user to select a different export file to import
|
||||||
this.btnCloseImport.Enabled = true; // allow user to close import dialog
|
btnCloseImport.Enabled = true; // allow user to close import dialog
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
string rofolderpath = xd.DocumentElement.Attributes.GetNamedItem("rofolderpath").InnerText;
|
string rofolderpath = xd.DocumentElement.Attributes.GetNamedItem("rofolderpath").InnerText;
|
||||||
int rodbid = int.Parse(xd.DocumentElement.Attributes.GetNamedItem("rodbid").InnerText);
|
int rodbid = int.Parse(xd.DocumentElement.Attributes.GetNamedItem("rodbid").InnerText);
|
||||||
int rofstid = int.Parse(xd.DocumentElement.Attributes.GetNamedItem("rofstid").InnerText);
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - rofstid for Debugging/future use
|
||||||
if (MyDocVersion.DocVersionAssociationCount > 0)
|
int rofstid = int.Parse(xd.DocumentElement.Attributes.GetNamedItem("rofstid").InnerText);
|
||||||
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
|
if (MyDocVersion.DocVersionAssociationCount > 0)
|
||||||
{
|
{
|
||||||
// use current ROPath
|
// use current ROPath
|
||||||
MyRODb = RODb.GetJustRoDb(MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.RODbID);
|
MyRODb = RODb.GetJustRoDb(MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.RODbID);
|
||||||
@@ -560,15 +539,17 @@ namespace VEPROMS
|
|||||||
// then ask if we should import using the current workingdraft RO Path, convert the ROs to text, or cancel the import
|
// then ask if we should import using the current workingdraft RO Path, convert the ROs to text, or cancel the import
|
||||||
if (MyRODb.FolderPath != rofolderpath && !_ImportingApprovedExportFile) //B2020-095 don't display dialog if importing approved procedure export file
|
if (MyRODb.FolderPath != rofolderpath && !_ImportingApprovedExportFile) //B2020-095 don't display dialog if importing approved procedure export file
|
||||||
{
|
{
|
||||||
dlgImpHowToHandleROs dlg = new dlgImpHowToHandleROs();
|
dlgImpHowToHandleROs dlg = new dlgImpHowToHandleROs
|
||||||
dlg.ImportedROFolder = rofolderpath;
|
{
|
||||||
dlg.WorkingDraftROFolder = MyRODb.FolderPath;
|
ImportedROFolder = rofolderpath,
|
||||||
dlg.ShowDialog(this);
|
WorkingDraftROFolder = MyRODb.FolderPath
|
||||||
|
};
|
||||||
|
dlg.ShowDialog(this);
|
||||||
if (dlg.CancelImport)
|
if (dlg.CancelImport)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
this.btnImport.Enabled = true; // allow user to select a different export file to import
|
btnImport.Enabled = true; // allow user to select a different export file to import
|
||||||
this.btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
||||||
return false; // Return False to Indicate that the Import did not succeed
|
return false; // Return False to Indicate that the Import did not succeed
|
||||||
}
|
}
|
||||||
_ConvertROsToTextDuringImport = dlg.ConvertROsToText;
|
_ConvertROsToTextDuringImport = dlg.ConvertROsToText;
|
||||||
@@ -612,16 +593,18 @@ namespace VEPROMS
|
|||||||
if (localROPaths.Count == 0)
|
if (localROPaths.Count == 0)
|
||||||
{
|
{
|
||||||
MessageBox.Show("There has been no RO folder defined for this database.\r\n\r\nIn order to import a procedure, you need to assign a RO folder path.\r\n\r\nImport process will terminate.");
|
MessageBox.Show("There has been no RO folder defined for this database.\r\n\r\nIn order to import a procedure, you need to assign a RO folder path.\r\n\r\nImport process will terminate.");
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
return false;// Return False to Indicate that the Import did not succeed
|
return false;// Return False to Indicate that the Import did not succeed
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
dlgPickROFolder dlg = new dlgPickROFolder();
|
dlgPickROFolder dlg = new dlgPickROFolder
|
||||||
dlg.ImportedROFolder = rofolderpath;
|
{
|
||||||
dlg.LocalROFolders = localROPaths;
|
ImportedROFolder = rofolderpath,
|
||||||
dlg.ShowDialog(this);
|
LocalROFolders = localROPaths
|
||||||
|
};
|
||||||
|
dlg.ShowDialog(this);
|
||||||
if ((dlg.SelectedROFolder ?? string.Empty) != string.Empty) // B2015-216 If the return value is null treat it like an empty string
|
if ((dlg.SelectedROFolder ?? string.Empty) != string.Empty) // B2015-216 If the return value is null treat it like an empty string
|
||||||
{
|
{
|
||||||
MyRODb = RODb.GetByFolderPath(dlg.SelectedROFolder);
|
MyRODb = RODb.GetByFolderPath(dlg.SelectedROFolder);
|
||||||
@@ -645,7 +628,7 @@ namespace VEPROMS
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
MessageBox.Show("Since you did not pick an existing RO folder defined for this database, the import process will terminate.");
|
MessageBox.Show("Since you did not pick an existing RO folder defined for this database, the import process will terminate.");
|
||||||
this.Close();// Close the Import Window
|
Close();// Close the Import Window
|
||||||
return false;// Return False to Indicate that the Import did not succeed
|
return false;// Return False to Indicate that the Import did not succeed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -655,9 +638,9 @@ namespace VEPROMS
|
|||||||
bool didImp = LoadFormats(xd, "procedure/formats/format");
|
bool didImp = LoadFormats(xd, "procedure/formats/format");
|
||||||
if (!didImp)
|
if (!didImp)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
this.btnImport.Enabled = true; // allow user to select a different export file to import
|
btnImport.Enabled = true; // allow user to select a different export file to import
|
||||||
this.btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
||||||
return false; // Return False to Indicate that the Import did not succeed
|
return false; // Return False to Indicate that the Import did not succeed
|
||||||
}
|
}
|
||||||
// use resolvedProcNum to determine if procedure is 'unique', i.e. if the procedure number exists
|
// use resolvedProcNum to determine if procedure is 'unique', i.e. if the procedure number exists
|
||||||
@@ -763,7 +746,7 @@ namespace VEPROMS
|
|||||||
ProcedureInfo lastProcedure = null;
|
ProcedureInfo lastProcedure = null;
|
||||||
foreach (ProcedureInfo pi in MyDocVersion.Procedures.OfType<ProcedureInfo>())
|
foreach (ProcedureInfo pi in MyDocVersion.Procedures.OfType<ProcedureInfo>())
|
||||||
lastProcedure = pi;
|
lastProcedure = pi;
|
||||||
_MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
||||||
//update transitions
|
//update transitions
|
||||||
AddTransitions(PendingTransitions);
|
AddTransitions(PendingTransitions);
|
||||||
PendingTransitions.Save(fn);
|
PendingTransitions.Save(fn);
|
||||||
@@ -803,7 +786,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
xd.SelectSingleNode("procedure/content/@number").InnerText = string.Format("Copy({0}) of {1}", count.ToString(), number);
|
xd.SelectSingleNode("procedure/content/@number").InnerText = string.Format("Copy({0}) of {1}", count.ToString(), number);
|
||||||
//add imported procedure and copy count
|
//add imported procedure and copy count
|
||||||
_MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
||||||
//update transitions
|
//update transitions
|
||||||
AddTransitions(PendingTransitions);
|
AddTransitions(PendingTransitions);
|
||||||
FixFloatingFoldouts();
|
FixFloatingFoldouts();
|
||||||
@@ -861,7 +844,7 @@ namespace VEPROMS
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//add imported procedure
|
//add imported procedure
|
||||||
_MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
MyNewProcedure = AddProcedure(xd.DocumentElement, MyDocVersion, lastProcedure);
|
||||||
//update transitions
|
//update transitions
|
||||||
AddTransitions(PendingTransitions);
|
AddTransitions(PendingTransitions);
|
||||||
FixFloatingFoldouts();
|
FixFloatingFoldouts();
|
||||||
@@ -884,9 +867,9 @@ namespace VEPROMS
|
|||||||
bool didImp = LoadFormats(xd, "folder/formats/format");
|
bool didImp = LoadFormats(xd, "folder/formats/format");
|
||||||
if (!didImp)
|
if (!didImp)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
this.btnImport.Enabled = true; // allow user to select a different export file to import
|
btnImport.Enabled = true; // allow user to select a different export file to import
|
||||||
this.btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
btnDoImport.Enabled = true; // allow user to change mind and perform the import
|
||||||
return false; // Return False to Indicate that the Import did not succeed
|
return false; // Return False to Indicate that the Import did not succeed
|
||||||
}
|
}
|
||||||
string name = xd.DocumentElement.Attributes.GetNamedItem("name").InnerText;
|
string name = xd.DocumentElement.Attributes.GetNamedItem("name").InnerText;
|
||||||
@@ -1004,7 +987,8 @@ namespace VEPROMS
|
|||||||
c.Save();
|
c.Save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Dictionary<string, string> existingCopyFCName = new Dictionary<string, string>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
Dictionary<string, string> existingCopyFCName = new Dictionary<string, string>();
|
||||||
// note that this is used when importing a folder or a procedure (procedure was added for UCF changes)
|
// note that this is used when importing a folder or a procedure (procedure was added for UCF changes)
|
||||||
private bool LoadFormats(XmlDocument xd, string xmlpath)
|
private bool LoadFormats(XmlDocument xd, string xmlpath)
|
||||||
{
|
{
|
||||||
@@ -1015,21 +999,20 @@ namespace VEPROMS
|
|||||||
|
|
||||||
importedFormat = new Dictionary<int, string>();
|
importedFormat = new Dictionary<int, string>();
|
||||||
XmlNodeList nl = xd.SelectNodes(xmlpath);
|
XmlNodeList nl = xd.SelectNodes(xmlpath);
|
||||||
|
|
||||||
bool conflictingUCFdata = false;
|
|
||||||
List<string> existingFC = new List<string>();
|
List<string> existingFC = new List<string>();
|
||||||
List<string> importedFC = new List<string>();
|
List<string> importedFC = new List<string>();
|
||||||
List<string> fname = new List<string>();
|
List<string> fname = new List<string>();
|
||||||
|
|
||||||
foreach (XmlNode nd in nl)
|
foreach (XmlNode nd in nl)
|
||||||
{
|
{
|
||||||
string copyOfUCF = null;
|
// see if any of the imported formats are 'UCF' formats, i.e. have config data. If they are UCF,
|
||||||
// see if any of the imported formats are 'UCF' formats, i.e. have config data. If they are UCF,
|
// see if this is different that what is in the database. If it is, the user needs to decide
|
||||||
// see if this is different that what is in the database. If it is, the user needs to decide
|
// whether to associate sections with existing UCF format or the new one. All UCF formats will be
|
||||||
// whether to associate sections with existing UCF format or the new one. All UCF formats will be
|
// connected the same way, i.e. existing or new.
|
||||||
// connected the same way, i.e. existing or new.
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - formatid for Debugging/future use
|
||||||
int formatid = int.Parse(nd.Attributes.GetNamedItem("formatid").InnerText);
|
int formatid = int.Parse(nd.Attributes.GetNamedItem("formatid").InnerText);
|
||||||
string name = nd.Attributes.GetNamedItem("name").InnerText;
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
|
string name = nd.Attributes.GetNamedItem("name").InnerText;
|
||||||
string config = null;
|
string config = null;
|
||||||
XmlNode cfg = nd.Attributes.GetNamedItem("config");
|
XmlNode cfg = nd.Attributes.GetNamedItem("config");
|
||||||
if (cfg != null) config = cfg.InnerText;
|
if (cfg != null) config = cfg.InnerText;
|
||||||
@@ -1038,10 +1021,10 @@ namespace VEPROMS
|
|||||||
FormatInfo exFI = FormatInfo.Get(existingFormat[name]);
|
FormatInfo exFI = FormatInfo.Get(existingFormat[name]);
|
||||||
if (exFI.Config != config && exFI.Config != "" && exFI.Config != null && config != "" && config != null)
|
if (exFI.Config != config && exFI.Config != "" && exFI.Config != null && config != "" && config != null)
|
||||||
{
|
{
|
||||||
// See if there are copies of this UCF format, if so, this may match (have same config) one of those and should
|
// See if there are copies of this UCF format, if so, this may match (have same config) one of those and should
|
||||||
// use it before stating there is conflicting data.
|
// use it before stating there is conflicting data.
|
||||||
copyOfUCF = ContentsOfUCFExists(name, config);
|
string copyOfUCF = ContentsOfUCFExists(name, config);
|
||||||
if (copyOfUCF == null)
|
if (copyOfUCF == null)
|
||||||
{
|
{
|
||||||
existingFC.Add(exFI.Config);
|
existingFC.Add(exFI.Config);
|
||||||
importedFC.Add(config);
|
importedFC.Add(config);
|
||||||
@@ -1069,15 +1052,16 @@ namespace VEPROMS
|
|||||||
if (pnameAttrib != null)
|
if (pnameAttrib != null)
|
||||||
pname = pnameAttrib.InnerText;
|
pname = pnameAttrib.InnerText;
|
||||||
if (pname == null) continue;
|
if (pname == null) continue;
|
||||||
string description = null;
|
XmlNode descript = nd.Attributes.GetNamedItem("description");
|
||||||
XmlNode descript = nd.Attributes.GetNamedItem("description");
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - description, userid, dts for future use
|
||||||
if (descript != null) description = descript.InnerText;
|
string description = descript?.InnerText;
|
||||||
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||||
DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
||||||
// If the format that is being imported exists as a copy (already was imported and a 'Copy x of name' was created) and the imported and
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
// existing config match, use the existing (copied) format's name rather than importing it again (the dictionary was set up during
|
// If the format that is being imported exists as a copy (already was imported and a 'Copy x of name' was created) and the imported and
|
||||||
// the import formats process.
|
// existing config match, use the existing (copied) format's name rather than importing it again (the dictionary was set up during
|
||||||
if (existingCopyFCName.ContainsKey(name)) name = existingCopyFCName[name];
|
// the import formats process.
|
||||||
|
if (existingCopyFCName.ContainsKey(name)) name = existingCopyFCName[name];
|
||||||
|
|
||||||
// compare this imported format to the original in the database.
|
// compare this imported format to the original in the database.
|
||||||
// If format name exists, or if it has same config data, just use it.
|
// If format name exists, or if it has same config data, just use it.
|
||||||
@@ -1098,11 +1082,11 @@ namespace VEPROMS
|
|||||||
// parent format will always be in there, if it is a new format, it will be added before the child. Check just in case (no null reference).
|
// parent format will always be in there, if it is a new format, it will be added before the child. Check just in case (no null reference).
|
||||||
if (!existingFormat.ContainsKey(pname)) break;
|
if (!existingFormat.ContainsKey(pname)) break;
|
||||||
int pid = existingFormat[pname];
|
int pid = existingFormat[pname];
|
||||||
Format pformat = Format.Get(pid);
|
_ = Format.Get(pid);
|
||||||
|
|
||||||
// if the new format doesn't exist, it will be added (after these other checks). Otherwise, handle the
|
// if the new format doesn't exist, it will be added (after these other checks). Otherwise, handle the
|
||||||
// various cases listed above:
|
// various cases listed above:
|
||||||
if (existingFormat.ContainsKey(name))
|
if (existingFormat.ContainsKey(name))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
@@ -1221,7 +1205,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
||||||
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
||||||
//if (!Old2NewContent.ContainsKey(oldid))
|
|
||||||
Old2NewLibDoc.Add(oldid, newid);
|
Old2NewLibDoc.Add(oldid, newid);
|
||||||
}
|
}
|
||||||
File.Delete(fn);
|
File.Delete(fn);
|
||||||
@@ -1362,8 +1345,8 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
private void ExportFormats(FormatInfoList fil, XmlElement xn, string nodename, bool doElement)
|
private void ExportFormats(FormatInfoList fil, XmlElement xn, string nodename, bool doElement)
|
||||||
{
|
{
|
||||||
XmlElement xe = null;
|
XmlElement xe;
|
||||||
if (doElement) xe = xn.OwnerDocument.CreateElement(nodename);
|
if (doElement) xe = xn.OwnerDocument.CreateElement(nodename);
|
||||||
else xe = xn;
|
else xe = xn;
|
||||||
foreach (FormatInfo fi in fil)
|
foreach (FormatInfo fi in fil)
|
||||||
ExportFormat(xe, fi, "format");
|
ExportFormat(xe, fi, "format");
|
||||||
@@ -1489,7 +1472,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
pbExportProcedure.Value = 0;
|
pbExportProcedure.Value = 0;
|
||||||
pbExportProcedure.Maximum = dvi.Procedures.Count;
|
pbExportProcedure.Maximum = dvi.Procedures.Count;
|
||||||
lblExportProcedure.Text = pbExportProcedure.Maximum.ToString() + " Procedures";
|
lblExportProcedure.Text = $"{pbExportProcedure.Maximum} Procedures";
|
||||||
foreach (ItemInfo ii in dvi.Procedures)
|
foreach (ItemInfo ii in dvi.Procedures)
|
||||||
{
|
{
|
||||||
XmlDocument xd = new XmlDocument();
|
XmlDocument xd = new XmlDocument();
|
||||||
@@ -1641,14 +1624,14 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void ExportItem(XmlElement xn, ItemInfo ii, string nodename)
|
private void ExportItem(XmlElement xn, ItemInfo ii, string nodename)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
ItemID
|
ItemID
|
||||||
PreviousID
|
PreviousID
|
||||||
ContentID
|
ContentID
|
||||||
DTS
|
DTS
|
||||||
*/
|
*/
|
||||||
XmlElement xe = null;
|
XmlElement xe;
|
||||||
if (xn.Name == "procedure")
|
if (xn.Name == "procedure")
|
||||||
xe = xn;
|
xe = xn;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2434,12 +2417,9 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddTransitions()
|
private void AddTransitions() => AddTransitions(PendingTransitions);
|
||||||
{
|
|
||||||
AddTransitions(PendingTransitions);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddTransitions(XmlDocument xd)
|
private void AddTransitions(XmlDocument xd)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Content
|
Content
|
||||||
@@ -2459,7 +2439,7 @@ namespace VEPROMS
|
|||||||
type,id,toid,rangeid
|
type,id,toid,rangeid
|
||||||
*/
|
*/
|
||||||
XmlNodeList nl = xd.SelectNodes("//transition");
|
XmlNodeList nl = xd.SelectNodes("//transition");
|
||||||
lblImportStatus.Text = string.Format("Updating {0} Tranistions", nl.Count.ToString());
|
lblImportStatus.Text = $"Updating {nl.Count} Tranistions";
|
||||||
|
|
||||||
foreach (XmlNode nd in nl)
|
foreach (XmlNode nd in nl)
|
||||||
{
|
{
|
||||||
@@ -2522,9 +2502,8 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
else //transition to existing itemid (external)
|
else //transition to existing itemid (external)
|
||||||
{
|
{
|
||||||
bool forceConvertToText = false;
|
int transitionid = int.Parse(nd.Attributes.GetNamedItem("transitionid").InnerText);
|
||||||
int transitionid = int.Parse(nd.Attributes.GetNamedItem("transitionid").InnerText);
|
int isrange = int.Parse(nd.Attributes.GetNamedItem("isrange").InnerText);
|
||||||
int isrange = int.Parse(nd.Attributes.GetNamedItem("isrange").InnerText);
|
|
||||||
string config = nd.Attributes.GetNamedItem("config").InnerText;
|
string config = nd.Attributes.GetNamedItem("config").InnerText;
|
||||||
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||||
DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText);
|
||||||
@@ -2538,43 +2517,44 @@ namespace VEPROMS
|
|||||||
fromid = Old2NewContent[fromid];
|
fromid = Old2NewContent[fromid];
|
||||||
Content cc = Content.Get(fromid);
|
Content cc = Content.Get(fromid);
|
||||||
Transition tt = Transition.MakeTransition(cc, Item.Get(toid), Item.Get(rangeid), isrange, trantype, config, dts, userid);
|
Transition tt = Transition.MakeTransition(cc, Item.Get(toid), Item.Get(rangeid), isrange, trantype, config, dts, userid);
|
||||||
|
|
||||||
if (tt.TransitionID < 0)
|
|
||||||
{
|
|
||||||
forceConvertToText = true;
|
|
||||||
_DidProcessTransitions |= cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText); // B2017-076 FixTransitionText will tell us if transitions were processed/changed
|
|
||||||
cc.Save();
|
|
||||||
nd.InnerText = "done";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
transitionid = tt.TransitionID;
|
|
||||||
string replacewith;
|
|
||||||
|
|
||||||
if (isrange == 0)
|
|
||||||
replacewith = string.Format("#Link:Transition:{0} {1} {2}", trantype, transitionid, toid);
|
|
||||||
else
|
|
||||||
replacewith = string.Format("#Link:TransitionRange:{0} {1} {2} {3}", trantype, transitionid, toid, rangeid);
|
|
||||||
|
|
||||||
cc.Text = cc.Text.Replace(lookfor, replacewith);
|
|
||||||
|
|
||||||
if (cc.MyGrid != null && !string.IsNullOrEmpty(cc.MyGrid.Data))
|
bool forceConvertToText;
|
||||||
{
|
if (tt.TransitionID < 0)
|
||||||
cc.MyGrid.Data = cc.MyGrid.Data.Replace(lookfor, replacewith);
|
{
|
||||||
}
|
forceConvertToText = true;
|
||||||
|
_DidProcessTransitions |= cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText); // B2017-076 FixTransitionText will tell us if transitions were processed/changed
|
||||||
|
cc.Save();
|
||||||
|
nd.InnerText = "done";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
transitionid = tt.TransitionID;
|
||||||
|
string replacewith;
|
||||||
|
|
||||||
// B2016-176, B2016-197 - external transitions should be converted to text
|
if (isrange == 0)
|
||||||
forceConvertToText = true;
|
replacewith = string.Format("#Link:Transition:{0} {1} {2}", trantype, transitionid, toid);
|
||||||
_DidProcessTransitions |= cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText); // B2017-076 FixTransitionText will tell us if transitions were processed/changed
|
else
|
||||||
// B2017=003 make sure any grid changes are saved.
|
replacewith = string.Format("#Link:TransitionRange:{0} {1} {2} {3}", trantype, transitionid, toid, rangeid);
|
||||||
// done here because FixTransitionText() could update the transitions in the grid
|
|
||||||
if (cc.MyGrid != null && cc.MyGrid.Data != "")
|
cc.Text = cc.Text.Replace(lookfor, replacewith);
|
||||||
cc.MyGrid.Save();
|
|
||||||
cc.Save();
|
if (cc.MyGrid != null && !string.IsNullOrEmpty(cc.MyGrid.Data))
|
||||||
nd.InnerText = "done";
|
{
|
||||||
_DidConvertTransitionsToText |= (forceConvertToText && _DidProcessTransitions); // B2016-225 - notify user when transitions are converted to text
|
cc.MyGrid.Data = cc.MyGrid.Data.Replace(lookfor, replacewith);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// B2016-176, B2016-197 - external transitions should be converted to text
|
||||||
|
forceConvertToText = true;
|
||||||
|
_DidProcessTransitions |= cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText); // B2017-076 FixTransitionText will tell us if transitions were processed/changed
|
||||||
|
// B2017=003 make sure any grid changes are saved.
|
||||||
|
// done here because FixTransitionText() could update the transitions in the grid
|
||||||
|
if (cc.MyGrid != null && cc.MyGrid.Data != "")
|
||||||
|
cc.MyGrid.Save();
|
||||||
|
cc.Save();
|
||||||
|
nd.InnerText = "done";
|
||||||
|
_DidConvertTransitionsToText |= (forceConvertToText && _DidProcessTransitions); // B2016-225 - notify user when transitions are converted to text
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2620,7 +2600,6 @@ namespace VEPROMS
|
|||||||
if (formatID >= importedFormat.Count) return null; // formatID not found, use default file name
|
if (formatID >= importedFormat.Count) return null; // formatID not found, use default file name
|
||||||
formatName = importedFormat[formatID]; // for backwards compatibility with older export files
|
formatName = importedFormat[formatID]; // for backwards compatibility with older export files
|
||||||
}
|
}
|
||||||
if (renamedUCFFormatName != null && renamedUCFFormatName.ContainsKey(formatFileName)) formatName = renamedUCFFormatName[formatName];
|
|
||||||
formatID = existingFormat[formatName];
|
formatID = existingFormat[formatName];
|
||||||
return Format.Get(formatID);
|
return Format.Get(formatID);
|
||||||
}
|
}
|
||||||
@@ -2668,9 +2647,11 @@ namespace VEPROMS
|
|||||||
MyRODb = AddRODb(xrodb);
|
MyRODb = AddRODb(xrodb);
|
||||||
ROFst rofst = AddROFst(xrofst);
|
ROFst rofst = AddROFst(xrofst);
|
||||||
|
|
||||||
DocVersionAssociation dva = dv.DocVersionAssociations.Add(rofst);
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - dva kept for side effect code
|
||||||
|
DocVersionAssociation dva = dv.DocVersionAssociations.Add(rofst);
|
||||||
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
|
|
||||||
dv.Save();
|
dv.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
return DocVersionInfo.Get(dv.VersionID);
|
return DocVersionInfo.Get(dv.VersionID);
|
||||||
@@ -2905,9 +2886,11 @@ namespace VEPROMS
|
|||||||
foreach (XmlNode nd in xn.SelectNodes("rousage"))
|
foreach (XmlNode nd in xn.SelectNodes("rousage"))
|
||||||
{
|
{
|
||||||
string rousageid = nd.Attributes.GetNamedItem("rousageid").InnerText;
|
string rousageid = nd.Attributes.GetNamedItem("rousageid").InnerText;
|
||||||
string roid = nd.Attributes.GetNamedItem("roid").InnerText;
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - roid for Debugging/future use
|
||||||
|
string roid = nd.Attributes.GetNamedItem("roid").InnerText;
|
||||||
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
|
|
||||||
string findLink = @"<START\].*?\[END>";
|
string findLink = @"<START\].*?\[END>";
|
||||||
content.Text = content.Text.Replace("<START]<START]", "<START]").Replace(@"[END><START]", @"[END>\v0 \v <START]"); //B2020-057 bad RO link - remove extra START and insert comment off/on between <END]<START]
|
content.Text = content.Text.Replace("<START]<START]", "<START]").Replace(@"[END><START]", @"[END>\v0 \v <START]"); //B2020-057 bad RO link - remove extra START and insert comment off/on between <END]<START]
|
||||||
content.Save();
|
content.Save();
|
||||||
MatchCollection ms = Regex.Matches(content.Text, findLink);
|
MatchCollection ms = Regex.Matches(content.Text, findLink);
|
||||||
@@ -2943,7 +2926,7 @@ namespace VEPROMS
|
|||||||
if (prefix == @"\v ")
|
if (prefix == @"\v ")
|
||||||
part1 = part1.Substring(0, part1.Length - 3);
|
part1 = part1.Substring(0, part1.Length - 3);
|
||||||
else
|
else
|
||||||
part1 = part1.Substring(0, part1.Length - 3) + " ";
|
part1 = $"{part1.Substring(0, part1.Length - 3)} ";
|
||||||
//modify part3 based on suffix
|
//modify part3 based on suffix
|
||||||
if (suffix == @"\v0 ")
|
if (suffix == @"\v0 ")
|
||||||
part3 = part3.Substring(4);
|
part3 = part3.Substring(4);
|
||||||
@@ -3114,8 +3097,10 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
foreach (XmlNode nd in xn.SelectNodes("annotation"))
|
foreach (XmlNode nd in xn.SelectNodes("annotation"))
|
||||||
{
|
{
|
||||||
int typeid = int.Parse(nd.Attributes.GetNamedItem("typeid").InnerText);
|
#pragma warning disable IDE0059 // Unnecessary assignment of a value - typeid for debugging/future use
|
||||||
string rtftext = nd.Attributes.GetNamedItem("rtftext").InnerText;
|
int typeid = int.Parse(nd.Attributes.GetNamedItem("typeid").InnerText);
|
||||||
|
#pragma warning restore IDE0059 // Unnecessary assignment of a value
|
||||||
|
string rtftext = nd.Attributes.GetNamedItem("rtftext").InnerText;
|
||||||
string searchtext = nd.Attributes.GetNamedItem("searchtext").InnerText;
|
string searchtext = nd.Attributes.GetNamedItem("searchtext").InnerText;
|
||||||
string config = nd.Attributes.GetNamedItem("config").InnerText;
|
string config = nd.Attributes.GetNamedItem("config").InnerText;
|
||||||
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
string userid = nd.Attributes.GetNamedItem("userid").InnerText;
|
||||||
@@ -3850,7 +3835,7 @@ namespace VEPROMS
|
|||||||
if (d == null)
|
if (d == null)
|
||||||
{
|
{
|
||||||
// B2019-035 better memory management. Prior logic would eat up memory (and not free it).
|
// B2019-035 better memory management. Prior logic would eat up memory (and not free it).
|
||||||
string libkey = libtitle + "_" + dts.ToString();
|
string libkey = $"{libtitle}_{dts}";
|
||||||
if (ExistingLibDocs.ContainsKey(libkey))
|
if (ExistingLibDocs.ContainsKey(libkey))
|
||||||
d = Document.Get(ExistingLibDocs[libkey]); // found library document in existing database
|
d = Document.Get(ExistingLibDocs[libkey]); // found library document in existing database
|
||||||
}
|
}
|
||||||
@@ -3863,7 +3848,7 @@ namespace VEPROMS
|
|||||||
string config = xn.Attributes.GetNamedItem("config").InnerText;
|
string config = xn.Attributes.GetNamedItem("config").InnerText;
|
||||||
string userid = xn.Attributes.GetNamedItem("userid").InnerText;
|
string userid = xn.Attributes.GetNamedItem("userid").InnerText;
|
||||||
string fileextension = xn.Attributes.GetNamedItem("fileextension").InnerText;
|
string fileextension = xn.Attributes.GetNamedItem("fileextension").InnerText;
|
||||||
if (libtitle != "") libtitle = libtitle + "_" + dts.ToString(); // if a lib document, append the date/time to the title incase there are duplicate titles
|
if (libtitle != "") libtitle = $"{libtitle}_{dts}"; // if a lib document, append the date/time to the title incase there are duplicate titles
|
||||||
d = Document.MakeDocument(libtitle, doccontent, docascii, config, dts, userid, fileextension);
|
d = Document.MakeDocument(libtitle, doccontent, docascii, config, dts, userid, fileextension);
|
||||||
d.Save();
|
d.Save();
|
||||||
Old2NewLibDoc.Add(docid, d.DocID);
|
Old2NewLibDoc.Add(docid, d.DocID);
|
||||||
@@ -3873,20 +3858,14 @@ namespace VEPROMS
|
|||||||
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void btnCloseExport_Click(object sender, EventArgs e)
|
private void btnCloseExport_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnCloseImport_Click(object sender, EventArgs e)
|
private void btnCloseImport_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
//unset the unit (SelectedSlave)
|
//unset the unit (SelectedSlave)
|
||||||
private void RemoveUnit_OnClose(object sender, EventArgs e)
|
private void RemoveUnit_OnClose(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (MyProcedure != null)
|
if (MyProcedure != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace VEPROMS
|
|||||||
private readonly AnnotationTypeInfo _AnnotationType;
|
private readonly AnnotationTypeInfo _AnnotationType;
|
||||||
private readonly string multiseparator = ",";
|
private readonly string multiseparator = ",";
|
||||||
|
|
||||||
private static Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]");
|
private static readonly Regex _ROAccPageTokenPattern = new Regex("[<][^<>-]+-[^<>]+[>]");
|
||||||
|
|
||||||
public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, folderInfo, myFrmVEPROMS, ( unitIndex))
|
public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId, int unitIndex = 0) : base(mode, folderInfo, myFrmVEPROMS, ( unitIndex))
|
||||||
{
|
{
|
||||||
@@ -261,10 +261,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
string rodbpath = rodb.FolderPath;
|
string rodbpath = rodb.FolderPath;
|
||||||
|
|
||||||
string rocval = roc.value;
|
string rocval = roc.value ?? Array.Find(roc.children, x => x.value.Contains('.')).value;
|
||||||
if (rocval == null) rocval = Array.Find(roc.children, x => x.value.Contains('.')).value;
|
if (rocval == null) return "";
|
||||||
|
|
||||||
if (rocval == null) return "";
|
|
||||||
string imgname;
|
string imgname;
|
||||||
if (isMulti)
|
if (isMulti)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,54 +1,23 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class dlgImpHowToHandleROs : Form
|
public partial class dlgImpHowToHandleROs : Form
|
||||||
{
|
{
|
||||||
private string _ImportedROFolder;
|
public string ImportedROFolder { get; set; }
|
||||||
public string ImportedROFolder
|
public string WorkingDraftROFolder { get; set; }
|
||||||
{
|
private bool _CancelImport = true; // default to truen in case the dialog is closed with the red X in the upper right corner
|
||||||
get { return _ImportedROFolder; }
|
public bool CancelImport => _CancelImport;
|
||||||
set { _ImportedROFolder = value; }
|
private bool _ConvertROsToText = false;
|
||||||
}
|
public bool ConvertROsToText => _ConvertROsToText;
|
||||||
private string _WorkingDraftROFolder;
|
public dlgImpHowToHandleROs() => InitializeComponent();
|
||||||
public string WorkingDraftROFolder
|
|
||||||
{
|
|
||||||
get { return _WorkingDraftROFolder; }
|
|
||||||
set { _WorkingDraftROFolder = value; }
|
|
||||||
}
|
|
||||||
private bool _CancelImport = true; // default to truen in case the dialog is closed with the red X in the upper right corner
|
|
||||||
public bool CancelImport
|
|
||||||
{
|
|
||||||
get { return _CancelImport; }
|
|
||||||
}
|
|
||||||
private bool _ConvertROsToText = false;
|
|
||||||
public bool ConvertROsToText
|
|
||||||
{
|
|
||||||
get { return _ConvertROsToText; }
|
|
||||||
}
|
|
||||||
public dlgImpHowToHandleROs()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void dlgImpHowToHandleROs_Load(object sender, EventArgs e)
|
private void dlgImpHowToHandleROs_Load(object sender, EventArgs e) => rtbROPathInfo.Text = string.Format("The current Working Draft RO folder path is:\n\n {0}\n\nThe procedure you are trying to import is from a database that has the RO folder path:\n\n {1}\n\nSelect from the options below on how to handle the RO values when importing this procedure.", WorkingDraftROFolder, ImportedROFolder);
|
||||||
{
|
|
||||||
rtbROPathInfo.Text = string.Format("The current Working Draft RO folder path is:\n\n {0}\n\nThe procedure you are trying to import is from a database that has the RO folder path:\n\n {1}\n\nSelect from the options below on how to handle the RO values when importing this procedure.", _WorkingDraftROFolder, _ImportedROFolder);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnUseCurrentROs_Click(object sender, EventArgs e)
|
private void btnUseCurrentROs_Click(object sender, EventArgs e) => _ConvertROsToText = _CancelImport = false;
|
||||||
{
|
|
||||||
_ConvertROsToText = _CancelImport = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnROsToText_Click(object sender, EventArgs e)
|
private void btnROsToText_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_CancelImport = false;
|
_CancelImport = false;
|
||||||
_ConvertROsToText = true;
|
_ConvertROsToText = true;
|
||||||
@@ -60,9 +29,6 @@ namespace VEPROMS
|
|||||||
_ConvertROsToText = false;
|
_ConvertROsToText = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dlgImpHowToHandleROs_Resize(object sender, EventArgs e)
|
private void dlgImpHowToHandleROs_Resize(object sender, EventArgs e) => rtbROPathInfo.Refresh();
|
||||||
{
|
}
|
||||||
rtbROPathInfo.Refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,4 @@
|
|||||||
using System;
|
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.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
@@ -38,7 +31,7 @@ namespace VEPROMS
|
|||||||
usersettings.SetUserSetting_MSWord_Summary_Prompt(false);
|
usersettings.SetUserSetting_MSWord_Summary_Prompt(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Base.Library;
|
|
||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
@@ -26,11 +21,8 @@ namespace VEPROMS
|
|||||||
private List<MembershipInfo> myMembershipInfoList;
|
private List<MembershipInfo> myMembershipInfoList;
|
||||||
private Folder myFolder;
|
private Folder myFolder;
|
||||||
|
|
||||||
public dlgManageSecurity()
|
public dlgManageSecurity() => InitializeComponent();
|
||||||
{
|
private void dlgManageSecurity_Load(object sender, EventArgs e)
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
private void dlgManageSecurity_Load(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
//load all folders
|
//load all folders
|
||||||
myFolder = Folder.Get(1);
|
myFolder = Folder.Get(1);
|
||||||
@@ -331,10 +323,12 @@ namespace VEPROMS
|
|||||||
private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
|
private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
User u = User.MakeUser("[Enter New UserID]", "", "", "", "", "", "", "", "", "", "", DateTime.Now, "");
|
User u = User.MakeUser("[Enter New UserID]", "", "", "", "", "", "", "", "", "", "", DateTime.Now, "");
|
||||||
frmManageUser frm = new frmManageUser("add");
|
frmManageUser frm = new frmManageUser("add")
|
||||||
frm.MyUser = u;
|
{
|
||||||
frm.Text = "Enter New UserID"; //C2026-002 Change Title bar on Add/Edit User
|
MyUser = u,
|
||||||
if (frm.ShowDialog(this) == DialogResult.OK)
|
Text = "Enter New UserID" //C2026-002 Change Title bar on Add/Edit User
|
||||||
|
};
|
||||||
|
if (frm.ShowDialog(this) == DialogResult.OK)
|
||||||
{
|
{
|
||||||
u = frm.MyUser;
|
u = frm.MyUser;
|
||||||
u.Save();
|
u.Save();
|
||||||
@@ -362,9 +356,11 @@ namespace VEPROMS
|
|||||||
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
|
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
|
||||||
using (User u = User.Get(ui.UID))
|
using (User u = User.Get(ui.UID))
|
||||||
{
|
{
|
||||||
frmManageUser frm = new frmManageUser("edit");
|
frmManageUser frm = new frmManageUser("edit")
|
||||||
frm.MyUser = u;
|
{
|
||||||
if (frm.ShowDialog(this) == DialogResult.OK)
|
MyUser = u
|
||||||
|
};
|
||||||
|
if (frm.ShowDialog(this) == DialogResult.OK)
|
||||||
{
|
{
|
||||||
frm.MyUser.Save();
|
frm.MyUser.Save();
|
||||||
|
|
||||||
@@ -505,12 +501,14 @@ namespace VEPROMS
|
|||||||
pnlGroups.Controls.Clear();
|
pnlGroups.Controls.Clear();
|
||||||
foreach (GroupInfo gi in myGroupInfoList)
|
foreach (GroupInfo gi in myGroupInfoList)
|
||||||
{
|
{
|
||||||
RadioButton rb = new RadioButton();
|
RadioButton rb = new RadioButton
|
||||||
rb.Text = gi.GroupName;
|
{
|
||||||
rb.Parent = pnlGroups;
|
Text = gi.GroupName,
|
||||||
rb.Dock = DockStyle.Top;
|
Parent = pnlGroups,
|
||||||
rb.Tag = gi;
|
Dock = DockStyle.Top,
|
||||||
rb.CheckedChanged -= new EventHandler(rb_CheckedChanged);
|
Tag = gi
|
||||||
|
};
|
||||||
|
rb.CheckedChanged -= new EventHandler(rb_CheckedChanged);
|
||||||
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
|
rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
|
||||||
pnlGroups.Controls.Add(rb);
|
pnlGroups.Controls.Add(rb);
|
||||||
rb.BringToFront();
|
rb.BringToFront();
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
@@ -11,8 +6,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class dlgPhoneList : Form
|
public partial class dlgPhoneList : Form
|
||||||
{
|
{
|
||||||
private DocVersionConfig _docVersionConfig;
|
private readonly DocVersionConfig _docVersionConfig;
|
||||||
private string _origPhoneList;
|
private readonly string _origPhoneList;
|
||||||
public dlgPhoneList(DocVersionConfig dvc)
|
public dlgPhoneList(DocVersionConfig dvc)
|
||||||
{
|
{
|
||||||
_docVersionConfig = dvc;
|
_docVersionConfig = dvc;
|
||||||
|
|||||||
@@ -1,57 +1,24 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class dlgPickROFolder : Form
|
public partial class dlgPickROFolder : Form
|
||||||
{
|
{
|
||||||
private string _ImportedROFolder;
|
public string ImportedROFolder { get; set; }
|
||||||
public string ImportedROFolder
|
public List<string> LocalROFolders { get; set; }
|
||||||
{
|
public string SelectedROFolder { get; set; }
|
||||||
get { return _ImportedROFolder; }
|
public dlgPickROFolder() => InitializeComponent();
|
||||||
set { _ImportedROFolder = value; }
|
|
||||||
}
|
|
||||||
private List<string> _LocalROFolders;
|
|
||||||
public List<string> LocalROFolders
|
|
||||||
{
|
|
||||||
get { return _LocalROFolders; }
|
|
||||||
set { _LocalROFolders = value; }
|
|
||||||
}
|
|
||||||
private string _SelectedROFolder;
|
|
||||||
public string SelectedROFolder
|
|
||||||
{
|
|
||||||
get { return _SelectedROFolder; }
|
|
||||||
set { _SelectedROFolder = value; }
|
|
||||||
}
|
|
||||||
public dlgPickROFolder()
|
|
||||||
{
|
|
||||||
InitializeComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void dlgPickROFolder_Load(object sender, EventArgs e)
|
private void dlgPickROFolder_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
lblImportRO.Text = string.Format("The procedure you are trying to import was exported from a database that had the following RO folder path:\r\n\r\n{0}\r\n\r\nSelect from the following RO Folders that exist in the database you are trying to import this procedure into so that the import process can continue", _ImportedROFolder);
|
lblImportRO.Text = string.Format("The procedure you are trying to import was exported from a database that had the following RO folder path:\r\n\r\n{0}\r\n\r\nSelect from the following RO Folders that exist in the database you are trying to import this procedure into so that the import process can continue", ImportedROFolder);
|
||||||
clbLocalROFolders.DataSource = LocalROFolders;
|
clbLocalROFolders.DataSource = LocalROFolders;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clbLocalROFolders_SelectedIndexChanged(object sender, EventArgs e)
|
private void clbLocalROFolders_SelectedIndexChanged(object sender, EventArgs e) => btnOkay.Enabled = clbLocalROFolders.CheckedItems.Count > 0;
|
||||||
{
|
|
||||||
if (clbLocalROFolders.CheckedItems.Count > 0)
|
|
||||||
{
|
|
||||||
btnOkay.Enabled = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
btnOkay.Enabled = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnOkay_Click(object sender, EventArgs e)
|
private void btnOkay_Click(object sender, EventArgs e) => SelectedROFolder = clbLocalROFolders.CheckedItems[0].ToString();
|
||||||
{
|
}
|
||||||
SelectedROFolder = clbLocalROFolders.CheckedItems[0].ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,24 +1,19 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using JR.Utils.GUI.Forms;
|
using JR.Utils.GUI.Forms;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class dlgPrintAllApprovedProcedures : DevComponents.DotNetBar.Office2007Form
|
public partial class dlgPrintAllApprovedProcedures : DevComponents.DotNetBar.Office2007Form
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
private StringBuilder NotApproved;
|
private readonly StringBuilder NotApproved;
|
||||||
private DocVersionInfo _DocVersionInfo = null;
|
private readonly DocVersionInfo _DocVersionInfo = null;
|
||||||
private int unitId = 0;
|
private readonly int unitId = 0;
|
||||||
public dlgPrintAllApprovedProcedures(DocVersionInfo dvi)
|
public dlgPrintAllApprovedProcedures(DocVersionInfo dvi)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -43,7 +38,7 @@ namespace VEPROMS
|
|||||||
// if SelectedSlave is > 0 then we are printing Approved Child Procedures and
|
// if SelectedSlave is > 0 then we are printing Approved Child Procedures and
|
||||||
// subtract one from the index (unitId) into the list of child names (UnitNames)
|
// subtract one from the index (unitId) into the list of child names (UnitNames)
|
||||||
if (unitId > 0)
|
if (unitId > 0)
|
||||||
rtnstr += "\\" + _DocVersionInfo.UnitNames[unitId - 1]; // append Child name to path
|
rtnstr += $"\\{_DocVersionInfo.UnitNames[unitId - 1]}"; // append Child name to path
|
||||||
return rtnstr;
|
return rtnstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +86,7 @@ namespace VEPROMS
|
|||||||
int pdfCount = 0;
|
int pdfCount = 0;
|
||||||
DeleteExistingPDFs(); // delete existing PDFs in the target folder
|
DeleteExistingPDFs(); // delete existing PDFs in the target folder
|
||||||
// Get the Child index for Parent/Child procedure - if not Parent/Child this will be zero
|
// Get the Child index for Parent/Child procedure - if not Parent/Child this will be zero
|
||||||
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures)
|
foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures.OfType<ProcedureInfo>())
|
||||||
{
|
{
|
||||||
RevisionInfoList ril = RevisionInfoList.GetByItemID(myProc.ItemID);
|
RevisionInfoList ril = RevisionInfoList.GetByItemID(myProc.ItemID);
|
||||||
if (ril.Count == 0)
|
if (ril.Count == 0)
|
||||||
@@ -144,7 +139,7 @@ namespace VEPROMS
|
|||||||
_MyLog.Error("Print All Approved PDFs", ex);// save error in PROMS error log
|
_MyLog.Error("Print All Approved PDFs", ex);// save error in PROMS error log
|
||||||
MessageBox.Show(ex.Message, ex.GetType().FullName, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, ex.GetType().FullName, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
this.Close(); // close dialog
|
Close(); // close dialog
|
||||||
}
|
}
|
||||||
private void SaveApprovedPDFToFolder(RevisionInfo revInfo,string PDFName)
|
private void SaveApprovedPDFToFolder(RevisionInfo revInfo,string PDFName)
|
||||||
{
|
{
|
||||||
@@ -168,10 +163,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
DirectoryInfo di = new DirectoryInfo(txbApprovedPDFsPath.Text);
|
DirectoryInfo di = new DirectoryInfo(txbApprovedPDFsPath.Text);
|
||||||
FileInfo[] fis;
|
FileInfo[] fis;
|
||||||
//DirectoryInfo[] diAry = di.GetDirectories(txbApprovedPDFsPath.Text);
|
|
||||||
//DirectoryInfo di_fmtgen;
|
|
||||||
// remove all of the PDF fils
|
|
||||||
//di_fmtgen = diAry[0];
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fis = di.GetFiles("*.pdf");
|
fis = di.GetFiles("*.pdf");
|
||||||
@@ -189,14 +180,8 @@ namespace VEPROMS
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void txbApprovedPDFsPath_TextChanged(object sender, EventArgs e)
|
private void txbApprovedPDFsPath_TextChanged(object sender, EventArgs e) => btnPrntAllAprv.Enabled = txbApprovedPDFsPath.Text.Length > 0;
|
||||||
{
|
|
||||||
btnPrntAllAprv.Enabled = txbApprovedPDFsPath.Text.Length > 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
}
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -29,7 +28,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
if (tmp[0] == null || tmp[0] == "") // First time date set.
|
if (tmp[0] == null || tmp[0] == "") // First time date set.
|
||||||
{
|
{
|
||||||
cbdt = DateTime.Now.ToString("MM/dd/yyyy") + " " + DateTime.Now.ToString("HH:mm:ss");
|
cbdt = $"{DateTime.Now:MM/dd/yyyy} {DateTime.Now:HH:mm:ss}";
|
||||||
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -43,13 +42,13 @@ namespace VEPROMS
|
|||||||
var time = tmpdt.TimeOfDay;
|
var time = tmpdt.TimeOfDay;
|
||||||
if (start < time) // If time is greater than 12:00:00 AM
|
if (start < time) // If time is greater than 12:00:00 AM
|
||||||
{
|
{
|
||||||
cbdt = DateTime.Now.ToString("MM/dd/yyyy") + " " + tmpdt.TimeOfDay.ToString();
|
cbdt = $"{DateTime.Now:MM/dd/yyyy} {tmpdt.TimeOfDay}";
|
||||||
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else // if time is 12:00:00 AM
|
else // if time is 12:00:00 AM
|
||||||
{
|
{
|
||||||
cbdt = DateTime.Now.ToString("MM/dd/yyyy") + " " + " 00:00:00";
|
cbdt = $"{DateTime.Now:MM/dd/yyyy} 00:00:00";
|
||||||
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
dateTimeInput1.Value = DateTime.Parse(cbdt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -68,7 +67,7 @@ namespace VEPROMS
|
|||||||
MyProcConfig.Print_ChangeBarDate = dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss");// ("MM/dd/yyyy HH:mm:ss");
|
MyProcConfig.Print_ChangeBarDate = dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss");// ("MM/dd/yyyy HH:mm:ss");
|
||||||
|
|
||||||
//CSM - C2026-010 - Add Audit Record for Change Bar Audit History
|
//CSM - C2026-010 - Add Audit Record for Change Bar Audit History
|
||||||
ChangeBarAuditHistory.AddAudit(MyProcInfo.ItemID, $"Set ChangeBars set to ({dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss")}) by ({VlnSettings.UserID}) on ({DateTime.Now})", DateTime.Now, VlnSettings.UserID, 0);
|
ChangeBarAuditHistory.AddAudit(MyProcInfo.ItemID, $"Set ChangeBars set to ({dateTimeInput1.Value:MM/dd/yyyy HH:mm:ss}) by ({VlnSettings.UserID}) on ({DateTime.Now})", DateTime.Now, VlnSettings.UserID, 0);
|
||||||
|
|
||||||
//CSM C2026-014 if multi-unit, set for each unit
|
//CSM C2026-014 if multi-unit, set for each unit
|
||||||
System.Data.DataTable dt = RevisionData.GetRevisionDataByUnit(MyProcInfo.ItemID);
|
System.Data.DataTable dt = RevisionData.GetRevisionDataByUnit(MyProcInfo.ItemID);
|
||||||
@@ -83,7 +82,7 @@ namespace VEPROMS
|
|||||||
MyProcConfig.Print_ChangeBarDate = dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss");
|
MyProcConfig.Print_ChangeBarDate = dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss");
|
||||||
|
|
||||||
//CSM - C2026-010 - Add Audit Record for Change Bar Audit History
|
//CSM - C2026-010 - Add Audit Record for Change Bar Audit History
|
||||||
ChangeBarAuditHistory.AddAudit(MyProcInfo.ItemID, $"Set ChangeBars set to ({dateTimeInput1.Value.ToString("MM/dd/yyyy HH:mm:ss")}) by ({VlnSettings.UserID}) on ({DateTime.Now}) for (Unit {r["UnitName"]})", DateTime.Now, VlnSettings.UserID, MyProcConfig.SelectedSlave);
|
ChangeBarAuditHistory.AddAudit(MyProcInfo.ItemID, $"Set ChangeBars set to ({dateTimeInput1.Value:MM/dd/yyyy HH:mm:ss}) by ({VlnSettings.UserID}) on ({DateTime.Now}) for (Unit {r["UnitName"]})", DateTime.Now, VlnSettings.UserID, MyProcConfig.SelectedSlave);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MyProcConfig.SelectedSlave = 0;
|
MyProcConfig.SelectedSlave = 0;
|
||||||
@@ -91,12 +90,9 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void btnNow_Click(object sender, EventArgs e)
|
private void btnNow_Click(object sender, EventArgs e) => dateTimeInput1.Value = DateTime.Now;
|
||||||
{
|
|
||||||
dateTimeInput1.Value = DateTime.Now;
|
|
||||||
}
|
|
||||||
|
|
||||||
//C2026-009 Add Option to Reset Change Bar to Last Approved Date/Time
|
//C2026-009 Add Option to Reset Change Bar to Last Approved Date/Time
|
||||||
private void btnResetToApproved_Click(object sender, EventArgs e)
|
private void btnResetToApproved_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
System.Data.DataTable dt = RevisionData.GetRevisionDataByUnit(MyProcInfo.ItemID);
|
System.Data.DataTable dt = RevisionData.GetRevisionDataByUnit(MyProcInfo.ItemID);
|
||||||
@@ -134,7 +130,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
sb.Append("\r\n Any Change Bars for Units not listed above will use the Overall/Procedure Viewer Change Bar Date (as these Units have no approvals).");
|
sb.Append("\r\n Any Change Bars for Units not listed above will use the Overall/Procedure Viewer Change Bar Date (as these Units have no approvals).");
|
||||||
|
|
||||||
if (CustomMessageBox.Show($"This will reset ChangeBars to show for changes newer than the last approval.\r\nThis includes the following changes:\r\n{sb.ToString()}\r\n\r\nAre you sure you wish to reset ChangeBars?", "Reset ChangeBar Date", "Yes", "No") == DialogResult.Yes)
|
if (CustomMessageBox.Show($"This will reset ChangeBars to show for changes newer than the last approval.\r\nThis includes the following changes:\r\n{sb}\r\n\r\nAre you sure you wish to reset ChangeBars?", "Reset ChangeBar Date", "Yes", "No") == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
//Change the overall ChangeBarDate
|
//Change the overall ChangeBarDate
|
||||||
MyProcConfig.Print_ChangeBarDate = maxDTS;
|
MyProcConfig.Print_ChangeBarDate = maxDTS;
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Print.Library;
|
using Volian.Print.Library;
|
||||||
@@ -13,10 +9,11 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class dlgTransitionReport : Form
|
public partial class dlgTransitionReport : Form
|
||||||
{
|
{
|
||||||
private FolderInfo folderInfo = null;
|
private readonly FolderInfo folderInfo = null;
|
||||||
private ProcedureInfo procedureInfo = null;
|
private readonly ProcedureInfo procedureInfo = null;
|
||||||
private PDFTransitionReport rpt;
|
private PDFTransitionReport rpt;
|
||||||
private List<DocVersionInfo> lstDocVersions;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private List<DocVersionInfo> lstDocVersions;
|
||||||
public dlgTransitionReport(FolderInfo fi)
|
public dlgTransitionReport(FolderInfo fi)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -26,7 +23,7 @@ namespace VEPROMS
|
|||||||
if (lstDocVersions.Count == 1)
|
if (lstDocVersions.Count == 1)
|
||||||
{
|
{
|
||||||
pnlVersions.Visible = false;
|
pnlVersions.Visible = false;
|
||||||
this.Height = this.Height - pnlVersions.Height;
|
Height -= pnlVersions.Height;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public dlgTransitionReport(ProcedureInfo pi)
|
public dlgTransitionReport(ProcedureInfo pi)
|
||||||
@@ -34,16 +31,17 @@ namespace VEPROMS
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
procedureInfo = pi;
|
procedureInfo = pi;
|
||||||
pnlVersions.Visible = pnlProcs.Visible = false;
|
pnlVersions.Visible = pnlProcs.Visible = false;
|
||||||
this.Height = this.Height - pnlVersions.Height - pnlProcs.Height;
|
Height = Height - pnlVersions.Height - pnlProcs.Height;
|
||||||
}
|
}
|
||||||
//private DocVersionInfo docVersionInfo;
|
|
||||||
private void dlgTransitionReport_Load(object sender, EventArgs e)
|
private void dlgTransitionReport_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (folderInfo != null)
|
if (folderInfo != null)
|
||||||
{
|
{
|
||||||
rpt = new PDFTransitionReport(folderInfo, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf");
|
rpt = new PDFTransitionReport(folderInfo, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf")
|
||||||
rpt.MyDocVersionList = lstDocVersions;
|
{
|
||||||
if (lstDocVersions.Count == 1)
|
MyDocVersionList = lstDocVersions
|
||||||
|
};
|
||||||
|
if (lstDocVersions.Count == 1)
|
||||||
pbProcs.Maximum = lstDocVersions[0].Procedures.Count;
|
pbProcs.Maximum = lstDocVersions[0].Procedures.Count;
|
||||||
else
|
else
|
||||||
pbVersions.Maximum = lstDocVersions.Count;
|
pbVersions.Maximum = lstDocVersions.Count;
|
||||||
@@ -54,8 +52,8 @@ namespace VEPROMS
|
|||||||
if (VlnSettings.GetCommandFlag("PROFILE")) ProfileTimer.TurnOnTracking("Profile.txt");
|
if (VlnSettings.GetCommandFlag("PROFILE")) ProfileTimer.TurnOnTracking("Profile.txt");
|
||||||
VEPROMS.CSLA.Library.Database.TrackDBUsage = VlnSettings.GetCommandFlag("DBTrack");
|
VEPROMS.CSLA.Library.Database.TrackDBUsage = VlnSettings.GetCommandFlag("DBTrack");
|
||||||
ProfileTimer.Reset();
|
ProfileTimer.Reset();
|
||||||
int profileDepth = ProfileTimer.Push(">>>> transitionreport");
|
_ = ProfileTimer.Push(">>>> transitionreport");
|
||||||
rpt = new PDFTransitionReport(procedureInfo, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf");
|
rpt = new PDFTransitionReport(procedureInfo, Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf");
|
||||||
pbTrans.Maximum = rpt.TransitionInfoCount;
|
pbTrans.Maximum = rpt.TransitionInfoCount;
|
||||||
tmrReportStart.Enabled = true;
|
tmrReportStart.Enabled = true;
|
||||||
}
|
}
|
||||||
@@ -131,7 +129,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
tmrReportFinish.Enabled = false;
|
tmrReportFinish.Enabled = false;
|
||||||
System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf");
|
System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\TransitionReport.pdf");
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,32 +1,22 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
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.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using Volian.Base.Library;
|
|
||||||
//using Volian.Pipe.Library;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using JR.Utils.GUI.Forms;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class frmAnnotationsCleanup : Form
|
public partial class frmAnnotationsCleanup : Form
|
||||||
{
|
{
|
||||||
Label mylab = new Label();
|
|
||||||
string procList = "";
|
string procList = "";
|
||||||
string docvList = "";
|
string docvList = "";
|
||||||
int AnnotationTyp;
|
int AnnotationTyp;
|
||||||
string AnnotationName = "";
|
string AnnotationName = "";
|
||||||
string totalDeleteCnt = "";
|
string totalDeleteCnt = "";
|
||||||
List<ProcedureInfo> pil2 = new List<ProcedureInfo>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
List<DocVersionInfo> dvil2 = new List<DocVersionInfo>();
|
List<ProcedureInfo> pil2 = new List<ProcedureInfo>();
|
||||||
private frmBatchRefresh mainForm = null;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
List<DocVersionInfo> dvil2 = new List<DocVersionInfo>();
|
||||||
|
private readonly frmBatchRefresh mainForm = null;
|
||||||
// frmAnnotationsCleanup constructor passes users procedure and docversion selections from frmBatchRefresh
|
// frmAnnotationsCleanup constructor passes users procedure and docversion selections from frmBatchRefresh
|
||||||
public frmAnnotationsCleanup(Form callingForm, List<ProcedureInfo> pil, List<DocVersionInfo> dvil)
|
public frmAnnotationsCleanup(Form callingForm, List<ProcedureInfo> pil, List<DocVersionInfo> dvil)
|
||||||
|
|
||||||
@@ -47,7 +37,6 @@ namespace VEPROMS
|
|||||||
foreach (LocalAnnotationTypeInfo lati in myLocalAnnotationTypeInfoList)
|
foreach (LocalAnnotationTypeInfo lati in myLocalAnnotationTypeInfoList)
|
||||||
{
|
{
|
||||||
AnnotationsList.Add(lati.TypeID.ToString(), lati.Name);
|
AnnotationsList.Add(lati.TypeID.ToString(), lati.Name);
|
||||||
//cbAnnotationTypes.Items.Add(new { Name = lati.Name, Value = lati.TypeID });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lbAnnotationTypes.DataSource = new BindingSource(AnnotationsList, null);
|
lbAnnotationTypes.DataSource = new BindingSource(AnnotationsList, null);
|
||||||
@@ -67,11 +56,11 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (procList == "")
|
if (procList == "")
|
||||||
{
|
{
|
||||||
procList = procList + p.ItemID.ToString();
|
procList += p.ItemID.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
procList = procList + "," + p.ItemID.ToString();
|
procList = $"{procList},{p.ItemID}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -88,19 +77,20 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (docvList == "")
|
if (docvList == "")
|
||||||
{
|
{
|
||||||
docvList = docvList + d.VersionID.ToString();
|
docvList += d.VersionID.ToString();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
docvList = docvList + "," + d.VersionID.ToString();
|
docvList = $"{docvList},{d.VersionID}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return docvList;
|
return docvList;
|
||||||
}
|
}
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private AnnotationTypeInfoList myAnnotationTypeInfoList = null;
|
private AnnotationTypeInfoList myAnnotationTypeInfoList = null;
|
||||||
private LocalAnnotationTypeInfoList myLocalAnnotationTypeInfoList = null;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private LocalAnnotationTypeInfoList myLocalAnnotationTypeInfoList = null;
|
||||||
|
|
||||||
// Process used to cleanup annotations "(Proceed?" button)
|
// Process used to cleanup annotations "(Proceed?" button)
|
||||||
private void button1_Click(object sender, EventArgs e)
|
private void button1_Click(object sender, EventArgs e)
|
||||||
@@ -112,21 +102,15 @@ namespace VEPROMS
|
|||||||
TextBox frm3 = mainForm.GettxtResults();
|
TextBox frm3 = mainForm.GettxtResults();
|
||||||
AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
||||||
AnnotationName = System.Convert.ToString(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Value);
|
AnnotationName = System.Convert.ToString(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Value);
|
||||||
frm3.AppendText("Deleting Annotations: Annotation Type: " + '"' + AnnotationName + '"');
|
frm3.AppendText($"Deleting Annotations: Annotation Type: \"{AnnotationName}\"");
|
||||||
frm3.AppendText(Environment.NewLine + "P = Procedure, F = Folder" + Environment.NewLine);
|
frm3.AppendText($"{Environment.NewLine}P = Procedure, F = Folder{Environment.NewLine}");
|
||||||
int deletecountProc = 0;
|
foreach (var p in pil2)
|
||||||
int deletecountDocv = 0;
|
|
||||||
foreach (var p in pil2)
|
|
||||||
{
|
{
|
||||||
if (p.IsProcedure)
|
if (p.IsProcedure)
|
||||||
{
|
{
|
||||||
//AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
int deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, p.ItemID.ToString());
|
||||||
//AnnotationName = System.Convert.ToString(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Value);
|
frm2.AppendText($"{Environment.NewLine}{p.DisplayNumber} {p.DisplayText}");
|
||||||
//deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, getAnnotationProcItems(p));
|
frm3.AppendText($"{Environment.NewLine}P: {p.DisplayNumber}\"{p.DisplayText}\" Delete count: {deletecountProc}");
|
||||||
deletecountProc = Annotation.getAnnotationProcCnt(AnnotationTyp, p.ItemID.ToString());
|
|
||||||
frm2.AppendText(Environment.NewLine + p.DisplayNumber + ' ' + p.DisplayText);
|
|
||||||
//frm3.AppendText(Environment.NewLine + "P: " + p.DisplayNumber + '"' + p.DisplayText + '"' + " Type: " + '"' + AnnotationName + '"' + " count: " + deletecountProc);
|
|
||||||
frm3.AppendText(Environment.NewLine + "P: " + p.DisplayNumber + '"' + p.DisplayText + '"' + " Delete count: " + deletecountProc);
|
|
||||||
Annotation.DeleteAnnotationProcByType(AnnotationTyp, p.ItemID.ToString());
|
Annotation.DeleteAnnotationProcByType(AnnotationTyp, p.ItemID.ToString());
|
||||||
lblCountNumber.Text = "0";
|
lblCountNumber.Text = "0";
|
||||||
}
|
}
|
||||||
@@ -136,18 +120,16 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (d.IsDocVersion)
|
if (d.IsDocVersion)
|
||||||
{
|
{
|
||||||
//AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
int deletecountDocv = Annotation.getAnnotationCountDocv(AnnotationTyp, d.VersionID.ToString());
|
||||||
//AnnotationName = System.Convert.ToString(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Value);
|
frm2.AppendText(Environment.NewLine + d.ActiveParent.ToString());
|
||||||
deletecountDocv = Annotation.getAnnotationCountDocv(AnnotationTyp, d.VersionID.ToString());
|
frm3.AppendText($"{Environment.NewLine}F: \"{d.ActiveParent.ToString()}\" Delete count: {deletecountDocv}");
|
||||||
frm2.AppendText(Environment.NewLine + d.ActiveParent.ToString());
|
|
||||||
frm3.AppendText(Environment.NewLine + "F: " + '"' + d.ActiveParent.ToString() + '"' + " Delete count: " + deletecountDocv);
|
|
||||||
AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
AnnotationTyp = System.Convert.ToInt32(((KeyValuePair<string, string>)lbAnnotationTypes.SelectedItem).Key);
|
||||||
Annotation.DeleteAnnotationDocvByType(AnnotationTyp, d.VersionID.ToString());
|
Annotation.DeleteAnnotationDocvByType(AnnotationTyp, d.VersionID.ToString());
|
||||||
|
|
||||||
lblCountNumber.Text = "0";
|
lblCountNumber.Text = "0";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
frm3.AppendText(Environment.NewLine + Environment.NewLine + "Total Annotations Deleted: " + totalDeleteCnt + Environment.NewLine + Environment.NewLine);
|
frm3.AppendText($"{Environment.NewLine}{Environment.NewLine}Total Annotations Deleted: {totalDeleteCnt}{Environment.NewLine}{Environment.NewLine}");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -178,13 +160,10 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// Close form.
|
// Close form.
|
||||||
private void btnClose_Click(object sender, EventArgs e)
|
private void btnClose_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,28 +15,23 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmBatchRefresh : Form
|
public partial class frmBatchRefresh : Form
|
||||||
{
|
{
|
||||||
private SessionInfo _MySessionInfo;
|
public SessionInfo MySessionInfo { get; set; }
|
||||||
public SessionInfo MySessionInfo
|
private readonly bool IsAdministratorUser = false; //C2020-035 used to control what Set Amins can do
|
||||||
{
|
|
||||||
get { return _MySessionInfo; }
|
|
||||||
set { _MySessionInfo = value; }
|
|
||||||
}
|
|
||||||
private bool IsAdministratorUser = false; //C2020-035 used to control what Set Amins can do
|
|
||||||
// C2017-030 - new Admin Tools user interface
|
// C2017-030 - new Admin Tools user interface
|
||||||
// pass in session info to constructor
|
// pass in session info to constructor
|
||||||
|
|
||||||
private frmVEPROMS _veProms;
|
private readonly frmVEPROMS _veProms;
|
||||||
|
|
||||||
public frmBatchRefresh(SessionInfo sessionInfo, frmVEPROMS veProms)
|
public frmBatchRefresh(SessionInfo sessionInfo, frmVEPROMS veProms)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_MySessionInfo = sessionInfo;
|
MySessionInfo = sessionInfo;
|
||||||
|
|
||||||
_veProms = veProms;
|
_veProms = veProms;
|
||||||
|
|
||||||
|
|
||||||
// When opening Admin tools Repair tab will be default.
|
// When opening Admin tools Repair tab will be default.
|
||||||
this.sideNavItmRepair.Checked = true;
|
sideNavItmRepair.Checked = true;
|
||||||
|
|
||||||
if (sideNavItmDelete.Checked)
|
if (sideNavItmDelete.Checked)
|
||||||
{
|
{
|
||||||
@@ -73,28 +68,22 @@ namespace VEPROMS
|
|||||||
//default to 10 years back
|
//default to 10 years back
|
||||||
dtePurge.Value = DateTime.Now.AddYears(-10);
|
dtePurge.Value = DateTime.Now.AddYears(-10);
|
||||||
}
|
}
|
||||||
// Make txtProcess text box available to frmAnnotationsClean form.
|
// Make txtProcess text box available to frmAnnotationsClean form.
|
||||||
internal TextBox GettxtProcess()
|
internal TextBox GettxtProcess() => txtProcess;
|
||||||
|
|
||||||
|
// Make txtResults text box available to frmAnnotationsClean form.
|
||||||
|
internal TextBox GettxtResults() => txtResults;
|
||||||
|
|
||||||
|
// NOTE: removed the Refresh ROs and Refresh Transitions and ROs options (now only Transitions can be refreshed)
|
||||||
|
// the Update ROs and Refresh ROs logic was merged together. The Update ROs will functionally do both
|
||||||
|
// also annotations will be placed on step elements that have RO changes
|
||||||
|
|
||||||
|
// make all of the hyphen character consistant so they can all be found with the Search function
|
||||||
|
|
||||||
|
|
||||||
|
private void FixHyphens()
|
||||||
{
|
{
|
||||||
return txtProcess;
|
Cursor = Cursors.WaitCursor;
|
||||||
}
|
|
||||||
|
|
||||||
// Make txtResults text box available to frmAnnotationsClean form.
|
|
||||||
internal TextBox GettxtResults()
|
|
||||||
{
|
|
||||||
return txtResults;
|
|
||||||
}
|
|
||||||
|
|
||||||
// NOTE: removed the Refresh ROs and Refresh Transitions and ROs options (now only Transitions can be refreshed)
|
|
||||||
// the Update ROs and Refresh ROs logic was merged together. The Update ROs will functionally do both
|
|
||||||
// also annotations will be placed on step elements that have RO changes
|
|
||||||
|
|
||||||
// make all of the hyphen character consistant so they can all be found with the Search function
|
|
||||||
|
|
||||||
|
|
||||||
private void FixHyphens()
|
|
||||||
{
|
|
||||||
this.Cursor = Cursors.WaitCursor;
|
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Standardizing Hyphens");
|
txtProcess.AppendText("Standardizing Hyphens");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -112,29 +101,26 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Dictionary<TreeNode, ProcedureInfo> myProcedures = new Dictionary<TreeNode, ProcedureInfo>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private Dictionary<TreeNode, DocVersionInfo> myDocVersions = new Dictionary<TreeNode, DocVersionInfo>();
|
private Dictionary<TreeNode, ProcedureInfo> myProcedures = new Dictionary<TreeNode, ProcedureInfo>();
|
||||||
private Dictionary<TreeNode, FolderInfo> myFolders = new Dictionary<TreeNode, FolderInfo>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private Dictionary<TreeNode, DocVersionInfo> myDocVersions = new Dictionary<TreeNode, DocVersionInfo>();
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private Dictionary<TreeNode, FolderInfo> myFolders = new Dictionary<TreeNode, FolderInfo>();
|
||||||
|
|
||||||
private void frmBatchRefresh_Load(object sender, EventArgs e)
|
private void frmBatchRefresh_Load(object sender, EventArgs e) => IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
{
|
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
private void frmBatchRefresh_FormClosing(object sender, EventArgs e) => IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
}
|
// C2017-030 - new Admin Tools user interface
|
||||||
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
// check to see if at least one tree node is checked.
|
||||||
private void frmBatchRefresh_FormClosing(object sender, EventArgs e)
|
// Used to determin whether to make the process button active for
|
||||||
{
|
// Refresh Transitions and for Update RO Values
|
||||||
IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
|
// B2025-013 Admin Tool Tree Behavior
|
||||||
}
|
//Made this generic so same logic for all the TreeViews on this form
|
||||||
// C2017-030 - new Admin Tools user interface
|
private bool AtLeastOneNodeChecked(TreeNodeCollection col)
|
||||||
// check to see if at least one tree node is checked.
|
|
||||||
// Used to determin whether to make the process button active for
|
|
||||||
// Refresh Transitions and for Update RO Values
|
|
||||||
// B2025-013 Admin Tool Tree Behavior
|
|
||||||
//Made this generic so same logic for all the TreeViews on this form
|
|
||||||
private bool AtLeastOneNodeChecked(TreeNodeCollection col)
|
|
||||||
{
|
{
|
||||||
foreach (TreeNode tn in col)
|
foreach (TreeNode tn in col)
|
||||||
if (NodeIsChecked(tn))
|
if (NodeIsChecked(tn))
|
||||||
@@ -154,7 +140,7 @@ namespace VEPROMS
|
|||||||
//C2026-002 Enhancements to new admin Tool for ROs not used.
|
//C2026-002 Enhancements to new admin Tool for ROs not used.
|
||||||
private void ResetmyTV_RO_DBs()
|
private void ResetmyTV_RO_DBs()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
myTV_RO_DBs.Nodes.Clear();
|
myTV_RO_DBs.Nodes.Clear();
|
||||||
|
|
||||||
TreeNode tn = myTV_RO_DBs.Nodes.Add("Select All");
|
TreeNode tn = myTV_RO_DBs.Nodes.Add("Select All");
|
||||||
@@ -169,13 +155,13 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
tn.Expand();
|
tn.Expand();
|
||||||
|
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetTV(bool noProcs)
|
private void ResetTV(bool noProcs)
|
||||||
{
|
{
|
||||||
btnFixLinks.Enabled = false;
|
btnFixLinks.Enabled = false;
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
myTV.Nodes.Clear();
|
myTV.Nodes.Clear();
|
||||||
myDocVersions.Clear();
|
myDocVersions.Clear();
|
||||||
myFolders.Clear();
|
myFolders.Clear();
|
||||||
@@ -184,14 +170,13 @@ namespace VEPROMS
|
|||||||
tn.Tag = fi;
|
tn.Tag = fi;
|
||||||
if (fi.ChildFolderCount > 0)
|
if (fi.ChildFolderCount > 0)
|
||||||
LoadChildFolders(fi, tn, noProcs);
|
LoadChildFolders(fi, tn, noProcs);
|
||||||
if (myTV.SelectedNode != null)
|
myTV.SelectedNode?.Expand();
|
||||||
myTV.SelectedNode.Expand();
|
Cursor = Cursors.Default;
|
||||||
this.Cursor = Cursors.Default;
|
|
||||||
}
|
}
|
||||||
private void ResetDelTV(bool noProcs)
|
private void ResetDelTV(bool noProcs)
|
||||||
{
|
{
|
||||||
btnFixLinks.Enabled = false;
|
btnFixLinks.Enabled = false;
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
myTVdel.Nodes.Clear();
|
myTVdel.Nodes.Clear();
|
||||||
myDocVersions.Clear();
|
myDocVersions.Clear();
|
||||||
FolderInfo fi = FolderInfo.GetTop();
|
FolderInfo fi = FolderInfo.GetTop();
|
||||||
@@ -200,21 +185,22 @@ namespace VEPROMS
|
|||||||
|
|
||||||
if (fi.ChildFolderCount > 0)
|
if (fi.ChildFolderCount > 0)
|
||||||
{
|
{
|
||||||
TreeNode tn = new TreeNode(fi.Name);
|
TreeNode tn = new TreeNode(fi.Name)
|
||||||
tn.Tag = fi;
|
{
|
||||||
tn.StateImageIndex = -1; // Hide the checkbox for the root node
|
Tag = fi,
|
||||||
LoadChildFolders(fi, tn, noProcs);
|
StateImageIndex = -1 // Hide the checkbox for the root node
|
||||||
|
};
|
||||||
|
LoadChildFolders(fi, tn, noProcs);
|
||||||
myTVdel.Nodes.Add(tn);
|
myTVdel.Nodes.Add(tn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myTVdel.SelectedNode != null)
|
myTVdel.SelectedNode?.Expand();
|
||||||
myTVdel.SelectedNode.Expand();
|
|
||||||
|
|
||||||
//Expand if folders
|
//Expand if folders
|
||||||
if (noProcs)
|
if (noProcs)
|
||||||
myTVdel.ExpandAll();
|
myTVdel.ExpandAll();
|
||||||
|
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set
|
// B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set
|
||||||
@@ -304,7 +290,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void UpdateROValues()
|
private void UpdateROValues()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
List<ProcedureInfo> pil = new List<ProcedureInfo>(); // C2023-002: list of checked out procedures, used in frmBatchRefreshCheckedOut dialog
|
List<ProcedureInfo> pil = new List<ProcedureInfo>(); // C2023-002: list of checked out procedures, used in frmBatchRefreshCheckedOut dialog
|
||||||
List<DocVersionInfo> dvil = new List<DocVersionInfo>();
|
List<DocVersionInfo> dvil = new List<DocVersionInfo>();
|
||||||
foreach (TreeNode tn in myDocVersions.Keys)
|
foreach (TreeNode tn in myDocVersions.Keys)
|
||||||
@@ -377,14 +363,16 @@ namespace VEPROMS
|
|||||||
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
||||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(1);
|
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(1)
|
||||||
frmCO.MySessionInfo = MySessionInfo;
|
{
|
||||||
frmCO.CheckedOutProcedures = pil; // C2023-002: set list of checked out procedures
|
MySessionInfo = MySessionInfo,
|
||||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
CheckedOutProcedures = pil // C2023-002: set list of checked out procedures
|
||||||
|
};
|
||||||
|
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||||
// C2023-002: Allow close of dialog that has list of procedures that are checked out
|
// C2023-002: Allow close of dialog that has list of procedures that are checked out
|
||||||
if (frmCO.ShowDialog(this) != DialogResult.Cancel)
|
if (frmCO.ShowDialog(this) != DialogResult.Cancel)
|
||||||
{
|
{
|
||||||
while (!this.Visible)
|
while (!Visible)
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -400,7 +388,7 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(string.Format("Could Not Complete: {0} {1} Seconds Elapsed", pEnd.ToString("MM/dd/yyyy @ HH:mm"), TimeSpan.FromTicks(pEnd.Ticks - pStart.Ticks).TotalSeconds));
|
txtProcess.AppendText(string.Format("Could Not Complete: {0} {1} Seconds Elapsed", pEnd.ToString("MM/dd/yyyy @ HH:mm"), TimeSpan.FromTicks(pEnd.Ticks - pStart.Ticks).TotalSeconds));
|
||||||
pbProcess.Value = pbProcess.Maximum;
|
pbProcess.Value = pbProcess.Maximum;
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-011 RO Update Admin Tool Memory Enhancements
|
//C2025-011 RO Update Admin Tool Memory Enhancements
|
||||||
@@ -425,7 +413,7 @@ namespace VEPROMS
|
|||||||
private void CheckROLinks()
|
private void CheckROLinks()
|
||||||
{
|
{
|
||||||
bool badLinksFound = false;
|
bool badLinksFound = false;
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||||
// populate a list of procedures that the user selected to process
|
// populate a list of procedures that the user selected to process
|
||||||
foreach (TreeNode tn in myProcedures.Keys)
|
foreach (TreeNode tn in myProcedures.Keys)
|
||||||
@@ -500,15 +488,17 @@ namespace VEPROMS
|
|||||||
|
|
||||||
if (piq.Count > 0)
|
if (piq.Count > 0)
|
||||||
{
|
{
|
||||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(0);
|
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(0)
|
||||||
frmCO.MySessionInfo = MySessionInfo;
|
{
|
||||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
MySessionInfo = MySessionInfo
|
||||||
|
};
|
||||||
|
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||||
frmCO.Show(this);
|
frmCO.Show(this);
|
||||||
while (!this.Visible)
|
while (!Visible)
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// B2018-002 - Invalid Transitions - Define Transition Refresh Statistics
|
// B2018-002 - Invalid Transitions - Define Transition Refresh Statistics
|
||||||
@@ -528,7 +518,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
// B2018-002 - Invalid Transitions - Initialize Transition Refresh Statistics
|
// B2018-002 - Invalid Transitions - Initialize Transition Refresh Statistics
|
||||||
ResetTransNumbers();
|
ResetTransNumbers();
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||||
foreach (TreeNode tn in myProcedures.Keys)
|
foreach (TreeNode tn in myProcedures.Keys)
|
||||||
if (tn.Checked)
|
if (tn.Checked)
|
||||||
@@ -606,16 +596,18 @@ namespace VEPROMS
|
|||||||
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
||||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(0);
|
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut(0)
|
||||||
frmCO.MySessionInfo = MySessionInfo;
|
{
|
||||||
frmCO.CheckedOutProcedures = pil;
|
MySessionInfo = MySessionInfo,
|
||||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
CheckedOutProcedures = pil
|
||||||
|
};
|
||||||
|
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||||
frmCO.Show(this);
|
frmCO.Show(this);
|
||||||
while (!this.Visible)
|
while (!Visible)
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
// B2018-002 - Invalid Transitions - Display Transition Refresh Statistic
|
// B2018-002 - Invalid Transitions - Display Transition Refresh Statistic
|
||||||
if (numTransFixed == 0 && numTransConverted == 0 && numTransCantFix == 0)
|
if (numTransFixed == 0 && numTransConverted == 0 && numTransCantFix == 0)
|
||||||
MessageBox.Show(string.Format("{0} Transitions Checked.\n\nNo Transitions Modified.", numTransProcessed), "Refresh Transitions Completed");
|
MessageBox.Show(string.Format("{0} Transitions Checked.\n\nNo Transitions Modified.", numTransProcessed), "Refresh Transitions Completed");
|
||||||
@@ -629,7 +621,7 @@ namespace VEPROMS
|
|||||||
// the next time the procedures are printed. This also forces ROs to be refreshed in the attachments
|
// the next time the procedures are printed. This also forces ROs to be refreshed in the attachments
|
||||||
private void DeletePDFs()
|
private void DeletePDFs()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Refreshing Word Attachments");
|
txtProcess.AppendText("Refreshing Word Attachments");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -647,7 +639,7 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int RegenCounter = 0;
|
private int RegenCounter = 0;
|
||||||
@@ -659,7 +651,7 @@ namespace VEPROMS
|
|||||||
// so that this is not needed the next time the procedures are printed. This also forces ROs to be refreshed in the attachments
|
// so that this is not needed the next time the procedures are printed. This also forces ROs to be refreshed in the attachments
|
||||||
private void RegenPDFs()
|
private void RegenPDFs()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Generating missing Word Attachments");
|
txtProcess.AppendText("Generating missing Word Attachments");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -737,7 +729,7 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Outputs the Progress of Regenerating the PDFs every __ minutes
|
//Outputs the Progress of Regenerating the PDFs every __ minutes
|
||||||
@@ -756,7 +748,7 @@ namespace VEPROMS
|
|||||||
// rerun until all tables/text fields are completed.
|
// rerun until all tables/text fields are completed.
|
||||||
private void RefreshTablesForSearch()
|
private void RefreshTablesForSearch()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Refreshing Tables for Search");
|
txtProcess.AppendText("Refreshing Tables for Search");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -783,7 +775,7 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
private int RefreshForSearch()
|
private int RefreshForSearch()
|
||||||
{
|
{
|
||||||
@@ -824,7 +816,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
return -cntfix;
|
return -cntfix;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -839,7 +831,7 @@ namespace VEPROMS
|
|||||||
// tool renamed to Remove Orphan Items
|
// tool renamed to Remove Orphan Items
|
||||||
private void PurgeDisconnectedItems()
|
private void PurgeDisconnectedItems()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Purging Orphan Items");
|
txtProcess.AppendText("Purging Orphan Items");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -881,13 +873,13 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Admin Tools user interface is one of two tools run from Remove Obsolete RO Data
|
// C2017-030 - new Admin Tools user interface is one of two tools run from Remove Obsolete RO Data
|
||||||
private void RemoveUnusedRoFstsAndFigures()
|
private void RemoveUnusedRoFstsAndFigures()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Purging Unused RoFSTs and Figures Items");
|
txtProcess.AppendText("Purging Unused RoFSTs and Figures Items");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -936,14 +928,14 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Admin Tools user interface
|
// C2017-030 - new Admin Tools user interface
|
||||||
// is one of two tools run from Remove Obsolete RO Data
|
// is one of two tools run from Remove Obsolete RO Data
|
||||||
private void CleanUpROAssociations()
|
private void CleanUpROAssociations()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Purging Unused Referenced Object Associations");
|
txtProcess.AppendText("Purging Unused Referenced Object Associations");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -985,14 +977,14 @@ namespace VEPROMS
|
|||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Admin Tools user interface
|
// C2017-030 - new Admin Tools user interface
|
||||||
// tool was renamed to Show Users
|
// tool was renamed to Show Users
|
||||||
private void GetDatabaseSessions()
|
private void GetDatabaseSessions()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Show Users in PROMS");
|
txtProcess.AppendText("Show Users in PROMS");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -1004,7 +996,7 @@ namespace VEPROMS
|
|||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
MessageBox.Show("Show Users Completed", "Show Users");
|
MessageBox.Show("Show Users Completed", "Show Users");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1046,10 +1038,10 @@ namespace VEPROMS
|
|||||||
FinalProgressBarMessage = "No existing RO.FST";
|
FinalProgressBarMessage = "No existing RO.FST";
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText("No existing ro.fst in path " + roFstInfo.MyRODb.FolderPath + ". Check for invalid path");
|
txtProcess.AppendText($"No existing ro.fst in path {roFstInfo.MyRODb.FolderPath}. Check for invalid path");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText("No existing ro.fst in path " + roFstInfo.MyRODb.FolderPath + ". Check for invalid path");
|
txtResults.AppendText($"No existing ro.fst in path {roFstInfo.MyRODb.FolderPath}. Check for invalid path");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
return;
|
return;
|
||||||
@@ -1123,15 +1115,12 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
StringBuilder myFixes;
|
StringBuilder myFixes;
|
||||||
int myFixesCount = 0;
|
|
||||||
int myConvertCount = 0;
|
|
||||||
// show the changes made in the Results pannel, include the ItemId of the step element
|
// show the changes made in the Results pannel, include the ItemId of the step element
|
||||||
void ContentInfo_StaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
|
void ContentInfo_StaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (args.Type == "TX")
|
if (args.Type == "TX")
|
||||||
{
|
{
|
||||||
myFixesCount++;
|
|
||||||
if (args.NewValue.StartsWith("Reason for Change:"))
|
if (args.NewValue.StartsWith("Reason for Change:"))
|
||||||
myFixes.AppendLine(string.Format("Fixed Transition for {1}({4}){0}Old Text: {2}{0}{3}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID));
|
myFixes.AppendLine(string.Format("Fixed Transition for {1}({4}){0}Old Text: {2}{0}{3}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID));
|
||||||
else
|
else
|
||||||
@@ -1155,13 +1144,15 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void btnSave_Click(object sender, EventArgs e)
|
private void btnSave_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SaveFileDialog sfd = new SaveFileDialog();
|
SaveFileDialog sfd = new SaveFileDialog
|
||||||
sfd.DefaultExt = "txt";
|
{
|
||||||
sfd.AddExtension = true;
|
DefaultExt = "txt",
|
||||||
sfd.Filter = "Text Files (*.txt)|*.txt";
|
AddExtension = true,
|
||||||
sfd.FileName = string.Format("BatchRefreshResults_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm"));
|
Filter = "Text Files (*.txt)|*.txt",
|
||||||
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS";
|
FileName = string.Format("BatchRefreshResults_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm")),
|
||||||
DialogResult dr = sfd.ShowDialog();
|
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS"
|
||||||
|
};
|
||||||
|
DialogResult dr = sfd.ShowDialog();
|
||||||
|
|
||||||
if (dr == DialogResult.OK)
|
if (dr == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@@ -1186,7 +1177,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
|
|
||||||
//Purge Change History
|
//Purge Change History
|
||||||
string statmsg = $"Purging all Change History before {dtePurge.Value.Date.ToString("MM/dd/yyyy")}";
|
string statmsg = $"Purging all Change History before {dtePurge.Value.Date:MM/dd/yyyy}";
|
||||||
InitialProgressBarMessage = statmsg;
|
InitialProgressBarMessage = statmsg;
|
||||||
txtResults.AppendText(statmsg);
|
txtResults.AppendText(statmsg);
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
@@ -1194,7 +1185,7 @@ namespace VEPROMS
|
|||||||
Maintenance.PurgeChangeHistory(dtePurge.Value);
|
Maintenance.PurgeChangeHistory(dtePurge.Value);
|
||||||
|
|
||||||
//update status
|
//update status
|
||||||
statmsg = $"Finished Purging all Change History before {dtePurge.Value.Date.ToString("MM/dd/yyyy")}. Updating indexes to reflect cleaned data.";
|
statmsg = $"Finished Purging all Change History before {dtePurge.Value.Date:MM/dd/yyyy}. Updating indexes to reflect cleaned data.";
|
||||||
DoProgressBarRefresh(50, 100, statmsg);
|
DoProgressBarRefresh(50, 100, statmsg);
|
||||||
txtProcess.AppendText(statmsg);
|
txtProcess.AppendText(statmsg);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
@@ -1380,14 +1371,11 @@ namespace VEPROMS
|
|||||||
ResetTV(false);
|
ResetTV(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 new Admin Tools user interface
|
// C2017-030 new Admin Tools user interface
|
||||||
private void sideNavItmExit_Click(object sender, EventArgs e)
|
private void sideNavItmExit_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
// new Admin Tools user interface for deletes
|
// new Admin Tools user interface for deletes
|
||||||
private void sideNavItmDelete_Click(object sender, EventArgs e)
|
private void sideNavItmDelete_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
AdminToolType = E_AdminToolType.Delete;
|
AdminToolType = E_AdminToolType.Delete;
|
||||||
lblAdmToolProgressType.Text = "";
|
lblAdmToolProgressType.Text = "";
|
||||||
@@ -1426,12 +1414,12 @@ namespace VEPROMS
|
|||||||
};
|
};
|
||||||
private E_AdminToolType AdminToolType = E_AdminToolType.Repair;
|
private E_AdminToolType AdminToolType = E_AdminToolType.Repair;
|
||||||
|
|
||||||
DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
|
readonly DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
|
||||||
DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
|
readonly DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
|
||||||
DevComponents.DotNetBar.StepItem siStandardHyphens = new DevComponents.DotNetBar.StepItem("siStandardHyphens", "Standardize Hyphens");
|
readonly DevComponents.DotNetBar.StepItem siStandardHyphens = new DevComponents.DotNetBar.StepItem("siStandardHyphens", "Standardize Hyphens");
|
||||||
DevComponents.DotNetBar.StepItem siRefreshAttmts = new DevComponents.DotNetBar.StepItem("siRefreshAttmts", "Refresh Word Attachments");
|
readonly DevComponents.DotNetBar.StepItem siRefreshAttmts = new DevComponents.DotNetBar.StepItem("siRefreshAttmts", "Refresh Word Attachments");
|
||||||
DevComponents.DotNetBar.StepItem siRegenAttmts = new DevComponents.DotNetBar.StepItem("siRegenAttmts", "Regenerate Word Attachments");
|
readonly DevComponents.DotNetBar.StepItem siRegenAttmts = new DevComponents.DotNetBar.StepItem("siRegenAttmts", "Regenerate Word Attachments");
|
||||||
DevComponents.DotNetBar.StepItem siRefreshTblsSrchTxt = new DevComponents.DotNetBar.StepItem("siRefreshTblsSrchTxt", "Refresh Tables For Search");
|
readonly DevComponents.DotNetBar.StepItem siRefreshTblsSrchTxt = new DevComponents.DotNetBar.StepItem("siRefreshTblsSrchTxt", "Refresh Tables For Search");
|
||||||
// this will update/rebuild the progress bar in the bottom panel of Admin Tools
|
// this will update/rebuild the progress bar in the bottom panel of Admin Tools
|
||||||
private void setupProgessSteps1()
|
private void setupProgessSteps1()
|
||||||
{
|
{
|
||||||
@@ -1483,13 +1471,10 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// used for all of the Switch buttons (ON/OFF buttons)
|
// used for all of the Switch buttons (ON/OFF buttons)
|
||||||
private void swCk_ValueChanged(object sender, EventArgs e)
|
private void swCk_ValueChanged(object sender, EventArgs e) => setupProgessSteps1();
|
||||||
{
|
|
||||||
setupProgessSteps1();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void swUpdateROVals_ValueChanged(object sender, EventArgs e)
|
private void swUpdateROVals_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (swUpdateROVals.Value)
|
if (swUpdateROVals.Value)
|
||||||
{
|
{
|
||||||
@@ -1509,16 +1494,13 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// C2017-030 New Admin Tools user interface
|
// C2017-030 New Admin Tools user interface
|
||||||
// functions to handle the progress bar in the bottom panel of Admin Tools
|
// functions to handle the progress bar in the bottom panel of Admin Tools
|
||||||
private void StepProgress(int prgStpIdx, int val)
|
private void StepProgress(int prgStpIdx, int val) => ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
|
||||||
{
|
|
||||||
((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ClearStepProgress()
|
private void ClearStepProgress()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < progressSteps1.Items.Count; i++)
|
for (int i = 0; i < progressSteps1.Items.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -1673,7 +1655,7 @@ namespace VEPROMS
|
|||||||
txtResults.Clear();
|
txtResults.Clear();
|
||||||
txtProcess.Clear();
|
txtProcess.Clear();
|
||||||
|
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
|
|
||||||
//Create checked proce and doc info lists.
|
//Create checked proce and doc info lists.
|
||||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||||
@@ -1756,7 +1738,7 @@ namespace VEPROMS
|
|||||||
sb.AppendLine("If you want to delete annotations from these working drafts, please contact the respective users and have them close any procedures in the working draft.");
|
sb.AppendLine("If you want to delete annotations from these working drafts, please contact the respective users and have them close any procedures in the working draft.");
|
||||||
sb.AppendLine();
|
sb.AppendLine();
|
||||||
txtProcess.AppendText(sb.ToString());
|
txtProcess.AppendText(sb.ToString());
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1790,7 +1772,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ProcessDelete(List<DocVersionInfo> foldersToDelete, List<FolderInfo> emptyFoldersToDelete)
|
private void ProcessDelete(List<DocVersionInfo> foldersToDelete, List<FolderInfo> emptyFoldersToDelete)
|
||||||
@@ -1952,14 +1934,16 @@ namespace VEPROMS
|
|||||||
//CSM - C2025-043 report RO's that are not used in any of the PROMS data.
|
//CSM - C2025-043 report RO's that are not used in any of the PROMS data.
|
||||||
private void btnROsNotUsed_Click(object sender, EventArgs e)
|
private void btnROsNotUsed_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//Get the path to save the Image to
|
//Get the path to save the Image to
|
||||||
SaveFileDialog sfd = new SaveFileDialog();
|
SaveFileDialog sfd = new SaveFileDialog
|
||||||
sfd.DefaultExt = "bmp";
|
{
|
||||||
sfd.AddExtension = true;
|
DefaultExt = "bmp",
|
||||||
sfd.Filter = "Image Files (*.bmp)|*.bmp";
|
AddExtension = true,
|
||||||
sfd.FileName = string.Format("ROsNotUsed_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm"));
|
Filter = "Image Files (*.bmp)|*.bmp",
|
||||||
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS";
|
FileName = string.Format("ROsNotUsed_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm")),
|
||||||
DialogResult dr = sfd.ShowDialog();
|
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS"
|
||||||
|
};
|
||||||
|
DialogResult dr = sfd.ShowDialog();
|
||||||
|
|
||||||
if (dr == DialogResult.OK)
|
if (dr == DialogResult.OK)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,35 +1,18 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using LBOutlookLibrary;
|
using LBOutlookLibrary;
|
||||||
using System.Reflection;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using System.Net.Mail;
|
|
||||||
using System.Net;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class frmBatchRefreshCheckedOut : Form
|
public partial class frmBatchRefreshCheckedOut : Form
|
||||||
{
|
{
|
||||||
private SessionInfo _MySessionInfo;
|
public SessionInfo MySessionInfo { get; set; }
|
||||||
public SessionInfo MySessionInfo
|
public List<ProcedureInfo> CheckedOutProcedures { get; set; }
|
||||||
{
|
private readonly int RType = -1; // C2023-002: Flag type of checkout, docversion -1 or procedures 0
|
||||||
get { return _MySessionInfo; }
|
|
||||||
set { _MySessionInfo = value; }
|
|
||||||
}
|
|
||||||
private List<ProcedureInfo> _CheckedOutProcedures;
|
|
||||||
public List<ProcedureInfo> CheckedOutProcedures
|
|
||||||
{
|
|
||||||
get { return _CheckedOutProcedures; }
|
|
||||||
set { _CheckedOutProcedures = value; }
|
|
||||||
}
|
|
||||||
private int RType = -1; // C2023-002: Flag type of checkout, docversion -1 or procedures 0
|
|
||||||
public frmBatchRefreshCheckedOut(int type)
|
public frmBatchRefreshCheckedOut(int type)
|
||||||
{
|
{
|
||||||
RType = type;
|
RType = type;
|
||||||
@@ -53,32 +36,39 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
private void AddToDisplayList(ProcedureInfo pi)
|
private void AddToDisplayList(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
Panel p = new Panel();
|
Panel p = new Panel
|
||||||
p.BorderStyle = BorderStyle.FixedSingle;
|
{
|
||||||
p.Dock = DockStyle.Top;
|
BorderStyle = BorderStyle.FixedSingle,
|
||||||
p.Height = 28;
|
Dock = DockStyle.Top,
|
||||||
if (RType != 1) // C2023-002: only put out ForceCheckin & sendemail buttons if on procedures (can't check in a docversion)
|
Height = 28
|
||||||
|
};
|
||||||
|
if (RType != 1) // C2023-002: only put out ForceCheckin & sendemail buttons if on procedures (can't check in a docversion)
|
||||||
{
|
{
|
||||||
Button b = new Button();
|
Button b = new Button
|
||||||
//b.FlatStyle = FlatStyle.Popup;
|
{
|
||||||
b.Dock = DockStyle.Right;
|
Dock = DockStyle.Right,
|
||||||
b.Text = "Force Check In";
|
Text = "Force Check In",
|
||||||
b.Tag = pi;
|
Tag = pi
|
||||||
b.Click += new EventHandler(ForceCheckIn_Click);
|
};
|
||||||
|
b.Click += new EventHandler(ForceCheckIn_Click);
|
||||||
p.Controls.Add(b);
|
p.Controls.Add(b);
|
||||||
b = new Button();
|
b = new Button
|
||||||
//b.FlatStyle = FlatStyle.Popup;
|
{
|
||||||
b.Dock = DockStyle.Right;
|
//b.FlatStyle = FlatStyle.Popup;
|
||||||
b.Text = "Send Email";
|
Dock = DockStyle.Right,
|
||||||
b.Tag = pi;
|
Text = "Send Email",
|
||||||
b.Click += new EventHandler(SendEmail_Click);
|
Tag = pi
|
||||||
|
};
|
||||||
|
b.Click += new EventHandler(SendEmail_Click);
|
||||||
p.Controls.Add(b);
|
p.Controls.Add(b);
|
||||||
}
|
}
|
||||||
Label l = new Label();
|
Label l = new Label
|
||||||
l.Dock = DockStyle.Fill;
|
{
|
||||||
l.TextAlign = ContentAlignment.MiddleLeft;
|
Dock = DockStyle.Fill,
|
||||||
l.Text = string.Format("Procedure {0} is checked out to {1}", pi.DisplayNumber, UserInfo.GetByUserID(OwnerInfo.GetByItemID(pi.ItemID, CheckOutType.Procedure).SessionUserID).UserID);
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
p.Controls.Add(l);
|
Text = $"Procedure {pi.DisplayNumber} is checked out to {UserInfo.GetByUserID(OwnerInfo.GetByItemID(pi.ItemID, CheckOutType.Procedure).SessionUserID).UserID}"
|
||||||
|
};
|
||||||
|
p.Controls.Add(l);
|
||||||
pnlList.Controls.Add(p);
|
pnlList.Controls.Add(p);
|
||||||
p.BringToFront();
|
p.BringToFront();
|
||||||
pnlList.Focus();
|
pnlList.Focus();
|
||||||
@@ -103,15 +93,7 @@ namespace VEPROMS
|
|||||||
private string BuildEmailMessageBody(ProcedureInfo pi)
|
private string BuildEmailMessageBody(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
StringBuilder body = new StringBuilder();
|
StringBuilder body = new StringBuilder();
|
||||||
//body.AppendLine("THIS IS A TEST MESSAGE FROM JIM BODINE");
|
body.AppendLine($"The administrator needs you to check in procedure {pi.DisplayNumber} so the administrator can continue an administrative tool process");
|
||||||
//body.AppendLine();
|
|
||||||
body.AppendLine(string.Format("The administrator needs you to check in procedure {0} so the administrator can continue an administrative tool process", pi.DisplayNumber));
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("Obviously, you do not really have this procedure checked out, so you really do not have to do anything.");
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("However, I would appreciate it if you would reply to this email so I know the email worked");
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("I will try NOT to overwhelm your email system :-)");
|
|
||||||
return body.ToString();
|
return body.ToString();
|
||||||
}
|
}
|
||||||
void ForceCheckIn_Click(object sender, EventArgs e)
|
void ForceCheckIn_Click(object sender, EventArgs e)
|
||||||
@@ -134,15 +116,7 @@ namespace VEPROMS
|
|||||||
private string BuildForcedMessageBody(ProcedureInfo pi)
|
private string BuildForcedMessageBody(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
StringBuilder body = new StringBuilder();
|
StringBuilder body = new StringBuilder();
|
||||||
//body.AppendLine("THIS IS A TEST MESSAGE FROM JIM BODINE");
|
body.AppendLine($"The administrator needed to force check in procedure {pi.DisplayNumber} so the administrator could continue an administrative tool process");
|
||||||
//body.AppendLine();
|
|
||||||
body.AppendLine(string.Format("The administrator needed to force check in procedure {0} so the administrator could continue an administrative tool process", pi.DisplayNumber));
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("Obviously, you do not really have this procedure checked out, so nothing really got forced checked in.");
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("However, I would appreciate it if you would reply to this email so I know the email worked");
|
|
||||||
//body.AppendLine();
|
|
||||||
//body.AppendLine("I will try NOT to overwhelm your email system :-)");
|
|
||||||
return body.ToString();
|
return body.ToString();
|
||||||
}
|
}
|
||||||
private bool SendOutlookEmail(string email, string subject, string body)
|
private bool SendOutlookEmail(string email, string subject, string body)
|
||||||
@@ -163,7 +137,7 @@ namespace VEPROMS
|
|||||||
if (ex.Message.ToLower().Contains("failed due to the following error: 80080005"))
|
if (ex.Message.ToLower().Contains("failed due to the following error: 80080005"))
|
||||||
MessageBox.Show("You cannot send email via a running instance of Outlook from VE PROMS running from within Visual Studio.");
|
MessageBox.Show("You cannot send email via a running instance of Outlook from VE PROMS running from within Visual Studio.");
|
||||||
else
|
else
|
||||||
MessageBox.Show(string.Format("{0} - {1}", ex.GetType().Name, ex.Message));
|
MessageBox.Show($"{ex.GetType().Name} - {ex.Message}");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -180,7 +154,7 @@ namespace VEPROMS
|
|||||||
CheckedOutProcedures = tmp;
|
CheckedOutProcedures = tmp;
|
||||||
if (CheckedOutProcedures.Count == 0)
|
if (CheckedOutProcedures.Count == 0)
|
||||||
{
|
{
|
||||||
this.Close();
|
Close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach (ProcedureInfo pi in CheckedOutProcedures)
|
foreach (ProcedureInfo pi in CheckedOutProcedures)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using System.IO;
|
|
||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
using DevComponents.DotNetBar;
|
using DevComponents.DotNetBar;
|
||||||
using JR.Utils.GUI.Forms;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using xls = Microsoft.Office.Interop.Excel;
|
using xls = Microsoft.Office.Interop.Excel;
|
||||||
|
|
||||||
@@ -16,52 +11,42 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmGenTools : Form
|
public partial class frmGenTools : Form
|
||||||
{
|
{
|
||||||
private SessionInfo _MySessionInfo;
|
public SessionInfo MySessionInfo { get; set; }
|
||||||
public SessionInfo MySessionInfo
|
|
||||||
{
|
|
||||||
get { return _MySessionInfo; }
|
|
||||||
set { _MySessionInfo = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public frmGenTools(SessionInfo sessionInfo, frmVEPROMS veProms)
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping veProms for potential future use")]
|
||||||
|
public frmGenTools(SessionInfo sessionInfo, frmVEPROMS veProms)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_MySessionInfo = sessionInfo;
|
MySessionInfo = sessionInfo;
|
||||||
|
|
||||||
// When opening General tools Check tab will be default.
|
// When opening General tools Check tab will be default.
|
||||||
this.sideNavItmCheck.Checked = true;
|
sideNavItmCheck.Checked = true;
|
||||||
|
|
||||||
setupProgessSteps1(); // C2017-030 - new Tools user interface
|
setupProgessSteps1(); // C2017-030 - new Tools user interface
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void frmGenTools_Load(object sender, EventArgs e)
|
private void frmGenTools_Load(object sender, EventArgs e) => IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
{
|
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
private void frmGenTools_FormClosing(object sender, EventArgs e) => IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
|
||||||
}
|
|
||||||
private bool IsClosing = false;//B2017-221 Allow the batch dialog to close when waiting to process.
|
|
||||||
private void frmGenTools_FormClosing(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
IsClosing = true;//B2017-221 Allow the batch dialog to close when waiting to process.
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2017-030 - new Tools user interface
|
// C2017-030 - new Tools user interface
|
||||||
// tool renamed to Identify Orphan Items
|
// tool renamed to Identify Orphan Items
|
||||||
private void IdentifyDisconnectedItems()
|
private void IdentifyDisconnectedItems()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Identifing Orphan Items");
|
txtProcess.AppendText("Identifing Orphan Items");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount");
|
int rowCount = ESP_IdentifyDisconnectedItems.Execute("vesp_GetDisconnectedItemsCount");
|
||||||
txtProcess.AppendText(string.Format("Orphan Items Count: {0}", rowCount));
|
txtProcess.AppendText($"Orphan Items Count: {rowCount}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
if (rowCount > 0)
|
if (rowCount > 0)
|
||||||
{
|
{
|
||||||
txtResults.AppendText(string.Format("The database contains {0} Orphan items.", rowCount));
|
txtResults.AppendText($"The database contains {rowCount} Orphan items.");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText("These can be removed via the Remove Orphan Data Records in the Repair tools");
|
txtResults.AppendText("These can be removed via the Remove Orphan Data Records in the Repair tools");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
@@ -74,33 +59,33 @@ namespace VEPROMS
|
|||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
}
|
}
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Tools user interface
|
// C2017-030 - new Tools user interface
|
||||||
// is one of two tools run from Check Obsolete RO Data
|
// is one of two tools run from Check Obsolete RO Data
|
||||||
private void IdentifyUnusedRoFstsAndFigures()
|
private void IdentifyUnusedRoFstsAndFigures()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Identifing Unused RoFsts and Figures");
|
txtProcess.AppendText("Identifing Unused RoFsts and Figures");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount");
|
int rowCountRoFst = ESP_GetUnusedRoFsts.Execute("vesp_GetUnusedRoFstsCount");
|
||||||
int rowCountFigures = ESP_GetUnusedFigures.Execute("vesp_GetUnusedFiguresCount");
|
int rowCountFigures = ESP_GetUnusedFigures.Execute("vesp_GetUnusedFiguresCount");
|
||||||
txtProcess.AppendText(string.Format("Unused RoFsts Count: {0}, Unused Figures Count: {1}", rowCountRoFst, rowCountFigures));
|
txtProcess.AppendText($"Unused RoFsts Count: {rowCountRoFst}, Unused Figures Count: {rowCountFigures}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
if (rowCountRoFst > 0 || rowCountFigures > 0)
|
if (rowCountRoFst > 0 || rowCountFigures > 0)
|
||||||
{
|
{
|
||||||
txtResults.AppendText(string.Format("The database contains {0} unused RoFsts.", rowCountRoFst));
|
txtResults.AppendText($"The database contains {rowCountRoFst} unused RoFsts.");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText(string.Format("The database contains {0} unused Figures items.", rowCountFigures));
|
txtResults.AppendText($"The database contains {rowCountFigures} unused Figures items.");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
}
|
}
|
||||||
@@ -112,31 +97,31 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Tools user interface
|
// C2017-030 - new Tools user interface
|
||||||
// is one of two tools run from Check Obsolete RO Data
|
// is one of two tools run from Check Obsolete RO Data
|
||||||
private void IdentifyROAssociations()
|
private void IdentifyROAssociations()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Identifing Unused RO Associations");
|
txtProcess.AppendText("Identifing Unused RO Associations");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount");
|
int rowCount = ESP_GetROAssoc.Execute("vesp_GetUnusedROAssociationsCount");
|
||||||
txtProcess.AppendText(string.Format("Unused RO Associations Count: {0}", rowCount));
|
txtProcess.AppendText($"Unused RO Associations Count: {rowCount}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
if (rowCount > 0)
|
if (rowCount > 0)
|
||||||
{
|
{
|
||||||
txtResults.AppendText(string.Format("The database contains {0} unused RO Associations.", rowCount));
|
txtResults.AppendText($"The database contains {rowCount} unused RO Associations.");
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
}
|
}
|
||||||
@@ -147,26 +132,26 @@ namespace VEPROMS
|
|||||||
txtResults.AppendText(Environment.NewLine);
|
txtResults.AppendText(Environment.NewLine);
|
||||||
}
|
}
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Tools user interface
|
// C2017-030 - new Tools user interface
|
||||||
// tool was renamed to Hidden Data Locations (on Check list)
|
// tool was renamed to Hidden Data Locations (on Check list)
|
||||||
private void IdentifyNonEditableItems()
|
private void IdentifyNonEditableItems()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Identifing Hidden Item Locations");
|
txtProcess.AppendText("Identifing Hidden Item Locations");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
List<ItemInfo> myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems");
|
List<ItemInfo> myItems = ESP_IdentifyNonEditableItems.Execute("vesp_GetNonEditableItems");
|
||||||
txtProcess.AppendText(string.Format("Hidden Items Count: {0}", myItems.Count));
|
txtProcess.AppendText($"Hidden Items Count: {myItems.Count}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
if (myItems.Count > 0)
|
if (myItems.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -190,52 +175,46 @@ namespace VEPROMS
|
|||||||
//clear the list since no longer using it
|
//clear the list since no longer using it
|
||||||
myItems.Clear();
|
myItems.Clear();
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 - new Tools user interface
|
// C2017-030 - new Tools user interface
|
||||||
// tool was renamed to Show Users
|
// tool was renamed to Show Users
|
||||||
private void GetDatabaseSessions()
|
private void GetDatabaseSessions()
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Show Users in PROMS");
|
txtProcess.AppendText("Show Users in PROMS");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
txtResults.Clear();
|
txtResults.Clear();
|
||||||
txtResults.AppendText(ESP_GetDatabaseSessions.Execute("vesp_GetDatabaseSessions"));
|
txtResults.AppendText(ESP_GetDatabaseSessions.Execute("vesp_GetDatabaseSessions"));
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
MessageBox.Show("Show Users Completed", "Show Users");
|
MessageBox.Show("Show Users Completed", "Show Users");
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> roFstInfo_ROTableUpdate(object sender, ROFstInfoROTableUpdateEventArgs args)
|
private void btnClear_Click(object sender, EventArgs e) => txtResults.Clear();
|
||||||
{
|
|
||||||
return VlnFlexGrid.ROTableUpdate(sender, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnClear_Click(object sender, EventArgs e)
|
private void btnSave_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
txtResults.Clear();
|
SaveFileDialog sfd = new SaveFileDialog
|
||||||
}
|
{
|
||||||
|
DefaultExt = "txt",
|
||||||
private void btnSave_Click(object sender, EventArgs e)
|
AddExtension = true,
|
||||||
{
|
Filter = "Text Files (*.txt)|*.txt",
|
||||||
SaveFileDialog sfd = new SaveFileDialog();
|
FileName = $"BatchRefreshResults_{DateTime.Now:yyyyMMdd_HHmm}",
|
||||||
sfd.DefaultExt = "txt";
|
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS"
|
||||||
sfd.AddExtension = true;
|
};
|
||||||
sfd.Filter = "Text Files (*.txt)|*.txt";
|
DialogResult dr = sfd.ShowDialog();
|
||||||
sfd.FileName = string.Format("BatchRefreshResults_{0}", DateTime.Now.ToString("yyyyMMdd_HHmm"));
|
|
||||||
sfd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS";
|
|
||||||
DialogResult dr = sfd.ShowDialog();
|
|
||||||
|
|
||||||
if (dr == DialogResult.OK)
|
if (dr == DialogResult.OK)
|
||||||
{
|
{
|
||||||
@@ -257,13 +236,10 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chkLater_CheckedChanged(object sender, EventArgs e)
|
private void chkLater_CheckedChanged(object sender, EventArgs e) => pnlLater.Enabled = chkLater.Checked;
|
||||||
{
|
|
||||||
pnlLater.Enabled = chkLater.Checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
// C2017-030 new Tools user interface
|
// C2017-030 new Tools user interface
|
||||||
private void sideNavItmCheck_Click(object sender, EventArgs e)
|
private void sideNavItmCheck_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
GenToolType = E_GenToolType.Check;
|
GenToolType = E_GenToolType.Check;
|
||||||
lblAdmToolProgressType.Text = "Checking:";
|
lblAdmToolProgressType.Text = "Checking:";
|
||||||
@@ -284,16 +260,13 @@ namespace VEPROMS
|
|||||||
setupProgessSteps1();
|
setupProgessSteps1();
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2017-030 new Tools user interface
|
// C2017-030 new Tools user interface
|
||||||
private void sideNavItmExit_Click(object sender, EventArgs e)
|
private void sideNavItmExit_Click(object sender, EventArgs e) => Close();
|
||||||
{
|
|
||||||
this.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
#region On/Off Swiches
|
#region On/Off Swiches
|
||||||
|
|
||||||
// C2017-030 new Tools user interface
|
// C2017-030 new Tools user interface
|
||||||
private enum E_GenToolType : int
|
private enum E_GenToolType : int
|
||||||
{
|
{
|
||||||
Check = 0,
|
Check = 0,
|
||||||
Users = 3,
|
Users = 3,
|
||||||
@@ -301,9 +274,9 @@ namespace VEPROMS
|
|||||||
};
|
};
|
||||||
private E_GenToolType GenToolType = 0;
|
private E_GenToolType GenToolType = 0;
|
||||||
|
|
||||||
DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
|
readonly DevComponents.DotNetBar.StepItem siOrphDatRecs = new DevComponents.DotNetBar.StepItem("siOrphDatRecs", "Orphan Data Records");
|
||||||
DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data");
|
readonly DevComponents.DotNetBar.StepItem siHiddenDataLocs = new DevComponents.DotNetBar.StepItem("siHiddenDataLocs", "Hidden Data");
|
||||||
DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
|
readonly DevComponents.DotNetBar.StepItem siObsoleteROData = new DevComponents.DotNetBar.StepItem("siObsoleteROData", "Obsolete RO Data");
|
||||||
|
|
||||||
// this will update/rebuild the progress bar in the bottom panel of Tools
|
// this will update/rebuild the progress bar in the bottom panel of Tools
|
||||||
private void setupProgessSteps1()
|
private void setupProgessSteps1()
|
||||||
@@ -332,22 +305,16 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// used for all of the Switch buttons (ON/OFF buttons)
|
// used for all of the Switch buttons (ON/OFF buttons)
|
||||||
private void swCk_ValueChanged(object sender, EventArgs e)
|
private void swCk_ValueChanged(object sender, EventArgs e) => setupProgessSteps1();
|
||||||
{
|
|
||||||
setupProgessSteps1();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// C2017-030 New Tools user interface
|
// C2017-030 New Tools user interface
|
||||||
// functions to handle the progress bar in the bottom panel of Tools
|
// functions to handle the progress bar in the bottom panel of Tools
|
||||||
private void StepProgress(int prgStpIdx, int val)
|
private void StepProgress(int prgStpIdx, int val) => ((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
|
||||||
{
|
|
||||||
((DevComponents.DotNetBar.StepItem)progressSteps1.Items[prgStpIdx]).Value = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ClearStepProgress()
|
private void ClearStepProgress()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < progressSteps1.Items.Count; i++)
|
for (int i = 0; i < progressSteps1.Items.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -362,7 +329,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (chkLater.Checked)
|
if (chkLater.Checked)
|
||||||
{
|
{
|
||||||
long later = long.Parse(dtpDate.Value.ToString("yyyyMMdd") + dtpTime.Value.ToString("HHmm"));
|
long later = long.Parse($"{dtpDate.Value:yyyyMMdd}{dtpTime.Value:HHmm}");
|
||||||
long now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
|
long now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
|
||||||
|
|
||||||
while (now < later)
|
while (now < later)
|
||||||
@@ -435,10 +402,12 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(UACfilename))
|
if (string.IsNullOrEmpty(UACfilename))
|
||||||
{
|
{
|
||||||
SaveFileDialog sfd = new SaveFileDialog();
|
SaveFileDialog sfd = new SaveFileDialog
|
||||||
sfd.Filter = "Excel XLS (*.xlsx)|*.xlsx";
|
{
|
||||||
sfd.FileName = "UACReport.xlsx";
|
Filter = "Excel XLS (*.xlsx)|*.xlsx",
|
||||||
if (sfd.ShowDialog() == DialogResult.OK)
|
FileName = "UACReport.xlsx"
|
||||||
|
};
|
||||||
|
if (sfd.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
UACfilename = sfd.FileName;
|
UACfilename = sfd.FileName;
|
||||||
}
|
}
|
||||||
@@ -462,11 +431,11 @@ namespace VEPROMS
|
|||||||
//Get Datatable of results then loop through outputting into excel
|
//Get Datatable of results then loop through outputting into excel
|
||||||
private void Generate_UAC_Report(string filename)
|
private void Generate_UAC_Report(string filename)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
DateTime pStart = DateTime.Now;
|
DateTime pStart = DateTime.Now;
|
||||||
txtProcess.AppendText("Generate User Access Control Report in PROMS");
|
txtProcess.AppendText("Generate User Access Control Report in PROMS");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
txtProcess.AppendText(string.Format("Started: {0}", pStart.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Started: {pStart:MM/dd/yyyy @ HH:mm}");
|
||||||
txtProcess.AppendText(Environment.NewLine);
|
txtProcess.AppendText(Environment.NewLine);
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
txtResults.Clear();
|
txtResults.Clear();
|
||||||
@@ -525,9 +494,9 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
DateTime pEnd = DateTime.Now;
|
DateTime pEnd = DateTime.Now;
|
||||||
txtProcess.AppendText(string.Format("Completed: {0}", pEnd.ToString("MM/dd/yyyy @ HH:mm")));
|
txtProcess.AppendText($"Completed: {pEnd:MM/dd/yyyy @ HH:mm}");
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
MessageBox.Show("Generate User Access Control Report Completed", "User Access Control Report");
|
MessageBox.Show("Generate User Access Control Report Completed", "User Access Control Report");
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -544,7 +513,7 @@ namespace VEPROMS
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
obj = null;
|
obj = null;
|
||||||
MessageBox.Show("Exception Occurred while releasing object " + ex.ToString());
|
MessageBox.Show($"Exception Occurred while releasing object {ex}");
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
@@ -552,18 +521,11 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2025-011 RO Update Tool Memory Enhancements
|
//C2025-011 RO Update Tool Memory Enhancements
|
||||||
private void txtProcess_TextChanged(object sender, EventArgs e)
|
//clears the stack to help with memory - should never need to undo text changes to this.
|
||||||
{
|
private void txtProcess_TextChanged(object sender, EventArgs e) => txtProcess.ClearUndo();
|
||||||
//clears the stack to help with memory - should never need to undo text changes to this.
|
//clears the stack to help with memory - should never need to undo text changes to this.
|
||||||
txtProcess.ClearUndo();
|
private void txtResults_TextChanged(object sender, EventArgs e) => txtResults.ClearUndo();
|
||||||
}
|
|
||||||
|
|
||||||
private void txtResults_TextChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
//clears the stack to help with memory - should never need to undo text changes to this.
|
|
||||||
txtResults.ClearUndo();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
@@ -40,10 +36,10 @@ namespace VEPROMS
|
|||||||
tmp = $"{su.UserID} Information";
|
tmp = $"{su.UserID} Information";
|
||||||
}
|
}
|
||||||
|
|
||||||
this.Text = tmp;
|
Text = tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private string _Mode;
|
private readonly string _Mode;
|
||||||
public frmManageUser(string mode)
|
public frmManageUser(string mode)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -55,7 +51,7 @@ namespace VEPROMS
|
|||||||
_MyUser = (pgUser.SelectedObject as SimpleUser).MyUser;
|
_MyUser = (pgUser.SelectedObject as SimpleUser).MyUser;
|
||||||
if (_MyUser.UserID.StartsWith("["))
|
if (_MyUser.UserID.StartsWith("["))
|
||||||
{
|
{
|
||||||
MessageBox.Show(string.Format("{0} is an invalid UserID", _MyUser.UserID));
|
MessageBox.Show($"{_MyUser.UserID} is an invalid UserID");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_MyUser.UserID == string.Empty)
|
if (_MyUser.UserID == string.Empty)
|
||||||
@@ -65,29 +61,26 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
if (UserInfo.GetByUserID(_MyUser.UserID) != null && _Mode.ToUpper() == "ADD")
|
if (UserInfo.GetByUserID(_MyUser.UserID) != null && _Mode.ToUpper() == "ADD")
|
||||||
{
|
{
|
||||||
MessageBox.Show(string.Format("A user already exists with the UserID '{0}'", _MyUser.UserID));
|
MessageBox.Show($"A user already exists with the UserID '{_MyUser.UserID}'");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
_MyUser.Save();
|
_MyUser.Save();
|
||||||
this.DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_MyUser = User.Get(_MyUser.UID);
|
_MyUser = User.Get(_MyUser.UID);
|
||||||
this.DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
internal class SimpleUser
|
internal class SimpleUser
|
||||||
{
|
{
|
||||||
private User _MyUser;
|
private readonly User _MyUser;
|
||||||
private UserConfig _MyUC;
|
private readonly UserConfig _MyUC;
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public User MyUser
|
public User MyUser => _MyUser;
|
||||||
{
|
public SimpleUser(User myUser)
|
||||||
get { return _MyUser; }
|
|
||||||
}
|
|
||||||
public SimpleUser(User myUser)
|
|
||||||
{
|
{
|
||||||
_MyUser = myUser;
|
_MyUser = myUser;
|
||||||
_MyUC = new UserConfig(myUser.Config);
|
_MyUC = new UserConfig(myUser.Config);
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Volian.Print.Library;
|
using Volian.Print.Library;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
@@ -14,90 +11,24 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmPDFStatusForm : Form
|
public partial class frmPDFStatusForm : Form
|
||||||
{
|
{
|
||||||
private bool _CancelPrinting = false;
|
public bool CancelPrinting { get; set; } = false;
|
||||||
public bool CancelPrinting
|
public bool CloseWhenDone { get; set; } = false;
|
||||||
{
|
public bool CancelStop { get; set; } = false;
|
||||||
get { return _CancelPrinting; }
|
public bool Stop { get; set; } = false;
|
||||||
set { _CancelPrinting = value; }
|
|
||||||
}
|
|
||||||
private bool _CloseWhenDone = false;
|
|
||||||
public bool CloseWhenDone
|
|
||||||
{
|
|
||||||
get { return _CloseWhenDone; }
|
|
||||||
set { _CloseWhenDone = value; }
|
|
||||||
}
|
|
||||||
private bool _CancelStop = false;
|
|
||||||
public bool CancelStop
|
|
||||||
{
|
|
||||||
get { return _CancelStop; }
|
|
||||||
set { _CancelStop = value; }
|
|
||||||
}
|
|
||||||
private bool _Stop = false;
|
|
||||||
public bool Stop
|
|
||||||
{
|
|
||||||
get { return _Stop; }
|
|
||||||
set { _Stop = value; }
|
|
||||||
}
|
|
||||||
private string _PDFPath;
|
|
||||||
|
|
||||||
public string PDFPath
|
public string PDFPath { get; set; }
|
||||||
{
|
|
||||||
get { return _PDFPath; }
|
|
||||||
set { _PDFPath = value; }
|
|
||||||
}
|
|
||||||
private PromsPrinter _MyPromsPrinter;
|
|
||||||
|
|
||||||
public PromsPrinter MyPromsPrinter
|
public PromsPrinter MyPromsPrinter { get; set; }
|
||||||
{
|
|
||||||
get { return _MyPromsPrinter; }
|
|
||||||
set { _MyPromsPrinter = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool _OpenPDF;
|
public bool OpenPDF { get; set; }
|
||||||
|
private Point _NewLocation;
|
||||||
|
|
||||||
public bool OpenPDF
|
public string Prefix { get; set; } = "";
|
||||||
{
|
public bool OnlyShowContinuousActionSummary { get; set; } = false;
|
||||||
get { return _OpenPDF; }
|
public bool OnlyShowTimeCriticalActionSummary { get; set; } = false;
|
||||||
set { _OpenPDF = value; }
|
public bool DidAll { get; set; } = false;
|
||||||
}
|
public int PrtSectID { get; set; } = -1;
|
||||||
private Point _NewLocation;
|
public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor, int PrtSectID = -1)
|
||||||
private string _Prefix = ""; // RHM20150506 Multiline ItemID TextBox
|
|
||||||
public string Prefix
|
|
||||||
{
|
|
||||||
get { return _Prefix; }
|
|
||||||
set { _Prefix = value; }
|
|
||||||
}
|
|
||||||
// this flag is used when the Continuous Action Sumamry is printed from the tree or ribbon button
|
|
||||||
// it will prevent the temporary PDF (generated with printing - needed to get page numbers) from being displayed
|
|
||||||
// and will delete that temporary PDF file
|
|
||||||
private bool _OnlyShowContinuousActionSummary = false;
|
|
||||||
public bool OnlyShowContinuousActionSummary
|
|
||||||
{
|
|
||||||
get { return _OnlyShowContinuousActionSummary; }
|
|
||||||
set { _OnlyShowContinuousActionSummary = value; }
|
|
||||||
}
|
|
||||||
// F2022-024 this flag is used when the Time Critical Action Sumamry is printed from the tree or ribbon button
|
|
||||||
// it will prevent the temporary PDF (generated with printing - needed to get page numbers) from being displayed
|
|
||||||
// and will delete that temporary PDF file
|
|
||||||
private bool _OnlyShowTimeCriticalActionSummary = false;
|
|
||||||
public bool OnlyShowTimeCriticalActionSummary
|
|
||||||
{
|
|
||||||
get { return _OnlyShowTimeCriticalActionSummary; }
|
|
||||||
set { _OnlyShowTimeCriticalActionSummary = value; }
|
|
||||||
}
|
|
||||||
private bool _DidAll = false;
|
|
||||||
public bool DidAll
|
|
||||||
{
|
|
||||||
get { return _DidAll; }
|
|
||||||
set { _DidAll = value; }
|
|
||||||
}
|
|
||||||
private int _prtSectID = -1;
|
|
||||||
public int PrtSectID
|
|
||||||
{
|
|
||||||
get { return _prtSectID; }
|
|
||||||
set { _prtSectID = value; }
|
|
||||||
}
|
|
||||||
public frmPDFStatusForm(ItemInfo myItem, string rev, string watermark, bool debugOutput, bool origPgBrk, bool openPDF, bool overWrite, string pdfPath, ChangeBarDefinition cbd, string pdfFile, Point newLocation, bool insertBlankPages, bool allOrAuto, string prefix, bool saveLinks, int removeTrailingHardReturnsAndManualPageBreaks, bool showPROMSVer, bool didAll, string blankPageText, MergedPdf mergedPdf, string watermarkColor, int PrtSectID = -1)
|
|
||||||
{
|
{
|
||||||
// B2021-088 moved this if/else from CreatePDF() so that the Approval logic will have access to this logic
|
// B2021-088 moved this if/else from CreatePDF() so that the Approval logic will have access to this logic
|
||||||
ProcedureInfo MyProcedure = myItem as ProcedureInfo;
|
ProcedureInfo MyProcedure = myItem as ProcedureInfo;
|
||||||
@@ -114,28 +45,29 @@ namespace VEPROMS
|
|||||||
|
|
||||||
// B2021-102 moved the baseline meta file write here too - should have been done with B2021-088 fix
|
// B2021-102 moved the baseline meta file write here too - should have been done with B2021-088 fix
|
||||||
// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
// C2018-015 add the procedure tree path and the procedure number and title to the meta file
|
||||||
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0}", MyProcedure.SearchDVPath.Replace("\a", " | "));
|
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine($"!! {MyProcedure.SearchDVPath.Replace("\a", " | ")}");
|
||||||
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine("!! {0} | {1}", MyProcedure.DisplayNumber, MyProcedure.DisplayText);
|
if (BaselineMetaFile.IsOpen) BaselineMetaFile.WriteLine($"!! {MyProcedure.DisplayNumber} | {MyProcedure.DisplayText}");
|
||||||
|
|
||||||
myItem = MyProcedure;
|
myItem = MyProcedure;
|
||||||
|
|
||||||
Prefix = prefix;
|
Prefix = prefix;
|
||||||
OpenPDF = openPDF;
|
OpenPDF = openPDF;
|
||||||
DidAll = didAll;
|
DidAll = didAll;
|
||||||
_prtSectID = PrtSectID;
|
this.PrtSectID = PrtSectID;
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
// if the version number of PROMS is 1.0, then we are running a Demo version.
|
// if the version number of PROMS is 1.0, then we are running a Demo version.
|
||||||
// When running a Demo version, force a "Sample" watermark when printing.
|
// When running a Demo version, force a "Sample" watermark when printing.
|
||||||
// B2020-022 append a ".pdf" extension if the file name does on have one.
|
// B2020-022 append a ".pdf" extension if the file name does on have one.
|
||||||
MyPromsPrinter = new PromsPrinter(myItem, rev, (VlnSettings.ReleaseMode.Equals("DEMO")) ? "Sample" : watermark, debugOutput, origPgBrk, pdfPath + @"\Compare", false, overWrite, cbd, (pdfFile.ToUpper().EndsWith(".PDF"))?pdfFile:pdfFile+".pdf", insertBlankPages, allOrAuto,Prefix,saveLinks,removeTrailingHardReturnsAndManualPageBreaks, blankPageText, DidAll, mergedPdf, watermarkColor);
|
MyPromsPrinter = new PromsPrinter(myItem, rev, (VlnSettings.ReleaseMode.Equals("DEMO")) ? "Sample" : watermark, debugOutput, origPgBrk, pdfPath + @"\Compare", false, overWrite, cbd, (pdfFile.ToUpper().EndsWith(".PDF")) ? pdfFile : $"{pdfFile}.pdf", insertBlankPages, allOrAuto, Prefix, saveLinks, removeTrailingHardReturnsAndManualPageBreaks, blankPageText, DidAll, mergedPdf, watermarkColor)
|
||||||
|
{
|
||||||
MyPromsPrinter.PromsVersion = (showPROMSVer) ? AboutVEPROMS.PROMSVersion : ""; //C2018-009 print PROMS version
|
PromsVersion = (showPROMSVer) ? AboutVEPROMS.PROMSVersion : "" //C2018-009 print PROMS version
|
||||||
|
};
|
||||||
|
|
||||||
PDFPath = pdfPath;
|
|
||||||
this.Text = "Creating PDF of " + myItem.DisplayNumber;
|
PDFPath = pdfPath;
|
||||||
|
Text = $"Creating PDF of {myItem.DisplayNumber}";
|
||||||
_NewLocation = newLocation;
|
_NewLocation = newLocation;
|
||||||
|
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
@@ -162,24 +94,18 @@ namespace VEPROMS
|
|||||||
if (waterMarkText.ToUpper() == "[U-TEXT]")
|
if (waterMarkText.ToUpper() == "[U-TEXT]")
|
||||||
{
|
{
|
||||||
string utxt = (procInfo.MyDocVersion.MultiUnitCount > 1) ? procInfo.MyDocVersion.DocVersionConfig.Unit_Text : "";
|
string utxt = (procInfo.MyDocVersion.MultiUnitCount > 1) ? procInfo.MyDocVersion.DocVersionConfig.Unit_Text : "";
|
||||||
waterMarkText = (utxt == null) ? "" : utxt;
|
waterMarkText = utxt ?? "";
|
||||||
}
|
}
|
||||||
else if (waterMarkText.ToUpper() == "[U-NUMBER]")
|
else if (waterMarkText.ToUpper() == "[U-NUMBER]")
|
||||||
{
|
{
|
||||||
string uNum = (procInfo.MyDocVersion.MultiUnitCount > 1) ? procInfo.MyDocVersion.DocVersionConfig.Unit_Number : "";
|
string uNum = (procInfo.MyDocVersion.MultiUnitCount > 1) ? procInfo.MyDocVersion.DocVersionConfig.Unit_Number : "";
|
||||||
waterMarkText = (uNum == null) ? "" : uNum;
|
waterMarkText = uNum ?? "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// used when the approved function creates an export file with unlinked ROs and Transitons. Word sections that have RO tokens are saved with the RO Vaules in DocReplace
|
|
||||||
// DocReplace is passed on to the Export functions.
|
public Dictionary<int, byte[]> DocReplace { get; set; }
|
||||||
private Dictionary<int, byte[]> _DocReplace;
|
public bool AllowAllWatermarks
|
||||||
public Dictionary<int, byte[]> DocReplace
|
|
||||||
{
|
|
||||||
get { return _DocReplace; }
|
|
||||||
set { _DocReplace = value; }
|
|
||||||
}
|
|
||||||
public bool AllowAllWatermarks
|
|
||||||
{
|
{
|
||||||
get { return MyPromsPrinter.AllowAllWatermarks; }
|
get { return MyPromsPrinter.AllowAllWatermarks; }
|
||||||
set { MyPromsPrinter.AllowAllWatermarks = value; }
|
set { MyPromsPrinter.AllowAllWatermarks = value; }
|
||||||
@@ -195,7 +121,7 @@ namespace VEPROMS
|
|||||||
if (args.Progress == pb.Maximum)
|
if (args.Progress == pb.Maximum)
|
||||||
pb.Text = args.MyStatus;
|
pb.Text = args.MyStatus;
|
||||||
else
|
else
|
||||||
pb.Text = string.Format("Processing {0} ({1} of {2})", args.MyStatus, args.Progress + 1, pb.Maximum);
|
pb.Text = $"Processing {args.MyStatus} ({args.Progress + 1} of {pb.Maximum})";
|
||||||
}
|
}
|
||||||
MyStatus = args.MyStatus;
|
MyStatus = args.MyStatus;
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
@@ -217,38 +143,15 @@ namespace VEPROMS
|
|||||||
Text = Text.Replace("PDF", "Time Critical Action Summary"); // F2022-024 Time Critical Action
|
Text = Text.Replace("PDF", "Time Critical Action Summary"); // F2022-024 Time Critical Action
|
||||||
}
|
}
|
||||||
|
|
||||||
private string _PdfFile;
|
public string PdfFile { get; set; }
|
||||||
public string PdfFile
|
|
||||||
{
|
|
||||||
get { return _PdfFile; }
|
|
||||||
set { _PdfFile = value; }
|
|
||||||
}
|
|
||||||
private bool _MakePlaceKeeper = false;
|
|
||||||
|
|
||||||
public bool MakePlaceKeeper
|
public bool MakePlaceKeeper { get; set; } = false;
|
||||||
{
|
|
||||||
get { return _MakePlaceKeeper; }
|
|
||||||
set { _MakePlaceKeeper = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool _MakeContinuousActionSummary = false;
|
public bool MakeContinuousActionSummary { get; set; } = false;
|
||||||
|
|
||||||
public bool MakeContinuousActionSummary
|
public bool MakeTimeCriticalActionSummary { get; set; } = false;
|
||||||
{
|
|
||||||
get { return _MakeContinuousActionSummary; }
|
|
||||||
set { _MakeContinuousActionSummary = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// F2022-024 Time Critical Action Summary
|
private void tmrRun_Tick(object sender, EventArgs e)
|
||||||
private bool _MakeTimeCriticalActionSummary = false;
|
|
||||||
|
|
||||||
public bool MakeTimeCriticalActionSummary
|
|
||||||
{
|
|
||||||
get { return _MakeTimeCriticalActionSummary; }
|
|
||||||
set { _MakeTimeCriticalActionSummary = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private void tmrRun_Tick(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
tmrRun.Enabled = false;
|
tmrRun.Enabled = false;
|
||||||
if (CancelStop) btnCancel.Visible = true;
|
if (CancelStop) btnCancel.Visible = true;
|
||||||
@@ -293,7 +196,7 @@ namespace VEPROMS
|
|||||||
if (OnlyShowTimeCriticalActionSummary)
|
if (OnlyShowTimeCriticalActionSummary)
|
||||||
{ MyPromsPrinter.PromsPrinterPrintType = PromsPrinterPrintType.TCAS_only; }
|
{ MyPromsPrinter.PromsPrinterPrintType = PromsPrinterPrintType.TCAS_only; }
|
||||||
|
|
||||||
_PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PrtSectID);
|
PdfFile = MyPromsPrinter.Print(PDFPath, MakePlaceKeeper, MakeContinuousActionSummary, MakeTimeCriticalActionSummary, PrtSectID);
|
||||||
|
|
||||||
ProfileTimer.Pop(profileDepth);
|
ProfileTimer.Pop(profileDepth);
|
||||||
|
|
||||||
@@ -307,13 +210,13 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
// B2024-062 Added check for EmptyProcedure. We don't need to show the Try Again message if the procedure
|
// B2024-062 Added check for EmptyProcedure. We don't need to show the Try Again message if the procedure
|
||||||
// is empty, as it would be just be a waste of time for the user.
|
// is empty, as it would be just be a waste of time for the user.
|
||||||
while (!MyPromsPrinter.MergeNotIncluded && _PdfFile == null && !MyPromsPrinter.EmptyProcedure &&
|
while (!MyPromsPrinter.MergeNotIncluded && PdfFile == null && !MyPromsPrinter.EmptyProcedure &&
|
||||||
MessageBox.Show("Try Again?", "PDF Creation Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
|
MessageBox.Show("Try Again?", "PDF Creation Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
|
||||||
|
|
||||||
|
|
||||||
if (_PdfFile == null)
|
if (PdfFile == null)
|
||||||
{
|
{
|
||||||
this.Close();
|
Close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,13 +232,13 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
DateTime tEnd = DateTime.Now;
|
DateTime tEnd = DateTime.Now;
|
||||||
MyStatus = _PdfFile + " created.";
|
MyStatus = $"{PdfFile} created.";
|
||||||
MyStatus = string.Format("{0} created in {1:0.} milliseconds", _PdfFile, (TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds));
|
MyStatus = $"{PdfFile} created in {(TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds):0.} milliseconds";
|
||||||
|
|
||||||
if (OpenPDF)
|
if (OpenPDF)
|
||||||
{
|
{
|
||||||
OpenPDFandPlacekeeper(_PdfFile);
|
OpenPDFandPlacekeeper(PdfFile);
|
||||||
this.Close();
|
Close();
|
||||||
|
|
||||||
// C2021-010: Remove trailing returns/spaces & manual page breaks & allow save. Ask if user wants to save chanages
|
// C2021-010: Remove trailing returns/spaces & manual page breaks & allow save. Ask if user wants to save chanages
|
||||||
// if they were found.
|
// if they were found.
|
||||||
@@ -362,15 +265,15 @@ namespace VEPROMS
|
|||||||
if (CloseWhenDone)
|
if (CloseWhenDone)
|
||||||
{
|
{
|
||||||
OpenPDFandPlacekeeper(null);
|
OpenPDFandPlacekeeper(null);
|
||||||
this.Close();
|
Close();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnOpenPDF_Click(object sender, EventArgs e)
|
private void btnOpenPDF_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
OpenPDFandPlacekeeper(_PdfFile);
|
OpenPDFandPlacekeeper(PdfFile);
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// set a delay so that the word document containing the newly generated placekeeper will appear on top of everything else.
|
// set a delay so that the word document containing the newly generated placekeeper will appear on top of everything else.
|
||||||
@@ -383,8 +286,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
System.Diagnostics.Process sdp = System.Diagnostics.Process.Start(pdffile);
|
System.Diagnostics.Process sdp = System.Diagnostics.Process.Start(pdffile);
|
||||||
|
|
||||||
if (sdp != null)
|
sdp?.WaitForInputIdle();
|
||||||
sdp.WaitForInputIdle();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OnlyShowContinuousActionSummary || OnlyShowTimeCriticalActionSummary) // F2022-024 Time Critical Action Summary
|
if (OnlyShowContinuousActionSummary || OnlyShowTimeCriticalActionSummary) // F2022-024 Time Critical Action Summary
|
||||||
@@ -441,16 +343,16 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
string str = string.Format("{0} - {1} - {2}",pdffile,ex.GetType().Name,ex.Message);
|
string str = $"{pdffile} - {ex.GetType().Name} - {ex.Message}";
|
||||||
MessageBox.Show(str, "Error Opening PDFFile", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
MessageBox.Show(str, "Error Opening PDFFile", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnOpenFolder_Click(object sender, EventArgs e)
|
private void btnOpenFolder_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
System.Diagnostics.Process.Start("Explorer", "/select," + _PdfFile);
|
System.Diagnostics.Process.Start("Explorer", $"/select,{PdfFile}");
|
||||||
OpenPDFandPlacekeeper(null);
|
OpenPDFandPlacekeeper(null);
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -13,10 +11,13 @@ namespace VEPROMS
|
|||||||
public partial class frmPSI : Form
|
public partial class frmPSI : Form
|
||||||
{
|
{
|
||||||
private ProcedureInfo _MyProcedureInfo;
|
private ProcedureInfo _MyProcedureInfo;
|
||||||
private StepTabRibbon _MyStepTabRibbon;
|
private readonly StepTabRibbon _MyStepTabRibbon;
|
||||||
private Dictionary<string, StepRTB> _DicStepRtb;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private Dictionary<string, CheckBox> _DicCheckBox;
|
private Dictionary<string, StepRTB> _DicStepRtb;
|
||||||
private Dictionary<string, ComboBox> _DicComboBox;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private Dictionary<string, CheckBox> _DicCheckBox;
|
||||||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private Dictionary<string, ComboBox> _DicComboBox;
|
||||||
public frmPSI(ProcedureInfo pi)
|
public frmPSI(ProcedureInfo pi)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -31,22 +32,23 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
_MyProcedureInfo = pi;
|
_MyProcedureInfo = pi;
|
||||||
PSI psiDialogDef = pi.ActiveFormat.PlantFormat.FormatData.ProcData.PSI;
|
PSI psiDialogDef = pi.ActiveFormat.PlantFormat.FormatData.ProcData.PSI;
|
||||||
this.Text = psiDialogDef.Caption;
|
Text = psiDialogDef.Caption;
|
||||||
this.Location = new Point((int)psiDialogDef.x * 2, (int)psiDialogDef.y * 2);
|
Location = new Point((int)psiDialogDef.x * 2, (int)psiDialogDef.y * 2);
|
||||||
int maxx = 0;
|
int maxx = 0;
|
||||||
int maxy = 0;
|
int maxy = 0;
|
||||||
int xB4Scroll = 900;
|
int xB4Scroll = 900;
|
||||||
int yB4Scroll = 630;
|
int yB4Scroll = 630;
|
||||||
this.panelPSI.AutoScroll = false;
|
panelPSI.AutoScroll = false;
|
||||||
foreach (SILabel lbl in psiDialogDef.LabelList)
|
foreach (SILabel lbl in psiDialogDef.LabelList)
|
||||||
{
|
{
|
||||||
Label wlbl = new Label();
|
Label wlbl = new Label
|
||||||
wlbl.Text = lbl.text;
|
{
|
||||||
wlbl.Location = new Point((int)lbl.x * 2, (int)lbl.y * 2);
|
Text = lbl.text,
|
||||||
wlbl.AutoSize = true;
|
Location = new Point((int)lbl.x * 2, (int)lbl.y * 2),
|
||||||
//wlbl.Size = new Size((int)lbl.width * 2, (int)lbl.height * 2);
|
AutoSize = true,
|
||||||
wlbl.Visible = true;
|
Visible = true
|
||||||
this.panelPSI.Controls.Add(wlbl);
|
};
|
||||||
|
panelPSI.Controls.Add(wlbl);
|
||||||
maxx = ((int)lbl.x * 2 + (int)lbl.width * 2) > maxx ? ((int)lbl.x * 2 + (int)lbl.width * 2) : maxx;
|
maxx = ((int)lbl.x * 2 + (int)lbl.width * 2) > maxx ? ((int)lbl.x * 2 + (int)lbl.width * 2) : maxx;
|
||||||
maxy = ((int)lbl.y * 2 + (int)lbl.height * 2) > maxy ? ((int)lbl.y * 2 + (int)lbl.height * 2) : maxy;
|
maxy = ((int)lbl.y * 2 + (int)lbl.height * 2) > maxy ? ((int)lbl.y * 2 + (int)lbl.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -62,7 +64,7 @@ namespace VEPROMS
|
|||||||
tb.MyItemInfo = pi as ItemInfo;
|
tb.MyItemInfo = pi as ItemInfo;
|
||||||
tb.FieldToEdit = E_FieldToEdit.PSI;
|
tb.FieldToEdit = E_FieldToEdit.PSI;
|
||||||
tb.BorderStyle = BorderStyle.FixedSingle;
|
tb.BorderStyle = BorderStyle.FixedSingle;
|
||||||
tb.Enter += new System.EventHandler(this.FieldStepRTB_Enter);
|
tb.Enter += new System.EventHandler(FieldStepRTB_Enter);
|
||||||
// see if config has data for this field, i.e. search for the 'name'
|
// see if config has data for this field, i.e. search for the 'name'
|
||||||
// B2018-057 Replace non-breaking hyphen with hyphen.
|
// B2018-057 Replace non-breaking hyphen with hyphen.
|
||||||
string val = procConfig.GetValue("PSI", fld.name).Replace("\\u8209?", "-");
|
string val = procConfig.GetValue("PSI", fld.name).Replace("\\u8209?", "-");
|
||||||
@@ -70,13 +72,13 @@ namespace VEPROMS
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}");
|
sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}");
|
||||||
sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); //C2017-036 changed to just Arial because Microsoft removed Arial Unicode MS with Word16
|
sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); //C2017-036 changed to just Arial because Microsoft removed Arial Unicode MS with Word16
|
||||||
sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(this.Font.SizeInPoints*2) + " " + dt.StartText + @"}");
|
sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(Font.SizeInPoints*2) + " " + dt.StartText + @"}");
|
||||||
tb.Rtf = sb.ToString();
|
tb.Rtf = sb.ToString();
|
||||||
tb.Location = new Point((int)fld.x * 2, (int)fld.y * 2);
|
tb.Location = new Point((int)fld.x * 2, (int)fld.y * 2);
|
||||||
tb.Size = new Size((int)fld.width * 2, (int)fld.height * 2);
|
tb.Size = new Size((int)fld.width * 2, (int)fld.height * 2);
|
||||||
tb.MinimumSize = new Size((int)fld.width * 2, (int)fld.height * 2);
|
tb.MinimumSize = new Size((int)fld.width * 2, (int)fld.height * 2);
|
||||||
tb.Visible = true;
|
tb.Visible = true;
|
||||||
this.panelPSI.Controls.Add(tb);
|
panelPSI.Controls.Add(tb);
|
||||||
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
||||||
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -89,8 +91,8 @@ namespace VEPROMS
|
|||||||
cb.Visible = true;
|
cb.Visible = true;
|
||||||
cb.Width = (int)fld.width * 2;
|
cb.Width = (int)fld.width * 2;
|
||||||
string val = procConfig.GetValue("PSI", fld.name);
|
string val = procConfig.GetValue("PSI", fld.name);
|
||||||
cb.Checked = val!=null && val!="" && val.ToUpper()[0] == 'Y' ? true : false;
|
cb.Checked = val !=null && val!="" && val.ToUpper()[0] == 'Y';
|
||||||
this.panelPSI.Controls.Add(cb);
|
panelPSI.Controls.Add(cb);
|
||||||
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
||||||
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -107,7 +109,7 @@ namespace VEPROMS
|
|||||||
foreach (string t in tmps) cmb.Items.Add(t);
|
foreach (string t in tmps) cmb.Items.Add(t);
|
||||||
string val = procConfig.GetValue("PSI", fld.name);
|
string val = procConfig.GetValue("PSI", fld.name);
|
||||||
if (val != null && val != "") cmb.SelectedItem = val;
|
if (val != null && val != "") cmb.SelectedItem = val;
|
||||||
this.panelPSI.Controls.Add(cmb);
|
panelPSI.Controls.Add(cmb);
|
||||||
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
||||||
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -115,19 +117,19 @@ namespace VEPROMS
|
|||||||
if (maxx > xB4Scroll)
|
if (maxx > xB4Scroll)
|
||||||
{
|
{
|
||||||
maxx = xB4Scroll;
|
maxx = xB4Scroll;
|
||||||
this.panelPSI.Width = xB4Scroll;
|
panelPSI.Width = xB4Scroll;
|
||||||
this.panelPSI.AutoScroll = true;
|
panelPSI.AutoScroll = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.panelPSI.Width = maxx + 50;
|
panelPSI.Width = maxx + 50;
|
||||||
if (maxy > yB4Scroll)
|
if (maxy > yB4Scroll)
|
||||||
{
|
{
|
||||||
maxy = yB4Scroll;
|
maxy = yB4Scroll;
|
||||||
this.panelPSI.Height = yB4Scroll;
|
panelPSI.Height = yB4Scroll;
|
||||||
this.panelPSI.AutoScroll = true;
|
panelPSI.AutoScroll = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.panelPSI.Height = maxy; // B2018-062: Ok/Cancel buttons not displayed if more than a few labels/fields are defined.
|
panelPSI.Height = maxy; // B2018-062: Ok/Cancel buttons not displayed if more than a few labels/fields are defined.
|
||||||
if (psiDialogDef.ButtonsOnBottom == null || psiDialogDef.ButtonsOnBottom.ToUpper() == "NO")
|
if (psiDialogDef.ButtonsOnBottom == null || psiDialogDef.ButtonsOnBottom.ToUpper() == "NO")
|
||||||
{
|
{
|
||||||
btnOk.Location = new Point(maxx+70, 30);
|
btnOk.Location = new Point(maxx+70, 30);
|
||||||
@@ -138,17 +140,14 @@ namespace VEPROMS
|
|||||||
// B2018-062: Ok/Cancel buttons not displayed if more than a few labels/fields are defined:
|
// B2018-062: Ok/Cancel buttons not displayed if more than a few labels/fields are defined:
|
||||||
// Adjust location of buttons so that they have a larger Y than the panel that holds the labels/fields
|
// Adjust location of buttons so that they have a larger Y than the panel that holds the labels/fields
|
||||||
// and adjust the dialog size if it's height is not enough.
|
// and adjust the dialog size if it's height is not enough.
|
||||||
btnOk.Location = new Point(btnOk.Location.X, panelPSI.Location.Y + this.panelPSI.Height + 10);
|
btnOk.Location = new Point(btnOk.Location.X, panelPSI.Location.Y + panelPSI.Height + 10);
|
||||||
btnCancel.Location = new Point(btnCancel.Location.X, panelPSI.Location.Y + this.panelPSI.Height + 10);
|
btnCancel.Location = new Point(btnCancel.Location.X, panelPSI.Location.Y + panelPSI.Height + 10);
|
||||||
if (this.Height < btnOk.Location.Y + btnOk.Size.Height + 10)
|
if (Height < btnOk.Location.Y + btnOk.Size.Height + 10)
|
||||||
this.Height = btnOk.Location.Y + btnOk.Size.Height + 30;
|
Height = btnOk.Location.Y + btnOk.Size.Height + 30;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void FieldStepRTB_Enter(object sender, EventArgs e)
|
private void FieldStepRTB_Enter(object sender, EventArgs e) => _MyStepTabRibbon.MyStepRTB = (StepRTB)sender;
|
||||||
{
|
private void btnOk_Click(object sender, EventArgs e)
|
||||||
_MyStepTabRibbon.MyStepRTB = (StepRTB)sender;
|
|
||||||
}
|
|
||||||
private void btnOk_Click(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
ProcedureConfig procConfig = _MyProcedureInfo.MyConfig as ProcedureConfig;
|
ProcedureConfig procConfig = _MyProcedureInfo.MyConfig as ProcedureConfig;
|
||||||
PSI psiDialogDef = _MyProcedureInfo.ActiveFormat.PlantFormat.FormatData.ProcData.PSI;
|
PSI psiDialogDef = _MyProcedureInfo.ActiveFormat.PlantFormat.FormatData.ProcData.PSI;
|
||||||
@@ -204,13 +203,13 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using VEPROMS.Properties;
|
using VEPROMS.Properties;
|
||||||
@@ -11,8 +6,6 @@ using DescriptiveEnum;
|
|||||||
using DevComponents.DotNetBar;
|
using DevComponents.DotNetBar;
|
||||||
using DevComponents.DotNetBar.Controls;
|
using DevComponents.DotNetBar.Controls;
|
||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
using System.Xml;
|
|
||||||
using Csla;
|
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
@@ -20,7 +13,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
private bool _Initializing = false;
|
private bool _Initializing = false;
|
||||||
private string _DefaultFormatName = null;
|
private string _DefaultFormatName = null;
|
||||||
//private string _DefaultPagination = null;
|
|
||||||
private string _DefaultWatermark = null;
|
private string _DefaultWatermark = null;
|
||||||
private string _DefaultChgBarType = null;
|
private string _DefaultChgBarType = null;
|
||||||
private string _DefaultChgBarLoc = null;
|
private string _DefaultChgBarLoc = null;
|
||||||
@@ -28,21 +20,18 @@ namespace VEPROMS
|
|||||||
private string _DefaultChgBarUsrMsg1 = null;
|
private string _DefaultChgBarUsrMsg1 = null;
|
||||||
private string _DefaultChgBarUsrMsg2 = null;
|
private string _DefaultChgBarUsrMsg2 = null;
|
||||||
private string _DefaultFormatColumns = null;
|
private string _DefaultFormatColumns = null;
|
||||||
private bool _DefaultDisableDuplex = false;
|
private readonly ProcedureConfig _ProcedureConfig;
|
||||||
private ProcedureConfig _ProcedureConfig;
|
private readonly StepTabRibbon _MyStepTabRibbon;
|
||||||
private StepTabRibbon _MyStepTabRibbon;
|
|
||||||
|
|
||||||
public frmProcedureProperties(ProcedureConfig procedureConfig)
|
public frmProcedureProperties(ProcedureConfig procedureConfig)
|
||||||
{
|
{
|
||||||
_ProcedureConfig = procedureConfig;
|
_ProcedureConfig = procedureConfig;
|
||||||
_Initializing = true;
|
_Initializing = true;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
btnGeneral.PerformClick(); // always start with General tab or button
|
btnGeneral.PerformClick(); // always start with General tab or button
|
||||||
_Initializing = false;
|
|
||||||
// build the title bar caption
|
|
||||||
//this.Text = string.Format("{0} {1} Properties", procedureConfig.Number, procedureConfig.Title);
|
|
||||||
ItemInfo itmInfo = ItemInfo.Get(_ProcedureConfig.MyProcedure.ItemID);
|
ItemInfo itmInfo = ItemInfo.Get(_ProcedureConfig.MyProcedure.ItemID);
|
||||||
this.Text = string.Format("{0} {1} Properties", itmInfo.DisplayNumber, itmInfo.DisplayText);
|
// build the title bar caption
|
||||||
|
Text = $"{itmInfo.DisplayNumber} {itmInfo.DisplayText} Properties";
|
||||||
ppProcTitleStpRTB.Font = ppProcTitleStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
ppProcTitleStpRTB.Font = ppProcTitleStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
||||||
ppProcTitleStpRTB.FieldToEdit = E_FieldToEdit.Text;
|
ppProcTitleStpRTB.FieldToEdit = E_FieldToEdit.Text;
|
||||||
ppProcTitleStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
ppProcTitleStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
||||||
@@ -54,12 +43,11 @@ namespace VEPROMS
|
|||||||
ppProcNumStpRTB.MyItemInfo = itmInfo;
|
ppProcNumStpRTB.MyItemInfo = itmInfo;
|
||||||
ppProcNumStpRTB.RefreshDisplay(true);
|
ppProcNumStpRTB.RefreshDisplay(true);
|
||||||
|
|
||||||
_MyStepTabRibbon = new StepTabRibbon();
|
_MyStepTabRibbon = new StepTabRibbon
|
||||||
//_MyStepTabRibbon.Dock = System.Windows.Forms.DockStyle.Top;
|
{
|
||||||
//_MyStepTabRibbon.Location = new System.Drawing.Point(0, 0);
|
Name = "displayTabRibbon1",
|
||||||
_MyStepTabRibbon.Name = "displayTabRibbon1";
|
Visible = false
|
||||||
_MyStepTabRibbon.Visible = false;
|
};
|
||||||
//defaultSettingsVisiblity();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppBtnOK_Click(object sender, EventArgs e)
|
private void ppBtnOK_Click(object sender, EventArgs e)
|
||||||
@@ -99,7 +87,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
public void SaveText(StepRTB myStepRTB)
|
public void SaveText(StepRTB myStepRTB)
|
||||||
{
|
{
|
||||||
@@ -118,8 +106,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
procedureConfigBindingSource.CancelEdit();
|
procedureConfigBindingSource.CancelEdit();
|
||||||
_ProcedureConfig.MyProcedure.MyProcedureInfo.CreateEnhanced = false;
|
_ProcedureConfig.MyProcedure.MyProcedureInfo.CreateEnhanced = false;
|
||||||
this.DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -156,10 +144,6 @@ namespace VEPROMS
|
|||||||
if (!(_DefaultChgBarUsrMsg2.Equals("")))
|
if (!(_DefaultChgBarUsrMsg2.Equals("")))
|
||||||
ppLblChgBarUserMsgTwoDefault.Text = string.Format("({0})", _DefaultChgBarUsrMsg2);
|
ppLblChgBarUserMsgTwoDefault.Text = string.Format("({0})", _DefaultChgBarUsrMsg2);
|
||||||
|
|
||||||
// Get the default Print Pagination
|
|
||||||
//_DefaultPagination = _ProcedureConfig.Print_Pagination.ToString();
|
|
||||||
//SetupDefault(EnumDescConverter.GetEnumDescription(_ProcedureConfig.Print_Pagination), ppLblPaginationDefault, ppCmbxPagination);
|
|
||||||
|
|
||||||
// Get the default Watermark
|
// Get the default Watermark
|
||||||
_DefaultWatermark = _ProcedureConfig.Print_Watermark.ToString();
|
_DefaultWatermark = _ProcedureConfig.Print_Watermark.ToString();
|
||||||
SetupDefault(EnumDescConverter.GetEnumDescription(_ProcedureConfig.Print_Watermark), ppLblWatermarkDefault, ppCmbxWatermark);
|
SetupDefault(EnumDescConverter.GetEnumDescription(_ProcedureConfig.Print_Watermark), ppLblWatermarkDefault, ppCmbxWatermark);
|
||||||
@@ -178,8 +162,6 @@ namespace VEPROMS
|
|||||||
_Initializing = true;
|
_Initializing = true;
|
||||||
procedureConfigBindingSource.DataSource = _ProcedureConfig;
|
procedureConfigBindingSource.DataSource = _ProcedureConfig;
|
||||||
|
|
||||||
//formatInfoListBindingSource.DataSource = FormatInfoList.Get();
|
|
||||||
|
|
||||||
ppCmbxFormat.DataSource = null;
|
ppCmbxFormat.DataSource = null;
|
||||||
ppCmbxFormat.DisplayMember = "FullName";
|
ppCmbxFormat.DisplayMember = "FullName";
|
||||||
ppCmbxFormat.ValueMember = "FullName";
|
ppCmbxFormat.ValueMember = "FullName";
|
||||||
@@ -195,7 +177,7 @@ namespace VEPROMS
|
|||||||
// Get the saved settings for this user
|
// Get the saved settings for this user
|
||||||
//
|
//
|
||||||
// This setting tells us if we should display the default values on this property page
|
// This setting tells us if we should display the default values on this property page
|
||||||
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultProcedureProp"] != null) ? Settings.Default.ShowDefaultProcedureProp : false;
|
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultProcedureProp"] != null) && Settings.Default.ShowDefaultProcedureProp;
|
||||||
|
|
||||||
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
||||||
// 1 - Button Dialog (default)
|
// 1 - Button Dialog (default)
|
||||||
@@ -204,7 +186,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
tcProcProp.TabsVisible = true;
|
tcProcProp.TabsVisible = true;
|
||||||
panProcBtns.Visible = false;
|
panProcBtns.Visible = false;
|
||||||
this.Width -= panProcBtns.Width;
|
Width -= panProcBtns.Width;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the default values for the property page information
|
// Get the default values for the property page information
|
||||||
@@ -230,11 +212,6 @@ namespace VEPROMS
|
|||||||
ppCmbxChangeBarType.ValueMember = "EValue";
|
ppCmbxChangeBarType.ValueMember = "EValue";
|
||||||
ppCmbxChangeBarType.SelectedIndex = -1;
|
ppCmbxChangeBarType.SelectedIndex = -1;
|
||||||
|
|
||||||
//ppCmbxPagination.DataSource = EnumDetail<PrintPagination>.Details();
|
|
||||||
//ppCmbxPagination.DisplayMember = "Description";
|
|
||||||
//ppCmbxPagination.ValueMember = "EValue";
|
|
||||||
//ppCmbxPagination.SelectedIndex = -1;
|
|
||||||
|
|
||||||
ppCmbxWatermark.DataSource = EnumDetail<PrintWatermark>.Details();
|
ppCmbxWatermark.DataSource = EnumDetail<PrintWatermark>.Details();
|
||||||
ppCmbxWatermark.DisplayMember = "Description";
|
ppCmbxWatermark.DisplayMember = "Description";
|
||||||
ppCmbxWatermark.ValueMember = "EValue";
|
ppCmbxWatermark.ValueMember = "EValue";
|
||||||
@@ -247,8 +224,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
// the only time the create enhanced checkbox is visisble is if this is a 'New' procedure in a set that is the 'Source'.
|
// the only time the create enhanced checkbox is visisble is if this is a 'New' procedure in a set that is the 'Source'.
|
||||||
cbEnhanced.Visible = false;
|
cbEnhanced.Visible = false;
|
||||||
DocVersionConfig dvc = _ProcedureConfig.MyProcedure.MyProcedureInfo.MyDocVersion.MyConfig as DocVersionConfig;
|
if (_ProcedureConfig.CreatingNew && _ProcedureConfig.MyProcedure.MyProcedureInfo.MyDocVersion.MyConfig is DocVersionConfig dvc && dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type != 0)
|
||||||
if (_ProcedureConfig.CreatingNew && dvc != null && dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type != 0)
|
|
||||||
cbEnhanced.Visible = true;
|
cbEnhanced.Visible = true;
|
||||||
cbNotIncludeInMerged.Checked = _ProcedureConfig.Print_NotInMergeAll;
|
cbNotIncludeInMerged.Checked = _ProcedureConfig.Print_NotInMergeAll;
|
||||||
_Initializing = false;
|
_Initializing = false;
|
||||||
@@ -262,10 +238,7 @@ namespace VEPROMS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnGeneral_Click(object sender, EventArgs e)
|
private void btnGeneral_Click(object sender, EventArgs e) => ProcessButtonClick(tiGeneral, btnGeneral);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiGeneral, btnGeneral);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Selection in Default Column Mode combo box changed.
|
/// Selection in Default Column Mode combo box changed.
|
||||||
@@ -278,14 +251,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
FormatColumns fc = (FormatColumns)Enum.Parse(typeof(FormatColumns), _DefaultFormatColumns);
|
FormatColumns fc = (FormatColumns)Enum.Parse(typeof(FormatColumns), _DefaultFormatColumns);
|
||||||
ProcessCmbxSelectionEnumChanged(ppCmbxStpEditorCols, fc, ppBtnDefEdCols, ppLblStpEditorColsDefault);
|
ProcessCmbxSelectionEnumChanged(ppCmbxStpEditorCols, fc, ppBtnDefEdCols, ppLblStpEditorColsDefault);
|
||||||
//if ((ppCmbxStpEditorCols.SelectedIndex != -1) && ppCmbxStpEditorCols.SelectedValue.Equals(fc))
|
|
||||||
//{
|
|
||||||
// ppBtnDefEdCols.Focus();
|
|
||||||
// ppBtnDefEdCols.PerformClick();
|
|
||||||
//}
|
|
||||||
//ppBtnDefEdCols.Visible = ppCmbxStpEditorCols.SelectedValue != null;
|
|
||||||
//ppLblStpEditorColsDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefEdCols.Visible;
|
|
||||||
//tcpGeneral.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -304,22 +269,7 @@ namespace VEPROMS
|
|||||||
if (_InitialIndex < -1) _InitialIndex = ppCmbxFormat.SelectedIndex; // save the current format selection (happens here when current section is set to the default format)
|
if (_InitialIndex < -1) _InitialIndex = ppCmbxFormat.SelectedIndex; // save the current format selection (happens here when current section is set to the default format)
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppBtnDefaultFmt_Click(object sender, EventArgs e)
|
private void ppBtnDefaultFmt_Click(object sender, EventArgs e) => ppCmbxFormat.SelectedIndex = -1; //reset to the default Format setting
|
||||||
{
|
|
||||||
ppCmbxFormat.SelectedIndex = -1; //reset to the default Format setting
|
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Commented out as part of code change C2017-004. this also makes it consistent with section properties
|
|
||||||
/// <summary>
|
|
||||||
/// Selection in Format combo box changed.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender">object</param>
|
|
||||||
/// <param name="e">EventArgs</param>
|
|
||||||
//private void ppCmbxFormat_SelectedValueChanged(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// ProcessCmbxSelectedValueChange(ppCmbxFormat, _DefaultFormatName, ppBtnDefaultFmt, ppLblFormatDefault);
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enable or disable the user specified change bar options base on the type
|
/// Enable or disable the user specified change bar options base on the type
|
||||||
@@ -327,14 +277,6 @@ namespace VEPROMS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void setEnabledUserSpecifiedChgBarCombos(PrintChangeBar pcb)
|
private void setEnabledUserSpecifiedChgBarCombos(PrintChangeBar pcb)
|
||||||
{
|
{
|
||||||
//ppGpbxUserSpecCB.Enabled =
|
|
||||||
//ppCmbxChgBarPos.Enabled =
|
|
||||||
//ppCmbxChgBarTxtType.Enabled =
|
|
||||||
//ppBtnDefaultCbPos.Enabled =
|
|
||||||
//ppBtnDefCbTxtTyp.Enabled = (ppCmbxChangeBarType.SelectedValue != null &&
|
|
||||||
// ppCmbxChangeBarType.SelectedValue.Equals(ProcedureConfig.PrintChangeBar.WithUserSpecified)) ||
|
|
||||||
// (ppCmbxChangeBarType.SelectedValue == null && pcb.Equals(DocVersionConfig.PrintChangeBar.WithUserSpecified));
|
|
||||||
|
|
||||||
ppGpbxUserSpecCB.Enabled = (ppCmbxChangeBarType.SelectedValue != null &&
|
ppGpbxUserSpecCB.Enabled = (ppCmbxChangeBarType.SelectedValue != null &&
|
||||||
ppCmbxChangeBarType.SelectedValue.Equals(PrintChangeBar.WithUserSpecified)) ||
|
ppCmbxChangeBarType.SelectedValue.Equals(PrintChangeBar.WithUserSpecified)) ||
|
||||||
(ppCmbxChangeBarType.SelectedValue == null && pcb.Equals(PrintChangeBar.WithUserSpecified));
|
(ppCmbxChangeBarType.SelectedValue == null && pcb.Equals(PrintChangeBar.WithUserSpecified));
|
||||||
@@ -353,7 +295,6 @@ namespace VEPROMS
|
|||||||
PrintChangeBar pcb = (PrintChangeBar)Enum.Parse(typeof(PrintChangeBar), _DefaultChgBarType);
|
PrintChangeBar pcb = (PrintChangeBar)Enum.Parse(typeof(PrintChangeBar), _DefaultChgBarType);
|
||||||
ProcessCmbxSelectionEnumChanged(ppCmbxChangeBarType, pcb, ppBtnDefaultChgBar, ppLblChangeBarTypeDefault);
|
ProcessCmbxSelectionEnumChanged(ppCmbxChangeBarType, pcb, ppBtnDefaultChgBar, ppLblChangeBarTypeDefault);
|
||||||
setEnabledUserSpecifiedChgBarCombos(pcb);
|
setEnabledUserSpecifiedChgBarCombos(pcb);
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -369,12 +310,9 @@ namespace VEPROMS
|
|||||||
// Get the parent setting
|
// Get the parent setting
|
||||||
PrintChangeBar pcb = (PrintChangeBar)Enum.Parse(typeof(PrintChangeBar), _DefaultChgBarType);
|
PrintChangeBar pcb = (PrintChangeBar)Enum.Parse(typeof(PrintChangeBar), _DefaultChgBarType);
|
||||||
// Compare parent setting with current setting
|
// Compare parent setting with current setting
|
||||||
//_Initializing = true;
|
|
||||||
if (pcb != _ProcedureConfig.Print_ChangeBar)
|
if (pcb != _ProcedureConfig.Print_ChangeBar)
|
||||||
_ProcedureConfig.Print_ChangeBar = pcb; // this will force a database update (write)
|
_ProcedureConfig.Print_ChangeBar = pcb; // this will force a database update (write)
|
||||||
ppCmbxChangeBarType.SelectedIndex = -1; //reset to the default Change Bar setting
|
ppCmbxChangeBarType.SelectedIndex = -1; //reset to the default Change Bar setting
|
||||||
//_Initializing = false;
|
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -388,7 +326,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
PrintChangeBarLoc cbl = (PrintChangeBarLoc)Enum.Parse(typeof(PrintChangeBarLoc), _DefaultChgBarLoc);
|
PrintChangeBarLoc cbl = (PrintChangeBarLoc)Enum.Parse(typeof(PrintChangeBarLoc), _DefaultChgBarLoc);
|
||||||
ProcessCmbxSelectionEnumChanged(ppCmbxChgBarPos, cbl, ppBtnDefaultCbPos, ppLblChgBarPosDefault);
|
ProcessCmbxSelectionEnumChanged(ppCmbxChgBarPos, cbl, ppBtnDefaultCbPos, ppLblChgBarPosDefault);
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,7 +344,6 @@ namespace VEPROMS
|
|||||||
if (cbl != _ProcedureConfig.Print_ChangeBarLoc)
|
if (cbl != _ProcedureConfig.Print_ChangeBarLoc)
|
||||||
_ProcedureConfig.Print_ChangeBarLoc = cbl; // this will force a database update (write)
|
_ProcedureConfig.Print_ChangeBarLoc = cbl; // this will force a database update (write)
|
||||||
ppCmbxChgBarPos.SelectedIndex = -1; //reset to the default Change Bar Position setting
|
ppCmbxChgBarPos.SelectedIndex = -1; //reset to the default Change Bar Position setting
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -422,7 +358,6 @@ namespace VEPROMS
|
|||||||
PrintChangeBarText cbt = (PrintChangeBarText)Enum.Parse(typeof(PrintChangeBarText), _DefaultChgBarText);
|
PrintChangeBarText cbt = (PrintChangeBarText)Enum.Parse(typeof(PrintChangeBarText), _DefaultChgBarText);
|
||||||
ProcessCmbxSelectionEnumChanged(ppCmbxChgBarTxtType, cbt, ppBtnDefCbTxtTyp, ppLblChgBarTxtTypeDefault);
|
ProcessCmbxSelectionEnumChanged(ppCmbxChgBarTxtType, cbt, ppBtnDefCbTxtTyp, ppLblChgBarTxtTypeDefault);
|
||||||
setEnabledUserSpecifiedChgBarText();
|
setEnabledUserSpecifiedChgBarText();
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -441,7 +376,6 @@ namespace VEPROMS
|
|||||||
if (cbt != _ProcedureConfig.Print_ChangeBarText)
|
if (cbt != _ProcedureConfig.Print_ChangeBarText)
|
||||||
_ProcedureConfig.Print_ChangeBarText = cbt; // this will force a database update (write)
|
_ProcedureConfig.Print_ChangeBarText = cbt; // this will force a database update (write)
|
||||||
ppCmbxChgBarTxtType.SelectedIndex = -1; //reset to the default Change Bar Text Type setting
|
ppCmbxChgBarTxtType.SelectedIndex = -1; //reset to the default Change Bar Text Type setting
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -450,13 +384,6 @@ namespace VEPROMS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void setEnabledUserSpecifiedChgBarText()
|
private void setEnabledUserSpecifiedChgBarText()
|
||||||
{
|
{
|
||||||
//ppGpbxUserSpecTxt.Enabled =
|
|
||||||
//ppTxbxChangeBarUserMsgOne.Enabled =
|
|
||||||
//ppTxbxChgBarUserMsgTwo.Enabled =
|
|
||||||
//ppBtnDefCbTxt1.Enabled =
|
|
||||||
//ppBtnDefCbTxt2.Enabled = (ppCmbxChgBarTxtType.SelectedValue != null &&
|
|
||||||
//ppCmbxChgBarTxtType.SelectedValue.Equals(ProcedureConfig.PrintChangeBarText.UserDef));
|
|
||||||
|
|
||||||
// This string is used to check against our default setting to see if User Defined Changebar Text is active
|
// This string is used to check against our default setting to see if User Defined Changebar Text is active
|
||||||
string decUserDef = PrintChangeBarText.UserDef.ToString();
|
string decUserDef = PrintChangeBarText.UserDef.ToString();
|
||||||
|
|
||||||
@@ -475,43 +402,7 @@ namespace VEPROMS
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnOutputStngs_Click(object sender, EventArgs e)
|
private void btnOutputStngs_Click(object sender, EventArgs e) => ProcessButtonClick(tiOutputStngs, btnOutputStngs);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiOutputStngs, btnOutputStngs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Selection in Pagination combo box changed.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender">object</param>
|
|
||||||
/// <param name="e">EventArgs</param>
|
|
||||||
//private void ppCmbxPagination_SelectedValueChanged(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// if (!_Initializing)
|
|
||||||
// {
|
|
||||||
// PrintPagination pgtn = (PrintPagination)Enum.Parse(typeof(PrintPagination), _DefaultPagination);
|
|
||||||
// ProcessCmbxSelectionEnumChanged(ppCmbxPagination, pgtn, ppBtnDefPagination, ppLblPaginationDefault);
|
|
||||||
// //tcpOutputSettings.Focus();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Reset to the parent setting.
|
|
||||||
/// Find the parent setting and assign it to _ProcedureConfig.Print_Pagination.
|
|
||||||
/// This will force the database to be updated.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
//private void ppBtnDefPagination_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// // Get the parent setting
|
|
||||||
// PrintPagination pgtn = (PrintPagination)Enum.Parse(typeof(PrintPagination), _DefaultPagination);
|
|
||||||
// // Compare parent setting with current setting
|
|
||||||
// if (pgtn != _ProcedureConfig.Print_Pagination)
|
|
||||||
// _ProcedureConfig.Print_Pagination = pgtn; // this will force a database update (write)
|
|
||||||
// ppCmbxPagination.SelectedIndex = -1; //reset to the default Pagination setting
|
|
||||||
// //tcpOutputSettings.Focus();
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Selection in Watermark combo box changed.
|
/// Selection in Watermark combo box changed.
|
||||||
@@ -524,7 +415,6 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
PrintWatermark wtr = (PrintWatermark)Enum.Parse(typeof(PrintWatermark), _DefaultWatermark);
|
PrintWatermark wtr = (PrintWatermark)Enum.Parse(typeof(PrintWatermark), _DefaultWatermark);
|
||||||
ProcessCmbxSelectionEnumChanged(ppCmbxWatermark, wtr, ppBtnDefWatermark, ppLblWatermarkDefault);
|
ProcessCmbxSelectionEnumChanged(ppCmbxWatermark, wtr, ppBtnDefWatermark, ppLblWatermarkDefault);
|
||||||
//tcpOutputSettings.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -547,19 +437,6 @@ namespace VEPROMS
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region View Settings tab
|
|
||||||
|
|
||||||
///// <summary>
|
|
||||||
///// This is the View Settings button used on the button interface design
|
|
||||||
///// </summary>
|
|
||||||
///// <param name="sender">object</param>
|
|
||||||
///// <param name="e">EventArgs</param>
|
|
||||||
//private void btnVwStngs_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// ProcessButtonClick(tiViewStngs, btnVwStngs);
|
|
||||||
//}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Generic functions used on this property page
|
#region Generic functions used on this property page
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -570,7 +447,6 @@ namespace VEPROMS
|
|||||||
ppLblDefSettingsInfo.Visible = ppCbShwDefSettings.Checked;
|
ppLblDefSettingsInfo.Visible = ppCbShwDefSettings.Checked;
|
||||||
|
|
||||||
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
|
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
|
||||||
//ppLblPaginationDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefPagination.Visible;
|
|
||||||
ppLblStpEditorColsDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefEdCols.Visible;
|
ppLblStpEditorColsDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefEdCols.Visible;
|
||||||
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
||||||
ppLblChangeBarTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultChgBar.Visible;
|
ppLblChangeBarTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultChgBar.Visible;
|
||||||
@@ -603,7 +479,6 @@ namespace VEPROMS
|
|||||||
btnGeneral.Checked = false;
|
btnGeneral.Checked = false;
|
||||||
btnFmtStngs.Checked = false;
|
btnFmtStngs.Checked = false;
|
||||||
btnOutputStngs.Checked = false;
|
btnOutputStngs.Checked = false;
|
||||||
//btnVwStngs.Checked = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -616,7 +491,6 @@ namespace VEPROMS
|
|||||||
private void tabpage_Enter(object sender, EventArgs e)
|
private void tabpage_Enter(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Show or hide the labels containing the default values
|
// Show or hide the labels containing the default values
|
||||||
//if (!_Initializing)
|
|
||||||
defaultSettingsVisiblity();
|
defaultSettingsVisiblity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -658,36 +532,11 @@ namespace VEPROMS
|
|||||||
button.Visible = (cmbx.SelectedValue != null);
|
button.Visible = (cmbx.SelectedValue != null);
|
||||||
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
||||||
}
|
}
|
||||||
// Commented out as part of code change C2017-004 - select default format on dropdown
|
|
||||||
///// <summary>
|
|
||||||
///// Process a change in the combo box selection
|
|
||||||
///// </summary>
|
|
||||||
///// <param name="cmbx">Combo Box Name</param>
|
|
||||||
///// <param name="defstr">string containing default text</param>
|
|
||||||
///// <param name="button">button to reset to default value</param>
|
|
||||||
///// <param name="deflabel">label containing the default</param>
|
|
||||||
//private void ProcessCmbxSelectedValueChange(ComboBoxEx cmbx, string defstr, ButtonX button, Label deflabel)
|
|
||||||
//{
|
|
||||||
// if ((cmbx.SelectedIndex != -1) && defstr != null && defstr.Equals(cmbx.SelectedValue))
|
|
||||||
// {
|
|
||||||
// button.Visible = true;
|
|
||||||
// button.Focus();
|
|
||||||
// button.PerformClick();
|
|
||||||
// }
|
|
||||||
// button.Visible = cmbx.SelectedValue != null;
|
|
||||||
// deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
|
||||||
//}
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void ppProcTitleStpRTB_Enter(object sender, EventArgs e)
|
private void ppProcTitleStpRTB_Enter(object sender, EventArgs e) => _MyStepTabRibbon.MyStepRTB = ppProcTitleStpRTB;
|
||||||
{
|
|
||||||
_MyStepTabRibbon.MyStepRTB = ppProcTitleStpRTB;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppProcNumStpRTB_Enter(object sender, EventArgs e)
|
private void ppProcNumStpRTB_Enter(object sender, EventArgs e) => _MyStepTabRibbon.MyStepRTB = ppProcNumStpRTB;
|
||||||
{
|
|
||||||
_MyStepTabRibbon.MyStepRTB = ppProcNumStpRTB;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppBtnDefCbTxt1_Click(object sender, EventArgs e)
|
private void ppBtnDefCbTxt1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -698,9 +547,7 @@ namespace VEPROMS
|
|||||||
_ProcedureConfig.Print_UserCBMess1 = _DefaultChgBarUsrMsg1;
|
_ProcedureConfig.Print_UserCBMess1 = _DefaultChgBarUsrMsg1;
|
||||||
ppLblChgBarUserMsgOneDefault.Visible = false;
|
ppLblChgBarUserMsgOneDefault.Visible = false;
|
||||||
ppBtnDefCbTxt1.Visible = false;
|
ppBtnDefCbTxt1.Visible = false;
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppBtnDefCbTxt2_Click(object sender, EventArgs e)
|
private void ppBtnDefCbTxt2_Click(object sender, EventArgs e)
|
||||||
@@ -712,7 +559,6 @@ namespace VEPROMS
|
|||||||
_ProcedureConfig.Print_UserCBMess2 = _DefaultChgBarUsrMsg2;
|
_ProcedureConfig.Print_UserCBMess2 = _DefaultChgBarUsrMsg2;
|
||||||
ppLblChgBarUserMsgTwoDefault.Visible = false;
|
ppLblChgBarUserMsgTwoDefault.Visible = false;
|
||||||
ppBtnDefCbTxt2.Visible = false;
|
ppBtnDefCbTxt2.Visible = false;
|
||||||
//tcpFormatSettings.Focus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -723,7 +569,6 @@ namespace VEPROMS
|
|||||||
if (fc != _ProcedureConfig.Format_Columns)
|
if (fc != _ProcedureConfig.Format_Columns)
|
||||||
_ProcedureConfig.Format_Columns = fc; // this will force a database update (write)
|
_ProcedureConfig.Format_Columns = fc; // this will force a database update (write)
|
||||||
ppCmbxStpEditorCols.SelectedIndex = -1; //reset to the default
|
ppCmbxStpEditorCols.SelectedIndex = -1; //reset to the default
|
||||||
//tcpGeneral.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppBtnDefWatermark_Click_1(object sender, EventArgs e)
|
private void ppBtnDefWatermark_Click_1(object sender, EventArgs e)
|
||||||
@@ -734,30 +579,23 @@ namespace VEPROMS
|
|||||||
if (wtr != _ProcedureConfig.Print_Watermark)
|
if (wtr != _ProcedureConfig.Print_Watermark)
|
||||||
_ProcedureConfig.Print_Watermark = wtr; // this will force a database update (write)
|
_ProcedureConfig.Print_Watermark = wtr; // this will force a database update (write)
|
||||||
ppCmbxWatermark.SelectedIndex = -1;
|
ppCmbxWatermark.SelectedIndex = -1;
|
||||||
//tcpOutputSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ppTxbxChangeBarUserMsgOne_TextChanged(object sender, EventArgs e)
|
private void ppTxbxChangeBarUserMsgOne_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ppBtnDefCbTxt1.Visible = ((ppTxbxChangeBarUserMsgOne.Text != null) && !ppTxbxChangeBarUserMsgOne.Text.Equals(_DefaultChgBarUsrMsg1));
|
ppBtnDefCbTxt1.Visible = (ppTxbxChangeBarUserMsgOne.Text != null) && !ppTxbxChangeBarUserMsgOne.Text.Equals(_DefaultChgBarUsrMsg1);
|
||||||
ppLblChgBarUserMsgOneDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt1.Visible;
|
ppLblChgBarUserMsgOneDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt1.Visible;
|
||||||
//tcpOutputSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppTxbxChgBarUserMsgTwo_TextChanged(object sender, EventArgs e)
|
private void ppTxbxChgBarUserMsgTwo_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ppBtnDefCbTxt2.Visible = ((ppTxbxChgBarUserMsgTwo.Text != null) && !ppTxbxChgBarUserMsgTwo.Text.Equals(_DefaultChgBarUsrMsg2));
|
ppBtnDefCbTxt2.Visible = ((ppTxbxChgBarUserMsgTwo.Text != null) && !ppTxbxChgBarUserMsgTwo.Text.Equals(_DefaultChgBarUsrMsg2));
|
||||||
ppLblChgBarUserMsgTwoDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt2.Visible;
|
ppLblChgBarUserMsgTwoDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxt2.Visible;
|
||||||
//tcpOutputSettings.Focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void frmProcedureProperties_Shown(object sender, EventArgs e)
|
private void frmProcedureProperties_Shown(object sender, EventArgs e) => ppProcNumStpRTB.Focus();
|
||||||
{
|
|
||||||
ppProcNumStpRTB.Focus();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppCmbxFormat_DropDown(object sender, EventArgs e)
|
private void ppCmbxFormat_DropDown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,9 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
@@ -11,7 +6,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmPropGrid : DevComponents.DotNetBar.Office2007Form
|
public partial class frmPropGrid : DevComponents.DotNetBar.Office2007Form
|
||||||
{
|
{
|
||||||
private object _PGobject;
|
private readonly object _PGobject;
|
||||||
|
|
||||||
public frmPropGrid(object pgobject)
|
public frmPropGrid(object pgobject)
|
||||||
{
|
{
|
||||||
@@ -23,24 +18,23 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_PGobject = pgobject;
|
_PGobject = pgobject;
|
||||||
this.Text = title;
|
Text = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnOK_Click(object sender, EventArgs e)
|
private void btnOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
DocVersionConfig dvcfg = this._PGobject as DocVersionConfig;
|
if (_PGobject is DocVersionConfig dvcfg && dvcfg.IsDirty)
|
||||||
if (dvcfg != null && dvcfg.IsDirty)
|
{
|
||||||
{
|
dvcfg.MyDocVersion.Save();
|
||||||
dvcfg.MyDocVersion.Save();
|
}
|
||||||
}
|
Close();
|
||||||
this.Close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void frmPropGrid_Load(object sender, EventArgs e)
|
private void frmPropGrid_Load(object sender, EventArgs e)
|
||||||
@@ -51,39 +45,23 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void pg_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
|
private void pg_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
|
||||||
{
|
{
|
||||||
DocVersionConfig dvcfg = this._PGobject as DocVersionConfig;
|
if (_PGobject is DocVersionConfig dvcfg)
|
||||||
if (dvcfg != null)
|
dvcfg.IsDirty = true;
|
||||||
dvcfg.IsDirty = true;
|
// check if folder config & if so, check for name change
|
||||||
// check if folder config & if so, check for name change
|
if (_PGobject is FolderConfig tstfoldercfg)
|
||||||
FolderConfig tstfoldercfg = this._PGobject as FolderConfig;
|
{
|
||||||
if (tstfoldercfg != null)
|
if ((string)e.OldValue != tstfoldercfg.Name)
|
||||||
{
|
{
|
||||||
if ((string)e.OldValue != tstfoldercfg.Name)
|
bool isunique = tstfoldercfg.CheckUniqueName(tstfoldercfg.Name);
|
||||||
{
|
if (!isunique)
|
||||||
bool isunique = tstfoldercfg.CheckUniqueName(tstfoldercfg.Name);
|
{
|
||||||
if (!isunique)
|
MessageBox.Show(string.Format("The Name '{0}' that was entered is not a unique folder name", tstfoldercfg.Name));
|
||||||
{
|
tstfoldercfg.Name = (string)e.OldValue;
|
||||||
MessageBox.Show(string.Format("The Name '{0}' that was entered is not a unique folder name", tstfoldercfg.Name));
|
}
|
||||||
tstfoldercfg.Name = (string)e.OldValue;
|
}
|
||||||
}
|
}
|
||||||
}
|
Refresh();
|
||||||
}
|
|
||||||
this.Refresh();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public partial class SystemConfig
|
|
||||||
//{
|
|
||||||
// FolderConfig _FolderConfig;
|
|
||||||
// public SystemConfig(FolderConfig folderConfig)
|
|
||||||
// {
|
|
||||||
// _FolderConfig = folderConfig;
|
|
||||||
// //_FolderConfig.Default_SPPrefix;
|
|
||||||
// }
|
|
||||||
// public string Default_SPPrefix
|
|
||||||
// {
|
|
||||||
// get { return _FolderConfig.Default_SPPrefix; }
|
|
||||||
// set { _FolderConfig.Default_SPPrefix = value; }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
@@ -15,13 +12,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmRODbProperties : Form
|
public partial class frmRODbProperties : Form
|
||||||
{
|
{
|
||||||
private ProgressBarItem _ProgressBar = null;
|
public ProgressBarItem ProgressBar { get; set; } = null;
|
||||||
public ProgressBarItem ProgressBar
|
private void DoProgressBarRefresh(int value, int max, string text)
|
||||||
{
|
|
||||||
get { return _ProgressBar; }
|
|
||||||
set { _ProgressBar = value; }
|
|
||||||
}
|
|
||||||
private void DoProgressBarRefresh(int value, int max, string text)
|
|
||||||
{
|
{
|
||||||
if (ProgressBar == null) return;
|
if (ProgressBar == null) return;
|
||||||
ProgressBar.Value = value;
|
ProgressBar.Value = value;
|
||||||
@@ -29,54 +21,30 @@ namespace VEPROMS
|
|||||||
ProgressBar.Text = text;
|
ProgressBar.Text = text;
|
||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
}
|
}
|
||||||
private string InitialProgressBarMessage
|
|
||||||
{
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (ProgressBar == null) return;
|
|
||||||
ProgressBar.Value = 100;
|
|
||||||
ProgressBar.Maximum = 100;
|
|
||||||
ProgressBar.Text = value;
|
|
||||||
Application.DoEvents();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private string FinalProgressBarMessage
|
|
||||||
{
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (ProgressBar == null) return;
|
|
||||||
ProgressBar.Value = 100;
|
|
||||||
ProgressBar.Maximum = 100;
|
|
||||||
ProgressBar.Text = value;
|
|
||||||
Application.DoEvents();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private Point _ParentLocation;
|
private Point _ParentLocation;
|
||||||
public Point ParentLocation
|
public Point ParentLocation
|
||||||
{
|
{
|
||||||
get { return _ParentLocation; }
|
get { return _ParentLocation; }
|
||||||
set { _ParentLocation = value; }
|
set { _ParentLocation = value; }
|
||||||
}
|
}
|
||||||
private RODbInfo _roDbInfo;
|
private readonly RODbInfo _roDbInfo;
|
||||||
private string _origROName;
|
private readonly string _origROName;
|
||||||
private string _origFolderPath;
|
private readonly string _origFolderPath;
|
||||||
private string _origSQLConnect = null;
|
private readonly string _origSQLConnect = null;
|
||||||
private DocVersion _docVersion;
|
private readonly DocVersion _docVersion;
|
||||||
public frmRODbProperties(DocVersion docVersion, RODbInfo roDbInfo)
|
public frmRODbProperties(DocVersion docVersion, RODbInfo roDbInfo)
|
||||||
{
|
{
|
||||||
_roDbInfo = roDbInfo;
|
_roDbInfo = roDbInfo;
|
||||||
_docVersion = docVersion;
|
_docVersion = docVersion;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_origROName = (_roDbInfo == null) ? null : _roDbInfo.ROName;
|
_origROName = _roDbInfo?.ROName;
|
||||||
_origFolderPath = (_roDbInfo == null) ? null : _roDbInfo.FolderPath;
|
_origFolderPath = _roDbInfo?.FolderPath;
|
||||||
_origSQLConnect = (_roDbInfo == null) ? null : (_roDbInfo.DBConnectionString == null || _roDbInfo.DBConnectionString == "" || _roDbInfo.DBConnectionString == "cstring") ? null : _roDbInfo.DBConnectionString;
|
_origSQLConnect = (_roDbInfo == null) ? null : (_roDbInfo.DBConnectionString == null || _roDbInfo.DBConnectionString == "" || _roDbInfo.DBConnectionString == "cstring") ? null : _roDbInfo.DBConnectionString;
|
||||||
// Disable the OK button when initialized. Enable it if the user makes changes
|
// Disable the OK button when initialized. Enable it if the user makes changes
|
||||||
ppBtnTestSQL.Visible = ppBtnTestSQL.Enabled = CanMigrateRoAccessToSql(roDbInfo);
|
ppBtnTestSQL.Visible = ppBtnTestSQL.Enabled = ppTxtSQL.Visible = ppTxtSQL.Enabled = ppLblSQL.Visible = CanMigrateRoAccessToSql();
|
||||||
ppTxtSQL.Visible = ppTxtSQL.Enabled = CanMigrateRoAccessToSql(roDbInfo);
|
|
||||||
ppLblSQL.Visible = CanMigrateRoAccessToSql(roDbInfo);
|
|
||||||
ppBtnOk.Enabled = false;
|
ppBtnOk.Enabled = false;
|
||||||
}
|
}
|
||||||
private bool CanMigrateRoAccessToSql(RODbInfo rODbi)
|
private bool CanMigrateRoAccessToSql()
|
||||||
{
|
{
|
||||||
// C2017-003: This method is used to determine whether the sql server version can be used & if there is data.
|
// C2017-003: This method is used to determine whether the sql server version can be used & if there is data.
|
||||||
// A command line argument 'RoInSql'. For now, this argument must be used to allow code to run for ro->sql. Later
|
// A command line argument 'RoInSql'. For now, this argument must be used to allow code to run for ro->sql. Later
|
||||||
@@ -92,10 +60,12 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
private void ppBtnFldrDlg_Click(object sender, EventArgs e)
|
private void ppBtnFldrDlg_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FolderBrowserDialog dlgROFolder = new FolderBrowserDialog();
|
FolderBrowserDialog dlgROFolder = new FolderBrowserDialog
|
||||||
// Initialize the starting location in the Browser window
|
{
|
||||||
dlgROFolder.SelectedPath = ppTxtPath.Text;
|
// Initialize the starting location in the Browser window
|
||||||
if (dlgROFolder.ShowDialog() == DialogResult.OK)
|
SelectedPath = ppTxtPath.Text
|
||||||
|
};
|
||||||
|
if (dlgROFolder.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
ppTxtPath.Text = dlgROFolder.SelectedPath;
|
ppTxtPath.Text = dlgROFolder.SelectedPath;
|
||||||
}
|
}
|
||||||
@@ -141,7 +111,7 @@ namespace VEPROMS
|
|||||||
catch (SqlException) { }
|
catch (SqlException) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex) {}
|
catch (Exception) { }
|
||||||
if (canconnect)
|
if (canconnect)
|
||||||
roDb.DBConnectionString = (ppTxtSQL.Text == null || ppTxtSQL.Text == "") ? "cstring" : ppTxtSQL.Text;
|
roDb.DBConnectionString = (ppTxtSQL.Text == null || ppTxtSQL.Text == "") ? "cstring" : ppTxtSQL.Text;
|
||||||
else
|
else
|
||||||
@@ -228,7 +198,7 @@ namespace VEPROMS
|
|||||||
string rofstPath = ppTxtPath.Text + @"\ro.fst";
|
string rofstPath = ppTxtPath.Text + @"\ro.fst";
|
||||||
if (!File.Exists(rofstPath))
|
if (!File.Exists(rofstPath))
|
||||||
{
|
{
|
||||||
MessageBox.Show("No existing ro.fst in path " + ppTxtPath.Text + ". Check for invalid path");
|
MessageBox.Show($"No existing ro.fst in path {ppTxtPath.Text}. Check for invalid path");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
string connectstr = ppTxtSQL.Text != null && ppTxtSQL.Text != "" ? ppTxtExt.Text : "cstring";
|
string connectstr = ppTxtSQL.Text != null && ppTxtSQL.Text != "" ? ppTxtExt.Text : "cstring";
|
||||||
@@ -242,8 +212,8 @@ namespace VEPROMS
|
|||||||
private void frmRODbProperties_Load(object sender, EventArgs e)
|
private void frmRODbProperties_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Location = ParentLocation;
|
Location = ParentLocation;
|
||||||
ppRTxtName.Text = (_roDbInfo == null) ? null : _roDbInfo.ROName;
|
ppRTxtName.Text = _roDbInfo?.ROName;
|
||||||
ppTxtPath.Text = (_roDbInfo == null) ? null : _roDbInfo.FolderPath;
|
ppTxtPath.Text = _roDbInfo?.FolderPath;
|
||||||
ppTxtSQL.Text = (_roDbInfo == null) ? null : (_roDbInfo.DBConnectionString == "cstring") ? null : _roDbInfo.DBConnectionString;
|
ppTxtSQL.Text = (_roDbInfo == null) ? null : (_roDbInfo.DBConnectionString == "cstring") ? null : _roDbInfo.DBConnectionString;
|
||||||
RODbConfig cfg = (_roDbInfo == null) ? new RODbConfig() : new RODbConfig(_roDbInfo);
|
RODbConfig cfg = (_roDbInfo == null) ? new RODbConfig() : new RODbConfig(_roDbInfo);
|
||||||
// Note that the Graphic Extension data is shown in a non-editable text box here because
|
// Note that the Graphic Extension data is shown in a non-editable text box here because
|
||||||
@@ -251,15 +221,17 @@ namespace VEPROMS
|
|||||||
// the file system. Otherwise it is derived from the top node - and changed from folder
|
// the file system. Otherwise it is derived from the top node - and changed from folder
|
||||||
// properties on the top node. And lastly, it is the code default.
|
// properties on the top node. And lastly, it is the code default.
|
||||||
ppTxtExt.Text = cfg.GetDefaultGraphicExtension();
|
ppTxtExt.Text = cfg.GetDefaultGraphicExtension();
|
||||||
ppLblGraphicFileExtLoc.Text = (cfg == null) ? null : cfg.GetDefaultGraphicExtensionLocation();
|
ppLblGraphicFileExtLoc.Text = cfg?.GetDefaultGraphicExtensionLocation();
|
||||||
ppBtnOk.Enabled = false;
|
ppBtnOk.Enabled = false;
|
||||||
if (_roDbInfo == null)
|
if (_roDbInfo == null)
|
||||||
{
|
{
|
||||||
string newFolderPath = null;
|
string newFolderPath = null;
|
||||||
FolderBrowserDialog dlgROFolder = new FolderBrowserDialog();
|
FolderBrowserDialog dlgROFolder = new FolderBrowserDialog
|
||||||
dlgROFolder.RootFolder = Environment.SpecialFolder.MyComputer;
|
{
|
||||||
dlgROFolder.SelectedPath = ppTxtPath.Text;
|
RootFolder = Environment.SpecialFolder.MyComputer,
|
||||||
if (dlgROFolder.ShowDialog() == DialogResult.OK)
|
SelectedPath = ppTxtPath.Text
|
||||||
|
};
|
||||||
|
if (dlgROFolder.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
newFolderPath = dlgROFolder.SelectedPath;
|
newFolderPath = dlgROFolder.SelectedPath;
|
||||||
RODbInfoList allRODBs = RODbInfoList.Get();
|
RODbInfoList allRODBs = RODbInfoList.Get();
|
||||||
@@ -275,8 +247,6 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
ppTxtPath.Text = newFolderPath;
|
ppTxtPath.Text = newFolderPath;
|
||||||
}
|
}
|
||||||
// Initialize the enabled status for the OK button to false.
|
|
||||||
//ppBtnOk.Enabled = false;
|
|
||||||
ppTxtPath.TextChanged += ppTxtPath_TextChanged;
|
ppTxtPath.TextChanged += ppTxtPath_TextChanged;
|
||||||
}
|
}
|
||||||
void ppTxtPath_TextChanged(object sender, EventArgs e)
|
void ppTxtPath_TextChanged(object sender, EventArgs e)
|
||||||
@@ -313,7 +283,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Connection failed: " + ex);
|
MessageBox.Show($"Connection failed: {ex}");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -12,14 +10,16 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
public partial class frmSI : Form
|
public partial class frmSI : Form
|
||||||
{
|
{
|
||||||
private StepTabRibbon _MyStepTabRibbon;
|
private readonly StepTabRibbon _MyStepTabRibbon;
|
||||||
private Dictionary<string, StepRTB> _DicStepRtb;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private Dictionary<string, CheckBox> _DicCheckBox;
|
private Dictionary<string, StepRTB> _DicStepRtb;
|
||||||
private bool DoFolder = true;
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
private SI SIDialogDef = null;
|
private Dictionary<string, CheckBox> _DicCheckBox;
|
||||||
private string OrigConfig = null;
|
private readonly bool DoFolder = true;
|
||||||
private FolderInfo MyFolderInfo = null;
|
private readonly SI SIDialogDef = null;
|
||||||
private DocVersionInfo MyDocVersionInfo = null;
|
private readonly string OrigConfig = null;
|
||||||
|
private readonly FolderInfo MyFolderInfo = null;
|
||||||
|
private readonly DocVersionInfo MyDocVersionInfo = null;
|
||||||
public frmSI(SI siDialogDef, string config, bool doFolder, FolderInfo fi, DocVersionInfo dvi)
|
public frmSI(SI siDialogDef, string config, bool doFolder, FolderInfo fi, DocVersionInfo dvi)
|
||||||
{
|
{
|
||||||
DoFolder = doFolder;
|
DoFolder = doFolder;
|
||||||
@@ -36,22 +36,23 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void InitializeSpecificControls()
|
private void InitializeSpecificControls()
|
||||||
{
|
{
|
||||||
this.Text = SIDialogDef.Caption;
|
Text = SIDialogDef.Caption;
|
||||||
this.Location = new Point((int)SIDialogDef.x * 2, (int)SIDialogDef.y * 2);
|
Location = new Point((int)SIDialogDef.x * 2, (int)SIDialogDef.y * 2);
|
||||||
int maxx = 0;
|
int maxx = 0;
|
||||||
int maxy = 0;
|
int maxy = 0;
|
||||||
int xB4Scroll = 900;
|
int xB4Scroll = 900;
|
||||||
int yB4Scroll = 630;
|
int yB4Scroll = 630;
|
||||||
this.panelSI.AutoScroll = false;
|
panelSI.AutoScroll = false;
|
||||||
foreach (SILabel lbl in SIDialogDef.LabelList)
|
foreach (SILabel lbl in SIDialogDef.LabelList)
|
||||||
{
|
{
|
||||||
Label wlbl = new Label();
|
Label wlbl = new Label
|
||||||
wlbl.Text = lbl.text;
|
{
|
||||||
wlbl.Location = new Point((int)lbl.x * 2, (int)lbl.y * 2);
|
Text = lbl.text,
|
||||||
wlbl.AutoSize = true;
|
Location = new Point((int)lbl.x * 2, (int)lbl.y * 2),
|
||||||
//wlbl.Size = new Size((int)lbl.width * 2, (int)lbl.height * 2);
|
AutoSize = true,
|
||||||
wlbl.Visible = true;
|
Visible = true
|
||||||
this.panelSI.Controls.Add(wlbl);
|
};
|
||||||
|
panelSI.Controls.Add(wlbl);
|
||||||
maxx = ((int)lbl.x * 2 + (int)lbl.width * 2) > maxx ? ((int)lbl.x * 2 + (int)lbl.width * 2) : maxx;
|
maxx = ((int)lbl.x * 2 + (int)lbl.width * 2) > maxx ? ((int)lbl.x * 2 + (int)lbl.width * 2) : maxx;
|
||||||
maxy = ((int)lbl.y * 2 + (int)lbl.height * 2) > maxy ? ((int)lbl.y * 2 + (int)lbl.height * 2) : maxy;
|
maxy = ((int)lbl.y * 2 + (int)lbl.height * 2) > maxy ? ((int)lbl.y * 2 + (int)lbl.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -70,7 +71,7 @@ namespace VEPROMS
|
|||||||
// (Removed the frmSI specific contextmenustrip1)
|
// (Removed the frmSI specific contextmenustrip1)
|
||||||
tb.FieldToEdit = E_FieldToEdit.PSI;
|
tb.FieldToEdit = E_FieldToEdit.PSI;
|
||||||
tb.BorderStyle = BorderStyle.FixedSingle;
|
tb.BorderStyle = BorderStyle.FixedSingle;
|
||||||
tb.Enter += new System.EventHandler(this.FieldStepRTB_Enter);
|
tb.Enter += new System.EventHandler(FieldStepRTB_Enter);
|
||||||
// see if config has data for this field, i.e. search for the 'name'
|
// see if config has data for this field, i.e. search for the 'name'
|
||||||
// B2019-133 continuation of B2018-057 Replace non-breaking hyphen with hyphen.
|
// B2019-133 continuation of B2018-057 Replace non-breaking hyphen with hyphen.
|
||||||
string val = (DoFolder ? folderConfig.GetValue("SI", fld.name) : dvConfig.GetValue("SI", fld.name)).Replace("\\u8209?", "-");
|
string val = (DoFolder ? folderConfig.GetValue("SI", fld.name) : dvConfig.GetValue("SI", fld.name)).Replace("\\u8209?", "-");
|
||||||
@@ -78,12 +79,12 @@ namespace VEPROMS
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}");
|
sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}");
|
||||||
sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 Microsoft removed Arial Unicode MS with Word16
|
sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 Microsoft removed Arial Unicode MS with Word16
|
||||||
sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(this.Font.SizeInPoints*2) + " " + dt.StartText + @"}");
|
sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(Font.SizeInPoints*2) + " " + dt.StartText + @"}");
|
||||||
tb.Rtf = sb.ToString();
|
tb.Rtf = sb.ToString();
|
||||||
tb.Location = new Point((int)fld.x * 2, (int)fld.y * 2);
|
tb.Location = new Point((int)fld.x * 2, (int)fld.y * 2);
|
||||||
tb.Size = new Size((int)fld.width * 2, (int)fld.height * 2);
|
tb.Size = new Size((int)fld.width * 2, (int)fld.height * 2);
|
||||||
tb.Visible = true;
|
tb.Visible = true;
|
||||||
this.panelSI.Controls.Add(tb);
|
panelSI.Controls.Add(tb);
|
||||||
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
||||||
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -96,8 +97,8 @@ namespace VEPROMS
|
|||||||
cb.Visible = true;
|
cb.Visible = true;
|
||||||
cb.Width = (int)fld.width * 2;
|
cb.Width = (int)fld.width * 2;
|
||||||
string val = DoFolder ? folderConfig.GetValue("SI", fld.name) : dvConfig.GetValue("SI", fld.name);
|
string val = DoFolder ? folderConfig.GetValue("SI", fld.name) : dvConfig.GetValue("SI", fld.name);
|
||||||
cb.Checked = val!=null && val!="" && val.ToUpper()[0] == 'Y' ? true : false;
|
cb.Checked = val !=null && val!="" && val.ToUpper()[0] == 'Y';
|
||||||
this.panelSI.Controls.Add(cb);
|
panelSI.Controls.Add(cb);
|
||||||
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
maxx = ((int)fld.x * 2 + (int)fld.width * 2) > maxx ? ((int)fld.x * 2 + (int)fld.width * 2) : maxx;
|
||||||
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
maxy = ((int)fld.y * 2 + (int)fld.height * 2) > maxy ? ((int)fld.y * 2 + (int)fld.height * 2) : maxy;
|
||||||
}
|
}
|
||||||
@@ -105,19 +106,19 @@ namespace VEPROMS
|
|||||||
if (maxx > xB4Scroll)
|
if (maxx > xB4Scroll)
|
||||||
{
|
{
|
||||||
maxx = xB4Scroll;
|
maxx = xB4Scroll;
|
||||||
this.panelSI.Width = xB4Scroll;
|
panelSI.Width = xB4Scroll;
|
||||||
this.panelSI.AutoScroll = true;
|
panelSI.AutoScroll = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.panelSI.Width = maxx + 50;
|
panelSI.Width = maxx + 50;
|
||||||
if (maxy > yB4Scroll)
|
if (maxy > yB4Scroll)
|
||||||
{
|
{
|
||||||
maxy = yB4Scroll;
|
maxy = yB4Scroll;
|
||||||
this.panelSI.Height = yB4Scroll;
|
panelSI.Height = yB4Scroll;
|
||||||
this.panelSI.AutoScroll = true;
|
panelSI.AutoScroll = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.panelSI.Height = maxy + 50;
|
panelSI.Height = maxy + 50;
|
||||||
if (SIDialogDef.ButtonsOnBottom == null || SIDialogDef.ButtonsOnBottom.ToUpper() == "NO")
|
if (SIDialogDef.ButtonsOnBottom == null || SIDialogDef.ButtonsOnBottom.ToUpper() == "NO")
|
||||||
{
|
{
|
||||||
btnOk.Location = new Point(maxx+70, 30);
|
btnOk.Location = new Point(maxx+70, 30);
|
||||||
@@ -189,29 +190,20 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
// B2017-024 - added a clip board context menu
|
// B2017-024 - added a clip board context menu
|
||||||
private void fwdCMCbCut_Click(object sender, EventArgs e)
|
private void fwdCMCbCut_Click(object sender, EventArgs e) => SendKeys.Send("^x"); // <cltr><x>
|
||||||
{
|
|
||||||
SendKeys.Send("^x"); // <cltr><x>
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fwdCMCbCopy_Click(object sender, EventArgs e)
|
private void fwdCMCbCopy_Click(object sender, EventArgs e) => SendKeys.Send("^c"); // <cltr><c>
|
||||||
{
|
|
||||||
SendKeys.Send("^c"); // <cltr><c>
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fwdCMCbPaste_Click(object sender, EventArgs e)
|
private void fwdCMCbPaste_Click(object sender, EventArgs e) => SendKeys.Send("^v"); // <cltr><v>
|
||||||
{
|
}
|
||||||
SendKeys.Send("^v"); // <cltr><v>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
using VEPROMS.Properties;
|
using VEPROMS.Properties;
|
||||||
@@ -12,6 +8,7 @@ using DevComponents.DotNetBar.Controls;
|
|||||||
using Volian.Controls.Library;
|
using Volian.Controls.Library;
|
||||||
using DescriptiveEnum;
|
using DescriptiveEnum;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
@@ -20,11 +17,10 @@ namespace VEPROMS
|
|||||||
private string _DefaultFormatName = null;
|
private string _DefaultFormatName = null;
|
||||||
private string _DefaultNumColumns = null;
|
private string _DefaultNumColumns = null;
|
||||||
private string _DefaultPaginationStyle = null;
|
private string _DefaultPaginationStyle = null;
|
||||||
private string _DefaultPrintSize = null;
|
|
||||||
private bool _Initializing;
|
private bool _Initializing;
|
||||||
private SectionConfig _SectionConfig;
|
private readonly SectionConfig _SectionConfig;
|
||||||
private Document _DocumentToDelete = null;
|
private Document _DocumentToDelete = null;
|
||||||
private StepTabRibbon _MyStepTabRibbon;
|
private readonly StepTabRibbon _MyStepTabRibbon;
|
||||||
private bool _isStepSection = true;
|
private bool _isStepSection = true;
|
||||||
private bool _hasSectionCheckoffDefault = false;
|
private bool _hasSectionCheckoffDefault = false;
|
||||||
private bool _isDefaultStepSection = false;
|
private bool _isDefaultStepSection = false;
|
||||||
@@ -35,36 +31,30 @@ namespace VEPROMS
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
btnGeneral.PerformClick(); // always start with General tab or button
|
btnGeneral.PerformClick(); // always start with General tab or button
|
||||||
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
||||||
//if (sectionConfig.Number.Length > 0)
|
|
||||||
// this.Text = string.Format("{0} {1} Properties", sectionConfig.Number, sectionConfig.Title);
|
|
||||||
//else
|
|
||||||
// this.Text = string.Format("{0} Properties", sectionConfig.Title);
|
|
||||||
if (sectionConfig.Number.Length > 0)
|
if (sectionConfig.Number.Length > 0)
|
||||||
this.Text = string.Format("{0} {1} Properties", ii.DisplayNumber, ii.DisplayText);
|
Text = $"{ii.DisplayNumber} {ii.DisplayText} Properties";
|
||||||
else
|
else
|
||||||
this.Text = string.Format("{0} Properties", ii.DisplayText);
|
Text = $"{ii.DisplayText} Properties";
|
||||||
ppSectTitleStpRTB.Font = ppSectTitleStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
ppSectTitleStpRTB.Font = ppSectTitleStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
||||||
ppSectTitleStpRTB.FieldToEdit = E_FieldToEdit.Text;
|
ppSectTitleStpRTB.FieldToEdit = E_FieldToEdit.Text;
|
||||||
ppSectTitleStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
ppSectTitleStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
||||||
ppSectTitleStpRTB.MyItemInfo = ii;
|
ppSectTitleStpRTB.MyItemInfo = ii;
|
||||||
ppSectTitleStpRTB.RefreshDisplay(true);
|
ppSectTitleStpRTB.RefreshDisplay(true);
|
||||||
ppSectNumberStpRTB.Font = this.ppSectNumberStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
ppSectNumberStpRTB.Font = ppSectNumberStpRTB.FormatFont = new System.Drawing.Font("Microsoft Sans Serif", 10F);
|
||||||
ppSectNumberStpRTB.FieldToEdit = E_FieldToEdit.Number;
|
ppSectNumberStpRTB.FieldToEdit = E_FieldToEdit.Number;
|
||||||
ppSectNumberStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
ppSectNumberStpRTB.BorderStyle = BorderStyle.Fixed3D;
|
||||||
ppSectNumberStpRTB.MyItemInfo = ii;
|
ppSectNumberStpRTB.MyItemInfo = ii;
|
||||||
ppSectNumberStpRTB.RefreshDisplay(true);
|
ppSectNumberStpRTB.RefreshDisplay(true);
|
||||||
_MyStepTabRibbon = new StepTabRibbon();
|
_MyStepTabRibbon = new StepTabRibbon
|
||||||
//_MyStepTabRibbon.Dock = System.Windows.Forms.DockStyle.Top;
|
{
|
||||||
//_MyStepTabRibbon.Location = new System.Drawing.Point(0, 0);
|
Name = "displayTabRibbon1",
|
||||||
_MyStepTabRibbon.Name = "displayTabRibbon1";
|
Visible = false
|
||||||
_MyStepTabRibbon.Visible = false;
|
};
|
||||||
|
|
||||||
// B2017-272 disable/enable the Steps and Word radio buttons based on the section types defined in the format
|
// B2017-272 disable/enable the Steps and Word radio buttons based on the section types defined in the format
|
||||||
// and the type of an existing section or if we are creating a new section.
|
// and the type of an existing section or if we are creating a new section.
|
||||||
// Move the check of creating a new section into CheckAvailableSectionTypes()
|
// Move the check of creating a new section into CheckAvailableSectionTypes()
|
||||||
CheckAvaibleSectionTypes();
|
CheckAvaibleSectionTypes();
|
||||||
//// if creating a new section, enable the StepSect and WordSect radio buttons
|
|
||||||
//rbStepSect.Enabled = rbWordSect.Enabled = !(ii.HasWordContent || ii.HasStepContent);
|
|
||||||
|
|
||||||
// if this is an auto table of contents (mydocstyle == null if new section, so must check for that first)
|
// if this is an auto table of contents (mydocstyle == null if new section, so must check for that first)
|
||||||
if (ii.IsAutoTOCSection)
|
if (ii.IsAutoTOCSection)
|
||||||
@@ -181,15 +171,14 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
// find first section in list that has originalsteps (flags a default section)
|
// find first section in list that has originalsteps (flags a default section)
|
||||||
int defsctId = 0;
|
int defsctId = 0;
|
||||||
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections)
|
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections.OfType<SectionInfo>())
|
||||||
{
|
{
|
||||||
SectionConfig sc = si.MyConfig as SectionConfig;
|
if (si.ItemID != _SectionConfig.MySection.ItemID && si.MyConfig is SectionConfig sc && sc.Section_OriginalSteps == "Y")
|
||||||
if (si.ItemID != _SectionConfig.MySection.ItemID && sc != null && sc.Section_OriginalSteps == "Y")
|
{
|
||||||
{
|
defsctId = si.ItemID;
|
||||||
defsctId = si.ItemID;
|
break;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (defsctId != 0)
|
if (defsctId != 0)
|
||||||
{
|
{
|
||||||
// also need to set the procedure's config sectionstart to the selected section
|
// also need to set the procedure's config sectionstart to the selected section
|
||||||
@@ -209,19 +198,18 @@ namespace VEPROMS
|
|||||||
// this property set - it is used when printing page numbers with 'WithSteps' numbering sequence.
|
// this property set - it is used when printing page numbers with 'WithSteps' numbering sequence.
|
||||||
else if (!_isDefaultStepSection && ppCbDefaultStepSection.Checked)
|
else if (!_isDefaultStepSection && ppCbDefaultStepSection.Checked)
|
||||||
{
|
{
|
||||||
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections)
|
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections.OfType<SectionInfo>())
|
||||||
{
|
{
|
||||||
SectionConfig sc = si.MyConfig as SectionConfig;
|
if (si.ItemID != _SectionConfig.MySection.ItemID && si.MyConfig is SectionConfig sc && sc.Section_OriginalSteps == "Y")
|
||||||
if (si.ItemID != _SectionConfig.MySection.ItemID && sc != null && sc.Section_OriginalSteps == "Y")
|
{
|
||||||
{
|
using (Section ssav = si.Get())
|
||||||
using (Section ssav = si.Get())
|
{
|
||||||
{
|
ssav.SectionConfig.Section_OriginalSteps = "N";
|
||||||
ssav.SectionConfig.Section_OriginalSteps = "N";
|
ssav.Save();
|
||||||
ssav.Save();
|
ItemInfo.Refresh(ssav);
|
||||||
ItemInfo.Refresh(ssav);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// also need to set the procedure's config sectionstart to the selected section
|
// also need to set the procedure's config sectionstart to the selected section
|
||||||
// if it is not set:
|
// if it is not set:
|
||||||
using (Procedure p = Procedure.Get(_SectionConfig.MySection.MySectionInfo.MyProcedure.ItemID))
|
using (Procedure p = Procedure.Get(_SectionConfig.MySection.MySectionInfo.MyProcedure.ItemID))
|
||||||
@@ -253,8 +241,8 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
public void SaveText(StepRTB myStepRTB)
|
public void SaveText(StepRTB myStepRTB)
|
||||||
{
|
{
|
||||||
@@ -269,7 +257,7 @@ namespace VEPROMS
|
|||||||
myStepRTB.ClearUndo();
|
myStepRTB.ClearUndo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//private static void FinishSectionSave(Section section)
|
|
||||||
private void FinishSectionSave(Section section)
|
private void FinishSectionSave(Section section)
|
||||||
{
|
{
|
||||||
ItemInfo sectinfo = ItemInfo.Get(section.ItemID);
|
ItemInfo sectinfo = ItemInfo.Get(section.ItemID);
|
||||||
@@ -305,7 +293,7 @@ namespace VEPROMS
|
|||||||
_DocumentToDelete = null;
|
_DocumentToDelete = null;
|
||||||
sectionConfigBindingSource.CancelEdit();
|
sectionConfigBindingSource.CancelEdit();
|
||||||
DialogResult = DialogResult.Cancel;
|
DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -320,12 +308,6 @@ namespace VEPROMS
|
|||||||
// Get the default format name
|
// Get the default format name
|
||||||
_DefaultFormatName = _SectionConfig.DefaultFormatSelection;
|
_DefaultFormatName = _SectionConfig.DefaultFormatSelection;
|
||||||
SetupDefault(_DefaultFormatName, ppLblFormatDefault, ppCmbxFormat);
|
SetupDefault(_DefaultFormatName, ppLblFormatDefault, ppCmbxFormat);
|
||||||
//if (_DefaultFormatName != null && !(_DefaultFormatName.Equals("")))
|
|
||||||
//{
|
|
||||||
// string defName = string.Format("{0}", _DefaultFormatName);
|
|
||||||
// ppLblFormatDefault.Text = defName;
|
|
||||||
// ppCmbxFormat.WatermarkText = defName;
|
|
||||||
//}
|
|
||||||
SectionConfig.SectionColumnMode sc = _SectionConfig.Section_ColumnMode;
|
SectionConfig.SectionColumnMode sc = _SectionConfig.Section_ColumnMode;
|
||||||
_DefaultNumColumns = sc.ToString();
|
_DefaultNumColumns = sc.ToString();
|
||||||
SetupDefault(EnumDescConverter.GetEnumDescription(sc), ppLblDefaultNumColumns, ppCmbxNumColumns);
|
SetupDefault(EnumDescConverter.GetEnumDescription(sc), ppLblDefaultNumColumns, ppCmbxNumColumns);
|
||||||
@@ -333,8 +315,6 @@ namespace VEPROMS
|
|||||||
//Console.WriteLine("{0}, {1}, default pagination", _SectionConfig.MySection.DisplayNumber, sp);
|
//Console.WriteLine("{0}, {1}, default pagination", _SectionConfig.MySection.DisplayNumber, sp);
|
||||||
_DefaultPaginationStyle = sp.ToString();
|
_DefaultPaginationStyle = sp.ToString();
|
||||||
SetupDefault(EnumDescConverter.GetEnumDescription(sp), ppLblDefPaginationStyle, ppCmbxSectPagination);
|
SetupDefault(EnumDescConverter.GetEnumDescription(sp), ppLblDefPaginationStyle, ppCmbxSectPagination);
|
||||||
//_DefaultPrintSize = _SectionConfig.Section_AttachmentPrintSize.ToString();
|
|
||||||
//SetupDefault(EnumDescConverter.GetEnumDescription(_SectionConfig.Section_AttachmentPrintSize), ppLblDefaultPrintSize, ppCmbxAccPgPrintSize);
|
|
||||||
|
|
||||||
_SectionConfig.ParentLookup = false;
|
_SectionConfig.ParentLookup = false;
|
||||||
}
|
}
|
||||||
@@ -349,7 +329,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
if (defaultText != null && !(defaultText.Equals("")))
|
if (defaultText != null && !(defaultText.Equals("")))
|
||||||
{
|
{
|
||||||
string deftext = string.Format("{0}", defaultText);
|
string deftext = $"{defaultText}";
|
||||||
lbl.Text = deftext;
|
lbl.Text = deftext;
|
||||||
cmbo.WatermarkText = deftext;
|
cmbo.WatermarkText = deftext;
|
||||||
}
|
}
|
||||||
@@ -365,7 +345,7 @@ namespace VEPROMS
|
|||||||
ppCmbxFormat.DisplayMember = "FullName";
|
ppCmbxFormat.DisplayMember = "FullName";
|
||||||
ppCmbxFormat.ValueMember = "FullName";
|
ppCmbxFormat.ValueMember = "FullName";
|
||||||
ppCmbxFormat.DataSource = FormatUtility.GetFilteredFormatList(FormatInfoList.SortedFormatInfoList);
|
ppCmbxFormat.DataSource = FormatUtility.GetFilteredFormatList(FormatInfoList.SortedFormatInfoList);
|
||||||
if (_SectionConfig.MySection.MySectionInfo.ActiveFormat != null) _cmbxformatOriginal = (int)_SectionConfig.MySection.MySectionInfo.ActiveFormat.FormatID;
|
if (_SectionConfig.MySection.MySectionInfo.ActiveFormat != null) _cmbxformatOriginal = (int)_SectionConfig.MySection.MySectionInfo.ActiveFormat.FormatID;
|
||||||
if (_SectionConfig.FormatSelection != null)
|
if (_SectionConfig.FormatSelection != null)
|
||||||
ppCmbxFormat.SelectedValue = _SectionConfig.FormatSelection;
|
ppCmbxFormat.SelectedValue = _SectionConfig.FormatSelection;
|
||||||
else
|
else
|
||||||
@@ -373,7 +353,7 @@ namespace VEPROMS
|
|||||||
// Get the saved settings for this user
|
// Get the saved settings for this user
|
||||||
//
|
//
|
||||||
// Get setting telling us whether to display the default values on this property page
|
// Get setting telling us whether to display the default values on this property page
|
||||||
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultSectionProp"] != null) ? Settings.Default.ShowDefaultSectionProp : false;
|
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultSectionProp"] != null) && Settings.Default.ShowDefaultSectionProp;
|
||||||
|
|
||||||
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
||||||
// 1 - Button Dialog (default)
|
// 1 - Button Dialog (default)
|
||||||
@@ -382,7 +362,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
tcSectionProp.TabsVisible = true;
|
tcSectionProp.TabsVisible = true;
|
||||||
panSectBtns.Visible = false;
|
panSectBtns.Visible = false;
|
||||||
this.Width -= panSectBtns.Width;
|
Width -= panSectBtns.Width;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the default values for the property page information
|
// Get the default values for the property page information
|
||||||
@@ -419,24 +399,10 @@ namespace VEPROMS
|
|||||||
ppBtnDefaultNumColumns.Visible = false;
|
ppBtnDefaultNumColumns.Visible = false;
|
||||||
ppCmbxNumColumns.SelectedValueChanged += new EventHandler(ppCmbxNumColumns_SelectedValueChanged);
|
ppCmbxNumColumns.SelectedValueChanged += new EventHandler(ppCmbxNumColumns_SelectedValueChanged);
|
||||||
|
|
||||||
//ppCmbxAccPgPrintSize.DataSource = EnumDetail<SectionConfig.AttPrintSize>.Details();
|
|
||||||
//ppCmbxAccPgPrintSize.DisplayMember = "Description";
|
|
||||||
//ppCmbxAccPgPrintSize.ValueMember = "Evalue";
|
|
||||||
//ppCmbxAccPgPrintSize.SelectedIndex = -1;
|
|
||||||
|
|
||||||
if (!_isStepSection)
|
if (!_isStepSection)
|
||||||
ppCmbxLibDocFill();
|
ppCmbxLibDocFill();
|
||||||
|
|
||||||
// check type of section from document styles to determine if the stepsection checkbox should
|
|
||||||
// be checked.
|
|
||||||
//int secindx = (int)_SectionConfig.SectionType;
|
|
||||||
//// find the index for the document style to determine whether this is a step or word section.
|
|
||||||
PlantFormat pf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
|
PlantFormat pf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
|
||||||
//for (int i = 0; i < pf.DocStyles.DocStyleList.Count; i++)
|
|
||||||
//{
|
|
||||||
// if (pf.DocStyles.DocStyleList[i].Index == secindx)
|
|
||||||
// rbStepSect.Checked = pf.DocStyles.DocStyleList[i].IsStepSection; _SectionConfig.MySection.
|
|
||||||
//}
|
|
||||||
|
|
||||||
// set the StepSect radio button based on _isStepSection to ensure the proper section types are available
|
// set the StepSect radio button based on _isStepSection to ensure the proper section types are available
|
||||||
rbStepSect.Checked = _isStepSection;
|
rbStepSect.Checked = _isStepSection;
|
||||||
@@ -455,7 +421,6 @@ namespace VEPROMS
|
|||||||
// show the automatic indent checkbox.
|
// show the automatic indent checkbox.
|
||||||
ppCbEditableData.Enabled = _SectionConfig.MySection.MySectionInfo.Sections != null && _SectionConfig.MySection.MySectionInfo.Sections.Count > 0;
|
ppCbEditableData.Enabled = _SectionConfig.MySection.MySectionInfo.Sections != null && _SectionConfig.MySection.MySectionInfo.Sections.Count > 0;
|
||||||
ppCbEditableData.Visible = _isStepSection; // only display if we are on a step editor section
|
ppCbEditableData.Visible = _isStepSection; // only display if we are on a step editor section
|
||||||
//ppCbAutoIndent.Enabled = _SectionConfig.MySection.MySectionInfo.Sections != null && _SectionConfig.MySection.MySectionInfo.Sections.Count > 0;
|
|
||||||
ppCbAutoIndent.Enabled = pf.FormatData.SectData.UseMetaSections;
|
ppCbAutoIndent.Enabled = pf.FormatData.SectData.UseMetaSections;
|
||||||
ppCbAutoIndent.Visible = _isStepSection; // only display if we are on a step editor section
|
ppCbAutoIndent.Visible = _isStepSection; // only display if we are on a step editor section
|
||||||
|
|
||||||
@@ -493,8 +458,6 @@ namespace VEPROMS
|
|||||||
ppCbPlaceKeeper.Enabled = _isStepSection;
|
ppCbPlaceKeeper.Enabled = _isStepSection;
|
||||||
if (!_isStepSection && (_SectionConfig.MySection.MySectionInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.Placekeeper) == E_DocStructStyle.Placekeeper)
|
if (!_isStepSection && (_SectionConfig.MySection.MySectionInfo.MyDocStyle.StructureStyle.Style & E_DocStructStyle.Placekeeper) == E_DocStructStyle.Placekeeper)
|
||||||
{
|
{
|
||||||
//ppCbPlaceKeeper.Text = "Auto Generate Placekeeper";
|
|
||||||
//ppCbPlaceKeeper.Enabled = true;
|
|
||||||
ppCbPlaceKeeper.Enabled = false;
|
ppCbPlaceKeeper.Enabled = false;
|
||||||
}
|
}
|
||||||
if (ppCbPlaceKeeper.Enabled) ppCbPlaceKeeper.Checked = _SectionConfig.Section_Placekeeper == "Y";
|
if (ppCbPlaceKeeper.Enabled) ppCbPlaceKeeper.Checked = _SectionConfig.Section_Placekeeper == "Y";
|
||||||
@@ -606,7 +569,7 @@ namespace VEPROMS
|
|||||||
ppBtnConvertToDocX.Visible = false; // Don't allow save as DOCX for libraries documents
|
ppBtnConvertToDocX.Visible = false; // Don't allow save as DOCX for libraries documents
|
||||||
ppBtnCvrtToLibDoc.Text = "Convert this Section To A Non-Library Document";
|
ppBtnCvrtToLibDoc.Text = "Convert this Section To A Non-Library Document";
|
||||||
lblLibraryDocument.Text = "Library Document";
|
lblLibraryDocument.Text = "Library Document";
|
||||||
superTooltip1.SetSuperTooltip(this.ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Non-Library Document", "", "This button will convert the current section from a library document to a non-library document",
|
superTooltip1.SetSuperTooltip(ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Non-Library Document", "", "This button will convert the current section from a library document to a non-library document",
|
||||||
null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -616,17 +579,17 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
||||||
if (!ii.IsAutoTOCSection) // Only show the Convert To DocX button for non-Auto Table Of Contents Section
|
if (!ii.IsAutoTOCSection) // Only show the Convert To DocX button for non-Auto Table Of Contents Section
|
||||||
this.ppBtnConvertToDocX.Visible = true; // Only allow save as DocX for normal word sections when the existing text is RTF.
|
ppBtnConvertToDocX.Visible = true; // Only allow save as DocX for normal word sections when the existing text is RTF.
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
this.ppBtnConvertToDocX.Visible = false;
|
ppBtnConvertToDocX.Visible = false;
|
||||||
if (_SectionConfig.MySection.MyContent.MyEntry.MyDocument == null)
|
if (_SectionConfig.MySection.MyContent.MyEntry.MyDocument == null)
|
||||||
ppBtnCvrtToLibDoc.Visible = false;
|
ppBtnCvrtToLibDoc.Visible = false;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ppBtnCvrtToLibDoc.Text = "Convert this to a Library Document";
|
ppBtnCvrtToLibDoc.Text = "Convert this to a Library Document";
|
||||||
lblLibraryDocument.Text = "Select Library Document";
|
lblLibraryDocument.Text = "Select Library Document";
|
||||||
superTooltip1.SetSuperTooltip(this.ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Library Document button", "", "This button will convert the current section to a library document, allowing it t" +
|
superTooltip1.SetSuperTooltip(ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Library Document button", "", "This button will convert the current section to a library document, allowing it t" +
|
||||||
"o be shared with other procedures.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
"o be shared with other procedures.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -694,12 +657,11 @@ namespace VEPROMS
|
|||||||
int oldSelIndx = -1;
|
int oldSelIndx = -1;
|
||||||
if (!myInit)
|
if (!myInit)
|
||||||
{
|
{
|
||||||
DocStyleList oldDocStyles = null;
|
opf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
|
||||||
opf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
|
|
||||||
if (pf != opf)
|
if (pf != opf)
|
||||||
{
|
{
|
||||||
oldDocStyles = new DocStyleList(null);
|
DocStyleList oldDocStyles = new DocStyleList(null);
|
||||||
foreach (DocStyle ds in opf.DocStyles.DocStyleListActive)
|
foreach (DocStyle ds in opf.DocStyles.DocStyleListActive)
|
||||||
{
|
{
|
||||||
if (_isStepSection && ds.IsStepSection)
|
if (_isStepSection && ds.IsStepSection)
|
||||||
oldDocStyles.Add(ds); // find only step section types
|
oldDocStyles.Add(ds); // find only step section types
|
||||||
@@ -786,7 +748,8 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private List<CheckOff> SectionPropertyCheckOffList = null;
|
private List<CheckOff> SectionPropertyCheckOffList = null;
|
||||||
private Dictionary<int, int> _CheckOffIndex = new Dictionary<int, int>(); // C2020-003 translate the sorted index number to the actual checkoff index
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private Dictionary<int, int> _CheckOffIndex = new Dictionary<int, int>(); // C2020-003 translate the sorted index number to the actual checkoff index
|
||||||
private void SetupCheckoffsDropdowns()
|
private void SetupCheckoffsDropdowns()
|
||||||
{
|
{
|
||||||
if (!_isStepSection) return; // not needed for accessory pages (word attachments)
|
if (!_isStepSection) return; // not needed for accessory pages (word attachments)
|
||||||
@@ -794,7 +757,7 @@ namespace VEPROMS
|
|||||||
_Initializing = true;
|
_Initializing = true;
|
||||||
PlantFormat pf = _SectionConfig.MyFormat!=null?_SectionConfig.MyFormat.PlantFormat:_SectionConfig.MyDefaultFormat.PlantFormat;
|
PlantFormat pf = _SectionConfig.MyFormat!=null?_SectionConfig.MyFormat.PlantFormat:_SectionConfig.MyDefaultFormat.PlantFormat;
|
||||||
CheckOffList chkoffList = pf.FormatData.ProcData.CheckOffData.CheckOffList;
|
CheckOffList chkoffList = pf.FormatData.ProcData.CheckOffData.CheckOffList;
|
||||||
if (chkoffList != null) chkoffList.Sort(CompareCheckoffUsingOrderBy); // C2020-003 sort the checkoff list via the Index and/or OrderBy elements
|
chkoffList?.Sort(CompareCheckoffUsingOrderBy); // C2020-003 sort the checkoff list via the Index and/or OrderBy elements
|
||||||
CheckOffHeaderList chkoffHeaderList = pf.FormatData.ProcData.CheckOffData.CheckOffHeaderList;
|
CheckOffHeaderList chkoffHeaderList = pf.FormatData.ProcData.CheckOffData.CheckOffHeaderList;
|
||||||
int maxindx = pf.FormatData.ProcData.CheckOffData.CheckOffList.MaxIndexNoInherit;
|
int maxindx = pf.FormatData.ProcData.CheckOffData.CheckOffList.MaxIndexNoInherit;
|
||||||
// B2019-013: was crashing on indexer of checkofflist. If there were UCF checkoffs but none in original format, the indexer
|
// B2019-013: was crashing on indexer of checkofflist. If there were UCF checkoffs but none in original format, the indexer
|
||||||
@@ -815,10 +778,9 @@ namespace VEPROMS
|
|||||||
if (chkoffList != null && maxindx > 0 &&
|
if (chkoffList != null && maxindx > 0 &&
|
||||||
(pf.FormatData.ProcData.CheckOffData.Menu == "Signoff") || _hasSectionCheckoffDefault)
|
(pf.FormatData.ProcData.CheckOffData.Menu == "Signoff") || _hasSectionCheckoffDefault)
|
||||||
{
|
{
|
||||||
if (SectionPropertyCheckOffList!=null)SectionPropertyCheckOffList.Clear();
|
SectionPropertyCheckOffList?.Clear();
|
||||||
SectionPropertyCheckOffList = new List<CheckOff>();
|
SectionPropertyCheckOffList = new List<CheckOff>();
|
||||||
// Don't put up the first item in the chkoffList, it is '{Section Default}'.
|
// Don't put up the first item in the chkoffList, it is '{Section Default}'.
|
||||||
//for (int i = 1; i < chkoffList.Count; i++)
|
|
||||||
int idxcnt = 0;
|
int idxcnt = 0;
|
||||||
int translatedCfgIdx = 0;
|
int translatedCfgIdx = 0;
|
||||||
_CheckOffIndex.Clear();
|
_CheckOffIndex.Clear();
|
||||||
@@ -882,7 +844,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
string suffix = "format ";
|
string suffix = "format ";
|
||||||
if (_DefaultFormatName.ToUpper().Contains("FORMAT")) suffix = "";
|
if (_DefaultFormatName.ToUpper().Contains("FORMAT")) suffix = "";
|
||||||
MessageBox.Show(string.Format("{0}\n\n{1}does not support {2} section type", _DefaultFormatName, suffix, isWordSection ? "MS Word" : "Step"), "Incompatible Format", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
MessageBox.Show($"{_DefaultFormatName}\n\n{suffix}does not support {(isWordSection ? "MS Word" : "Step")} section type", "Incompatible Format", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -918,7 +880,6 @@ namespace VEPROMS
|
|||||||
// determine if the default button and the default description text should visable
|
// determine if the default button and the default description text should visable
|
||||||
ppBtnDefaultFmt.Visible = !(ppCmbxFormat.SelectedValue == null || ppCmbxFormat.SelectedIndex == -1);
|
ppBtnDefaultFmt.Visible = !(ppCmbxFormat.SelectedValue == null || ppCmbxFormat.SelectedIndex == -1);
|
||||||
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
||||||
//if (!didDefault) SetupPpCmbxSectionType();
|
|
||||||
SetupPpCmbxSectionType();
|
SetupPpCmbxSectionType();
|
||||||
// B2017-272 disable/enable the Steps and Word radio buttons based on the section types defined in the format
|
// B2017-272 disable/enable the Steps and Word radio buttons based on the section types defined in the format
|
||||||
// and the type of an existing section or if we are creating a new section.
|
// and the type of an existing section or if we are creating a new section.
|
||||||
@@ -940,7 +901,7 @@ namespace VEPROMS
|
|||||||
return true; // valid format
|
return true; // valid format
|
||||||
string suffix = "format ";
|
string suffix = "format ";
|
||||||
if (ppCmbxFormat.SelectedValue.ToString().ToUpper().Contains("FORMAT")) suffix = "";
|
if (ppCmbxFormat.SelectedValue.ToString().ToUpper().Contains("FORMAT")) suffix = "";
|
||||||
MessageBox.Show(string.Format("{0}\n\n{1}does not support {2} section type", ppCmbxFormat.SelectedValue, suffix, isWordSection ? "MS Word" : "Step"), "Incompatible Format", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
MessageBox.Show($"{ppCmbxFormat.SelectedValue}\n\n{suffix}does not support {(isWordSection ? "MS Word" : "Step")} section type", "Incompatible Format", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -951,20 +912,17 @@ namespace VEPROMS
|
|||||||
_SectionConfig.SectionType = (int)(ppCmbxStyleSectionType.SelectedValue);
|
_SectionConfig.SectionType = (int)(ppCmbxStyleSectionType.SelectedValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Library Document tab
|
#region Library Document tab
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the Library Document button used on the button interface design
|
/// This is the Library Document button used on the button interface design
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnLibDocs_Click(object sender, EventArgs e)
|
private void btnLibDocs_Click(object sender, EventArgs e) => ProcessButtonClick(tiLibDoc, btnLibDocs);
|
||||||
{
|
private void ppBtnCvrtToLibDoc_Click(object sender, EventArgs e)
|
||||||
ProcessButtonClick(tiLibDoc, btnLibDocs);
|
|
||||||
}
|
|
||||||
private void ppBtnCvrtToLibDoc_Click(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
// Double Check that this is not a step section, if so just return.
|
// Double Check that this is not a step section, if so just return.
|
||||||
if (_isStepSection) return;
|
if (_isStepSection) return;
|
||||||
@@ -995,7 +953,7 @@ namespace VEPROMS
|
|||||||
ppCmbxLibDoc.Items.Clear();
|
ppCmbxLibDoc.Items.Clear();
|
||||||
ppCmbxLibDoc.WatermarkEnabled = true;
|
ppCmbxLibDoc.WatermarkEnabled = true;
|
||||||
ppBtnCvrtToLibDoc.Text = "Convert this to a Library Document";
|
ppBtnCvrtToLibDoc.Text = "Convert this to a Library Document";
|
||||||
superTooltip1.SetSuperTooltip(this.ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Library Document button", "", "This button will convert the current section to a library document, allowing it t" +
|
superTooltip1.SetSuperTooltip(ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Library Document button", "", "This button will convert the current section to a library document, allowing it t" +
|
||||||
"o be shared with other procedures.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
"o be shared with other procedures.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1038,7 +996,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
ppBtnCvrtToLibDoc.Text = "Convert this Section To A Non-Library Document";
|
ppBtnCvrtToLibDoc.Text = "Convert this Section To A Non-Library Document";
|
||||||
lblLibraryDocument.Text = "Library Document";
|
lblLibraryDocument.Text = "Library Document";
|
||||||
superTooltip1.SetSuperTooltip(this.ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Non-Library Document", "", "This button will convert the current section from a library document to a non-library document",
|
superTooltip1.SetSuperTooltip(ppBtnCvrtToLibDoc, new DevComponents.DotNetBar.SuperTooltipInfo("Convert To Non-Library Document", "", "This button will convert the current section from a library document to a non-library document",
|
||||||
null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, false, new System.Drawing.Size(250, 76)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1070,11 +1028,6 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//else if (_SectionConfig.MySection.MyContent.MyEntry.MyDocument == null)
|
|
||||||
//{
|
|
||||||
// // was creating a new document & selected to connect it to a libdoc
|
|
||||||
// _DocumentToDelete = _SectionConfig.MySection.MyContent.MyEntry.MyDocument;
|
|
||||||
//}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// it already is a library document, just change usages...
|
// it already is a library document, just change usages...
|
||||||
@@ -1086,34 +1039,30 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new Exception(string.Format("Index Out Of Range Index = {0}, Count = {1}", ppCmbxLibDoc.SelectedIndex, LibDocList.Count));
|
throw new Exception($"Index Out Of Range Index = {ppCmbxLibDoc.SelectedIndex}, Count = {LibDocList.Count}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region View Settings tab
|
#region View Settings tab
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the View Settings button used on the button interface design
|
/// This is the View Settings button used on the button interface design
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnAutomation_Click(object sender, EventArgs e)
|
private void btnAutomation_Click(object sender, EventArgs e) => ProcessButtonClick(tiAutomation, btnAutomation);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Generic functions used on this property page
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determines what labels (showing default values) are visable on the property pages
|
||||||
|
/// </summary>
|
||||||
|
private void defaultSettingsVisiblity()
|
||||||
{
|
{
|
||||||
ProcessButtonClick(tiAutomation, btnAutomation);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Generic functions used on this property page
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determines what labels (showing default values) are visable on the property pages
|
|
||||||
/// </summary>
|
|
||||||
private void defaultSettingsVisiblity()
|
|
||||||
{
|
|
||||||
//ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
|
||||||
ppLblDefSettingsInfo.Visible = ppCbShwDefSettings.Checked;
|
ppLblDefSettingsInfo.Visible = ppCbShwDefSettings.Checked;
|
||||||
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
|
||||||
ppLblDefaultNumColumns.Visible = _isStepSection && ppCbShwDefSettings.Checked && ppBtnDefaultNumColumns.Visible;
|
ppLblDefaultNumColumns.Visible = _isStepSection && ppCbShwDefSettings.Checked && ppBtnDefaultNumColumns.Visible;
|
||||||
@@ -1160,26 +1109,7 @@ namespace VEPROMS
|
|||||||
private void tabpage_Enter(object sender, EventArgs e)
|
private void tabpage_Enter(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Show or hide the labels containing the default values
|
// Show or hide the labels containing the default values
|
||||||
//if (!_Initializing) // jsj 1-23-2017 was not showing default check upon property page entry
|
defaultSettingsVisiblity();
|
||||||
defaultSettingsVisiblity();
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Process a change in the combo box selection
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="cmbx">Combo Box Name</param>
|
|
||||||
/// <param name="defstr">string containing default text</param>
|
|
||||||
/// <param name="button">button to reset to default value</param>
|
|
||||||
/// <param name="deflabel">label containing the default</param>
|
|
||||||
private void ProcessCmbxSelectedValueChange(ComboBoxEx cmbx, string defstr, ButtonX button, Label deflabel)
|
|
||||||
{
|
|
||||||
if ((cmbx.SelectedIndex != -1) && defstr != null && defstr.Equals(cmbx.SelectedValue))
|
|
||||||
{
|
|
||||||
button.Visible = true;
|
|
||||||
button.Focus();
|
|
||||||
button.PerformClick();
|
|
||||||
}
|
|
||||||
button.Visible = (cmbx.SelectedValue != null);
|
|
||||||
deflabel.Visible = (ppCbShwDefSettings.Checked) && button.Visible;
|
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Process a change in the enum combo box selection
|
/// Process a change in the enum combo box selection
|
||||||
@@ -1201,30 +1131,21 @@ namespace VEPROMS
|
|||||||
cmbx.SelectedIndex = -1; // This will hide the Default button
|
cmbx.SelectedIndex = -1; // This will hide the Default button
|
||||||
_Initializing = sav_Initializing;
|
_Initializing = sav_Initializing;
|
||||||
}
|
}
|
||||||
//button.Visible = ((!_FolderConfig.Name.Equals("VEPROMS")) && (cmbx.SelectedValue != null));
|
|
||||||
button.Visible = ((cmbx.SelectedValue != null) && (cmbx.SelectedIndex >= 0));
|
button.Visible = ((cmbx.SelectedValue != null) && (cmbx.SelectedIndex >= 0));
|
||||||
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void ppSectNumberStpRTB_Enter(object sender, EventArgs e)
|
private void ppSectNumberStpRTB_Enter(object sender, EventArgs e) => _MyStepTabRibbon.MyStepRTB = ppSectNumberStpRTB;
|
||||||
{
|
|
||||||
_MyStepTabRibbon.MyStepRTB = ppSectNumberStpRTB;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppSectTitleStpRTB_Enter(object sender, EventArgs e)
|
private void ppSectTitleStpRTB_Enter(object sender, EventArgs e) => _MyStepTabRibbon.MyStepRTB = ppSectTitleStpRTB;
|
||||||
{
|
|
||||||
_MyStepTabRibbon.MyStepRTB = ppSectTitleStpRTB;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ShowAvailableOptionsForSectionType()
|
private void ShowAvailableOptionsForSectionType()
|
||||||
{
|
{
|
||||||
lblColumns.Visible = _isStepSection;
|
lblColumns.Visible = _isStepSection;
|
||||||
ppCmbxNumColumns.Visible = _isStepSection;
|
ppCmbxNumColumns.Visible = _isStepSection;
|
||||||
lblPagination.Visible = _isStepSection;
|
lblPagination.Visible = _isStepSection;
|
||||||
ppCmbxSectPagination.Visible = _isStepSection;
|
ppCmbxSectPagination.Visible = _isStepSection;
|
||||||
//lblPrintSize.Visible = !_isStepSection;
|
|
||||||
//ppCmbxAccPgPrintSize.Visible = !_isStepSection;
|
|
||||||
ppGpbxSignoffCheckoff.Visible = _isStepSection;
|
ppGpbxSignoffCheckoff.Visible = _isStepSection;
|
||||||
cbKeepWordDocMargins.Visible = !_isStepSection;
|
cbKeepWordDocMargins.Visible = !_isStepSection;
|
||||||
ppCbDefaultStepSection.Visible = _isStepSection;
|
ppCbDefaultStepSection.Visible = _isStepSection;
|
||||||
@@ -1257,12 +1178,6 @@ namespace VEPROMS
|
|||||||
tcpFormat.Focus();
|
tcpFormat.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
//private void ppCmbxAccPgPrintSize_SelectedValueChanged(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// SectionConfig.AttPrintSize attsize = (SectionConfig.AttPrintSize)Enum.Parse(typeof(SectionConfig.AttPrintSize), _DefaultPrintSize);
|
|
||||||
// ProcessCmbxSelectionEnumChanged(ppCmbxAccPgPrintSize, attsize, ppBtnDefaultPrintSize, ppLblDefaultPrintSize);
|
|
||||||
//}
|
|
||||||
|
|
||||||
private void ppBtnDefaultPaginationStyle_Click(object sender, EventArgs e)
|
private void ppBtnDefaultPaginationStyle_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Get the parent setting
|
// Get the parent setting
|
||||||
@@ -1285,12 +1200,9 @@ namespace VEPROMS
|
|||||||
tcpFormat.Focus();
|
tcpFormat.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void frmSectionProperties_Shown(object sender, EventArgs e)
|
private void frmSectionProperties_Shown(object sender, EventArgs e) => ppSectNumberStpRTB.Focus();
|
||||||
{
|
|
||||||
ppSectNumberStpRTB.Focus();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppCbEditableData_CheckedChanged(object sender, EventArgs e)
|
private void ppCbEditableData_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
bool isEditable = ppCbEditableData.Checked;
|
bool isEditable = ppCbEditableData.Checked;
|
||||||
if (!_Initializing)
|
if (!_Initializing)
|
||||||
@@ -1353,7 +1265,7 @@ namespace VEPROMS
|
|||||||
int cntDefaultSect = 0;
|
int cntDefaultSect = 0;
|
||||||
string defSectDesc = "";
|
string defSectDesc = "";
|
||||||
string curSectDesc = "";
|
string curSectDesc = "";
|
||||||
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections)
|
foreach (SectionInfo si in _SectionConfig.MySection.MySectionInfo.MyProcedure.Sections.OfType<SectionInfo>())
|
||||||
{
|
{
|
||||||
SectionConfig sc = si.MyConfig as SectionConfig;
|
SectionConfig sc = si.MyConfig as SectionConfig;
|
||||||
if (sc != null && sc.Section_OriginalSteps == "Y")
|
if (sc != null && sc.Section_OriginalSteps == "Y")
|
||||||
@@ -1405,10 +1317,6 @@ namespace VEPROMS
|
|||||||
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
|
||||||
DocumentInfo doclibinfo = ii.MyContent.MyEntry.MyDocument;
|
DocumentInfo doclibinfo = ii.MyContent.MyEntry.MyDocument;
|
||||||
DSOFile myfile = new DSOFile(doclibinfo);
|
DSOFile myfile = new DSOFile(doclibinfo);
|
||||||
// When trying to fix this , the update of the document waas causing a CSLA crash so I switched
|
|
||||||
// to make document
|
|
||||||
//using (Document myDoc = doclibinfo.Get())
|
|
||||||
//{
|
|
||||||
// Open MSWord App
|
// Open MSWord App
|
||||||
LBWordLibrary.LBApplicationClass ap = new LBWordLibrary.LBApplicationClass();
|
LBWordLibrary.LBApplicationClass ap = new LBWordLibrary.LBApplicationClass();
|
||||||
LBWordLibrary.LBDocumentClass doc = ap.Documents.Open(myfile.FullName);
|
LBWordLibrary.LBDocumentClass doc = ap.Documents.Open(myfile.FullName);
|
||||||
@@ -1420,17 +1328,13 @@ namespace VEPROMS
|
|||||||
FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);// B2016-053
|
FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);// B2016-053
|
||||||
long len = fs.Length;
|
long len = fs.Length;
|
||||||
byte[] ByteArray = new byte[len];
|
byte[] ByteArray = new byte[len];
|
||||||
int nBytesRead = fs.Read(ByteArray, 0, (int)len);
|
_ = fs.Read(ByteArray, 0, (int)len);
|
||||||
fs.Close();
|
fs.Close();
|
||||||
Document myDoc = Document.MakeDocument(null, ByteArray, doclibinfo.DocAscii, doclibinfo.Config, ".DOCX");
|
Document myDoc = Document.MakeDocument(null, ByteArray, doclibinfo.DocAscii, doclibinfo.Config, ".DOCX");
|
||||||
_SectionConfig.MySection.MyContent.MyEntry.MyDocument = myDoc;
|
_SectionConfig.MySection.MyContent.MyEntry.MyDocument = myDoc;
|
||||||
_SectionConfig.MySection.MyContent.MyEntry.Save();
|
_SectionConfig.MySection.MyContent.MyEntry.Save();
|
||||||
//myDoc.DocContent = ByteArray;
|
|
||||||
//myDoc.FileExtension = ".DOCX";
|
|
||||||
//myDoc.Save();
|
|
||||||
fi.Delete();// Cleanup afterwards
|
fi.Delete();// Cleanup afterwards
|
||||||
ppBtnConvertToDocX.Visible = false; // Hide the button after the execution is complete.
|
ppBtnConvertToDocX.Visible = false; // Hide the button after the execution is complete.
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ppCmbxFormat_DropDown(object sender, EventArgs e)
|
private void ppCmbxFormat_DropDown(object sender, EventArgs e)
|
||||||
@@ -1460,14 +1364,11 @@ namespace VEPROMS
|
|||||||
_SectionConfig.Section_IsFoldout = (cbIsFoldoutSection.Checked) ? "Y" : "N";
|
_SectionConfig.Section_IsFoldout = (cbIsFoldoutSection.Checked) ? "Y" : "N";
|
||||||
}
|
}
|
||||||
|
|
||||||
// B2019-165 check box added to Automation tab to prevent a duplex foldout from
|
// B2019-165 check box added to Automation tab to prevent a duplex foldout from
|
||||||
// being printed on the back of the last page of the Word document that does not include duplex foldouts
|
// being printed on the back of the last page of the Word document that does not include duplex foldouts
|
||||||
private void ppCbNoDuplexFoldout_CheckedChanged(object sender, EventArgs e)
|
private void ppCbNoDuplexFoldout_CheckedChanged(object sender, EventArgs e) => _SectionConfig.Section_DontIncludeDuplexFoldout = ppCbNoDuplexFoldout.Checked;
|
||||||
{
|
// C2029-025 Show or hide replace words. Can highlight replace words in editor.
|
||||||
_SectionConfig.Section_DontIncludeDuplexFoldout = ppCbNoDuplexFoldout.Checked;
|
private void ppCbShowRplWords_CheckedChanged(object sender, EventArgs e)
|
||||||
}
|
|
||||||
// C2029-025 Show or hide replace words. Can highlight replace words in editor.
|
|
||||||
private void ppCbShowRplWords_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
if (!_Initializing)
|
if (!_Initializing)
|
||||||
{
|
{
|
||||||
@@ -1475,15 +1376,5 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//private void ppBtnDefaultPrintSize_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// // Get the parent setting
|
|
||||||
// SectionConfig.AttPrintSize attsize = (SectionConfig.AttPrintSize)Enum.Parse(typeof(SectionConfig.AttPrintSize), _DefaultPrintSize);
|
|
||||||
// // Compare parent setting with current setting
|
|
||||||
// if (attsize != _SectionConfig.Section_AttachmentPrintSize)
|
|
||||||
// _SectionConfig.Section_AttachmentPrintSize = attsize; // this will force a database update (write)
|
|
||||||
// ppCmbxAccPgPrintSize.SelectedIndex = -1;//reset to the default Accessory page Print Size setting
|
|
||||||
// tcpFormat.Focus();
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +1,21 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using DevComponents;
|
|
||||||
using DevComponents.DotNetBar.Rendering;
|
using DevComponents.DotNetBar.Rendering;
|
||||||
using DevComponents.DotNetBar;
|
using DevComponents.DotNetBar;
|
||||||
using VEPROMS.Properties;
|
using VEPROMS.Properties;
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
using DescriptiveEnum;
|
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
namespace VEPROMS
|
namespace VEPROMS
|
||||||
{
|
{
|
||||||
public partial class frmSysOptions : DevComponents.DotNetBar.Office2007Form
|
public partial class frmSysOptions : DevComponents.DotNetBar.Office2007Form
|
||||||
{
|
{
|
||||||
bool _initializing;
|
readonly bool _initializing;
|
||||||
private bool _CanChangeSeparateWindowsSetting = true;
|
|
||||||
|
|
||||||
public bool CanChangeSeparateWindowsSetting
|
public bool CanChangeSeparateWindowsSetting { get; set; } = true;
|
||||||
{
|
|
||||||
get { return _CanChangeSeparateWindowsSetting; }
|
|
||||||
set { _CanChangeSeparateWindowsSetting = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
private UserSettings _usersettings;
|
private UserSettings _usersettings;
|
||||||
|
|
||||||
public frmSysOptions()
|
public frmSysOptions()
|
||||||
{
|
{
|
||||||
@@ -160,8 +149,8 @@ namespace VEPROMS
|
|||||||
//C2025-013 - Allow not continuously generate message that opening Summaries in MS Word
|
//C2025-013 - Allow not continuously generate message that opening Summaries in MS Word
|
||||||
_usersettings.SetUserSetting_MSWord_Summary_Prompt(cbMSWordPrompt.Checked);
|
_usersettings.SetUserSetting_MSWord_Summary_Prompt(cbMSWordPrompt.Checked);
|
||||||
|
|
||||||
this.DialogResult = DialogResult.OK;
|
DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private int ss_propPageStyle;
|
private int ss_propPageStyle;
|
||||||
@@ -197,7 +186,7 @@ namespace VEPROMS
|
|||||||
private void RestoreStartingSettings() // used with the cancel button
|
private void RestoreStartingSettings() // used with the cancel button
|
||||||
{
|
{
|
||||||
Settings.Default.PropPageStyle = ss_propPageStyle;
|
Settings.Default.PropPageStyle = ss_propPageStyle;
|
||||||
Settings.Default.SystemColor = ss_SystemColor;
|
Settings.Default.SystemColor = ss_SystemColor;
|
||||||
Settings.Default.TransitionRangeColor = ss_TransRangeColor;
|
Settings.Default.TransitionRangeColor = ss_TransRangeColor;
|
||||||
Settings.Default.AutoPopUpAnnotations = ss_PopUPAnnotations;
|
Settings.Default.AutoPopUpAnnotations = ss_PopUPAnnotations;
|
||||||
Settings.Default.StepTypeToolTip = ss_StepTypeToolTip;
|
Settings.Default.StepTypeToolTip = ss_StepTypeToolTip;
|
||||||
@@ -255,52 +244,30 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbAnnotationPopup_CheckedChanged(object sender, EventArgs e)
|
private void cbAnnotationPopup_CheckedChanged(object sender, EventArgs e) => Settings.Default.AutoPopUpAnnotations = cbAnnotationPopup.Checked;
|
||||||
{
|
|
||||||
Settings.Default.AutoPopUpAnnotations = cbAnnotationPopup.Checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void frmSysOptions_Load(object sender, EventArgs e)
|
private void frmSysOptions_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ClearAllCheckedButtons();
|
ClearAllCheckedButtons();
|
||||||
tcSysOpts.SelectedTab = tiIntrFaceStngs;
|
tcSysOpts.SelectedTab = tiIntrFaceStngs;
|
||||||
btnIntrFaceStngs.Checked = true;
|
btnIntrFaceStngs.Checked = true;
|
||||||
gpSeparateWindows.Enabled = CanChangeSeparateWindowsSetting; //Separate Windows only if one or less procedure sets open
|
gpSeparateWindows.Enabled = CanChangeSeparateWindowsSetting; //Separate Windows only if one or less procedure sets open
|
||||||
}
|
}
|
||||||
private void cbStepTypeToolTip_CheckedChanged(object sender, EventArgs e)
|
private void cbStepTypeToolTip_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Settings.Default.StepTypeToolTip = cbStepTypeToolTip.Checked;
|
Settings.Default.StepTypeToolTip = cbStepTypeToolTip.Checked;
|
||||||
VlnSettings.StepTypeToolTip = cbStepTypeToolTip.Checked;
|
VlnSettings.StepTypeToolTip = cbStepTypeToolTip.Checked;
|
||||||
}
|
}
|
||||||
private void cbTVExpand_CheckedChanged(object sender, EventArgs e)
|
private void cbTVExpand_CheckedChanged(object sender, EventArgs e) => Settings.Default.SaveTreeviewExpanded = cbTVExpand.Checked;
|
||||||
{
|
private void cbSeparateWindows_CheckedChanged(object sender, EventArgs e) => Settings.Default.SeparateWindows = cbSeparateWindows.Checked;
|
||||||
Settings.Default.SaveTreeviewExpanded = cbTVExpand.Checked;
|
private void txbxVisioPath_Leave(object sender, EventArgs e) => Settings.Default.VisioPath = txbxVisioPath.Text;
|
||||||
}
|
|
||||||
private void cbSeparateWindows_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Settings.Default.SeparateWindows = cbSeparateWindows.Checked;
|
|
||||||
}
|
|
||||||
private void txbxVisioPath_Leave(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Settings.Default.VisioPath = txbxVisioPath.Text;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnCancel_Click(object sender, EventArgs e)
|
private void btnCancel_Click(object sender, EventArgs e) => RestoreStartingSettings();
|
||||||
{
|
|
||||||
RestoreStartingSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void txbxVisioPath_Leave_1(object sender, EventArgs e)
|
private void txbxVisioPath_Leave_1(object sender, EventArgs e) => Settings.Default.VisioPath = txbxVisioPath.Text;
|
||||||
{
|
|
||||||
Settings.Default.VisioPath = txbxVisioPath.Text;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private void cbOTRemember_CheckedChanged(object sender, EventArgs e) => cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbShwRplWrdsColor.Checked;
|
||||||
private void cbOTRemember_CheckedChanged(object sender, EventArgs e)
|
private void cbShwRplWrdsColor_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
|
||||||
cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbShwRplWrdsColor.Checked;
|
|
||||||
}
|
|
||||||
private void cbShwRplWrdsColor_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
{
|
||||||
Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked;
|
Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked;
|
||||||
VlnSettings.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked;
|
VlnSettings.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked;
|
||||||
@@ -308,10 +275,7 @@ namespace VEPROMS
|
|||||||
Properties.Settings.Default.Save(); // save settings
|
Properties.Settings.Default.Save(); // save settings
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cbShwAnnoFilter_Click(object sender, EventArgs e)
|
private void cbShwAnnoFilter_Click(object sender, EventArgs e) => frmVEPROMS.tv_SelectAnnotations();
|
||||||
{
|
|
||||||
frmVEPROMS.tv_SelectAnnotations();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using VEPROMS.CSLA.Library;
|
using VEPROMS.CSLA.Library;
|
||||||
@@ -28,45 +25,36 @@ namespace VEPROMS
|
|||||||
private List<MiniConfig> _Apples;
|
private List<MiniConfig> _Apples;
|
||||||
private List<MiniConfig> _DeletedApples;
|
private List<MiniConfig> _DeletedApples;
|
||||||
private List<EnhancedMiniConfig> _Enhanced;
|
private List<EnhancedMiniConfig> _Enhanced;
|
||||||
private DocVersionConfig _DocVersionConfig;
|
private readonly DocVersionConfig _DocVersionConfig;
|
||||||
private string _OrgPDFPath; // B2024-030 used to save last PDF path
|
private readonly string _OrgPDFPath; // B2024-030 used to save last PDF path
|
||||||
|
|
||||||
// Default values
|
// Default values
|
||||||
private string _DefaultFormatName = null;
|
private string _DefaultFormatName = null;
|
||||||
private string _DefaultROPrefix = null;
|
|
||||||
private string _DefaultImagePrefix = null;
|
|
||||||
private string _DefaultWatermark = null;
|
private string _DefaultWatermark = null;
|
||||||
private string _DefaultChgBarType = null;
|
private string _DefaultChgBarType = null;
|
||||||
private string _DefaultChgBarLoc = null;
|
private string _DefaultChgBarLoc = null;
|
||||||
private string _DefaultChgBarText = null;
|
private string _DefaultChgBarText = null;
|
||||||
private string _DefaultChgBarUsrMsg1 = null;
|
private string _DefaultChgBarUsrMsg1 = null;
|
||||||
private string _DefaultChgBarUsrMsg2 = null;
|
private string _DefaultChgBarUsrMsg2 = null;
|
||||||
private bool _DefaultDisableDuplex = false;
|
private bool _Initializing = false;
|
||||||
private DisplaySearch _DisplaySearch1 = null;
|
|
||||||
|
|
||||||
private bool _Initializing = false;
|
|
||||||
private System.IO.StreamWriter swROUpdate;
|
private System.IO.StreamWriter swROUpdate;
|
||||||
private ProgressBarItem _ProgressBar = null;
|
private RODbInfo _CurRoDbInfo = null;
|
||||||
private RODbInfo _CurRoDbInfo = null;
|
|
||||||
private ROFstInfo _SelectedROFst;
|
private ROFstInfo _SelectedROFst;
|
||||||
private List<DocVersionInfo> NewEnhVersions = new List<DocVersionInfo>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private List<DocVersionInfo> NewEnhVersions = new List<DocVersionInfo>();
|
||||||
private bool doingNew = false;
|
private bool doingNew = false;
|
||||||
private bool _EnhNeedToUnlink = false;
|
private bool _EnhNeedToUnlink = false;
|
||||||
private int _InitialIndex = -2; // added as part of code change C2017-004. this also makes it consistent with section properties
|
private int _InitialIndex = -2; // added as part of code change C2017-004. this also makes it consistent with section properties
|
||||||
private int? _cmbxformatOriginal = null;
|
private int? _cmbxformatOriginal = null;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
public DisplaySearch DisplaySearch1
|
|
||||||
{
|
|
||||||
get { return _DisplaySearch1; }
|
|
||||||
set { _DisplaySearch1 = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// For the initial release, we are assuming there will be only one rofst for a docversion. Changes will be needed here if more than 1.
|
public DisplaySearch DisplaySearch1 { get; set; } = null;
|
||||||
public ROFstInfo SelectedROFst
|
|
||||||
|
// For the initial release, we are assuming there will be only one rofst for a docversion. Changes will be needed here if more than 1.
|
||||||
|
public ROFstInfo SelectedROFst
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -81,17 +69,13 @@ namespace VEPROMS
|
|||||||
set { _SelectedROFst = value; }
|
set { _SelectedROFst = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProgressBarItem ProgressBar
|
public ProgressBarItem ProgressBar { get; set; } = null;
|
||||||
{
|
|
||||||
get { return _ProgressBar; }
|
|
||||||
set { _ProgressBar = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Constructors
|
#region Constructors
|
||||||
|
|
||||||
public frmVersionsProperties(DocVersionConfig docVersionConfig)
|
public frmVersionsProperties(DocVersionConfig docVersionConfig)
|
||||||
{
|
{
|
||||||
_DocVersionConfig = docVersionConfig;
|
_DocVersionConfig = docVersionConfig;
|
||||||
docVersionConfig.RefreshMyEnhancedDocuments();
|
docVersionConfig.RefreshMyEnhancedDocuments();
|
||||||
@@ -103,7 +87,7 @@ namespace VEPROMS
|
|||||||
_Initializing = false;
|
_Initializing = false;
|
||||||
|
|
||||||
//build the caption
|
//build the caption
|
||||||
this.Text = string.Format("{0} Properties", _DocVersionConfig.Name);
|
Text = string.Format("{0} Properties", _DocVersionConfig.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -147,9 +131,11 @@ namespace VEPROMS
|
|||||||
srchtxt = myGrid.GetSearchableText();
|
srchtxt = myGrid.GetSearchableText();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<string> retlist = new List<string>();
|
List<string> retlist = new List<string>
|
||||||
retlist.Add(srchtxt);
|
{
|
||||||
retlist.Add(xml);
|
srchtxt,
|
||||||
|
xml
|
||||||
|
};
|
||||||
|
|
||||||
return retlist;
|
return retlist;
|
||||||
}
|
}
|
||||||
@@ -164,7 +150,6 @@ namespace VEPROMS
|
|||||||
|
|
||||||
docVersionConfigBindingSource.DataSource = _DocVersionConfig;
|
docVersionConfigBindingSource.DataSource = _DocVersionConfig;
|
||||||
|
|
||||||
//formatInfoListBindingSource.DataSource = FormatInfoList.Get();
|
|
||||||
imageCodecInfoBindingSource.DataSource = ImageCodecInfo.GetImageDecoders();
|
imageCodecInfoBindingSource.DataSource = ImageCodecInfo.GetImageDecoders();
|
||||||
|
|
||||||
ppCmbxFormat.DataSource = null;
|
ppCmbxFormat.DataSource = null;
|
||||||
@@ -185,7 +170,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
// Get the saved settings for this user
|
// Get the saved settings for this user
|
||||||
// Get setting telling us whether to display the default values on this property page
|
// Get setting telling us whether to display the default values on this property page
|
||||||
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultVersionProp"] != null) ? Settings.Default.ShowDefaultVersionProp : false;
|
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultVersionProp"] != null) && Settings.Default.ShowDefaultVersionProp;
|
||||||
|
|
||||||
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
// Get the User's property page style "PropPageStyle" (this is a system wide user setting)
|
||||||
// 1 - Button Dialog (default)
|
// 1 - Button Dialog (default)
|
||||||
@@ -194,7 +179,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
tcVersions.TabsVisible = true;
|
tcVersions.TabsVisible = true;
|
||||||
panVerBtns.Visible = false;
|
panVerBtns.Visible = false;
|
||||||
this.Width -= panVerBtns.Width;
|
Width -= panVerBtns.Width;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the default values for the property page information
|
// Get the default values for the property page information
|
||||||
@@ -298,12 +283,14 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Button btnPC = new Button();
|
Button btnPC = new Button
|
||||||
btnPC.Text = "Add Applicability to Working Draft";
|
{
|
||||||
btnPC.Width = 250;
|
Text = "Add Applicability to Working Draft",
|
||||||
btnPC.Location = new Point(25, 271);
|
Width = 250,
|
||||||
btnPC.Parent = tcpGeneral;
|
Location = new Point(25, 271),
|
||||||
btnPC.Click += new EventHandler(btnPC_Click);
|
Parent = tcpGeneral
|
||||||
|
};
|
||||||
|
btnPC.Click += new EventHandler(btnPC_Click);
|
||||||
btnApplicability.Visible = false;
|
btnApplicability.Visible = false;
|
||||||
tiApplicability.Visible = false;
|
tiApplicability.Visible = false;
|
||||||
}
|
}
|
||||||
@@ -394,12 +381,14 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
if (validEmptyEnhancedExists)
|
if (validEmptyEnhancedExists)
|
||||||
{
|
{
|
||||||
Button btnEnh = new Button();
|
Button btnEnh = new Button
|
||||||
btnEnh.Text = "Link to Enhanced Document(s)";
|
{
|
||||||
btnEnh.Width = 220;
|
Text = "Link to Enhanced Document(s)",
|
||||||
btnEnh.Location = new Point(290, 271);
|
Width = 220,
|
||||||
btnEnh.Parent = tcpGeneral;
|
Location = new Point(290, 271),
|
||||||
btnEnh.Click += new EventHandler(btnEnh_Click);
|
Parent = tcpGeneral
|
||||||
|
};
|
||||||
|
btnEnh.Click += new EventHandler(btnEnh_Click);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
btnEnhanced.Visible = false;
|
btnEnhanced.Visible = false;
|
||||||
@@ -425,7 +414,7 @@ namespace VEPROMS
|
|||||||
DocVersionInfo dvi = DocVersionInfo.Get(_DocVersionConfig.MyEnhancedDocuments[0].VersionID);
|
DocVersionInfo dvi = DocVersionInfo.Get(_DocVersionConfig.MyEnhancedDocuments[0].VersionID);
|
||||||
DVEnhancedDocument dvedUseData = _DocVersionConfig.MyEnhancedDocuments[0];
|
DVEnhancedDocument dvedUseData = _DocVersionConfig.MyEnhancedDocuments[0];
|
||||||
DocVersionConfig dvc = dvi.MyConfig as DocVersionConfig;
|
DocVersionConfig dvc = dvi.MyConfig as DocVersionConfig;
|
||||||
EnhancedMiniConfig ecfg = new EnhancedMiniConfig(0, dvi.VersionID, "?", dvi.SearchDVPath, dvedUseData.Name, dvedUseData.Type.ToString(), dvedUseData.PdfToken, dvedUseData.PdfX.ToString());
|
EnhancedMiniConfig ecfg = new EnhancedMiniConfig(0, dvi.VersionID, dvi.SearchDVPath, dvedUseData.Name, dvedUseData.Type.ToString(), dvedUseData.PdfToken, dvedUseData.PdfX.ToString());
|
||||||
cbxEnhVersions.Items.Add(dvi.SearchDVPath);
|
cbxEnhVersions.Items.Add(dvi.SearchDVPath);
|
||||||
tbEnhName.Enabled = false;
|
tbEnhName.Enabled = false;
|
||||||
tbEnhType.Enabled = false;
|
tbEnhType.Enabled = false;
|
||||||
@@ -466,7 +455,7 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
DocVersionInfo dvi = DocVersionInfo.Get(dved.VersionID);
|
DocVersionInfo dvi = DocVersionInfo.Get(dved.VersionID);
|
||||||
DocVersionConfig dvc = dvi.MyConfig as DocVersionConfig;
|
DocVersionConfig dvc = dvi.MyConfig as DocVersionConfig;
|
||||||
EnhancedMiniConfig ecfg = new EnhancedMiniConfig(0, dvi.VersionID, "?", dvi.SearchDVPath, dved.Name, dved.Type.ToString(), dved.PdfToken, dved.PdfX.ToString());
|
EnhancedMiniConfig ecfg = new EnhancedMiniConfig(0, dvi.VersionID, dvi.SearchDVPath, dved.Name, dved.Type.ToString(), dved.PdfToken, dved.PdfX.ToString());
|
||||||
cbxEnhVersions.Items.Add(dvi.SearchDVPath);
|
cbxEnhVersions.Items.Add(dvi.SearchDVPath);
|
||||||
_Enhanced.Add(ecfg);
|
_Enhanced.Add(ecfg);
|
||||||
}
|
}
|
||||||
@@ -549,47 +538,6 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string AddSlaveNode(MiniConfig mc)
|
|
||||||
{
|
|
||||||
System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
|
|
||||||
xd.LoadXml(_DocVersionConfig.ToString());
|
|
||||||
System.Xml.XmlNodeList nl = xd.SelectNodes("//Slave");
|
|
||||||
int max = 0;
|
|
||||||
|
|
||||||
foreach (System.Xml.XmlNode n in nl)
|
|
||||||
{
|
|
||||||
max = int.Parse(n.Attributes.GetNamedItem("index").InnerText);
|
|
||||||
}
|
|
||||||
|
|
||||||
max++;
|
|
||||||
|
|
||||||
System.Xml.XmlNode nn = xd.CreateElement("Slave");
|
|
||||||
AddSlaveAttribute(nn, "index", max.ToString());
|
|
||||||
AddSlaveAttribute(nn, "ID", mc.ID);
|
|
||||||
AddSlaveAttribute(nn, "Name", mc.Name);
|
|
||||||
AddSlaveAttribute(nn, "Number", mc.Number);
|
|
||||||
AddSlaveAttribute(nn, "Text", mc.Text);
|
|
||||||
AddSlaveAttribute(nn, "ProcedureNumber", mc.ProcedureNumber);
|
|
||||||
AddSlaveAttribute(nn, "SetID", mc.SetID);
|
|
||||||
AddSlaveAttribute(nn, "SetName", mc.SetName);
|
|
||||||
AddSlaveAttribute(nn, "OtherID", mc.OtherID);
|
|
||||||
AddSlaveAttribute(nn, "OtherName", mc.OtherName);
|
|
||||||
AddSlaveAttribute(nn, "OtherNumber", mc.OtherNumber);
|
|
||||||
AddSlaveAttribute(nn, "OtherText", mc.OtherText);
|
|
||||||
|
|
||||||
System.Xml.XmlNode sn = xd.SelectSingleNode("//Slaves");
|
|
||||||
sn.AppendChild(nn);
|
|
||||||
|
|
||||||
return xd.OuterXml;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AddSlaveAttribute(System.Xml.XmlNode nn, string name, string value)
|
|
||||||
{
|
|
||||||
System.Xml.XmlAttribute xa = nn.OwnerDocument.CreateAttribute(name);
|
|
||||||
xa.InnerText = value;
|
|
||||||
nn.Attributes.SetNamedItem(xa);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnVersionsPropOK_Click(object sender, EventArgs e)
|
private void btnVersionsPropOK_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//B2024-030 Check the PDF Location path and prompt to create the folders if needed
|
//B2024-030 Check the PDF Location path and prompt to create the folders if needed
|
||||||
@@ -683,8 +631,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
dved.PdfX = Convert.ToInt32(emc.PdfXOffset);
|
dved.PdfX = Convert.ToInt32(emc.PdfXOffset);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
dved.PdfX = 10;
|
dved.PdfX = 10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -698,8 +646,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
ipdfx = Convert.ToInt32(emc.PdfXOffset);
|
ipdfx = Convert.ToInt32(emc.PdfXOffset);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
ipdfx = (emc.PdfToken == null || emc.PdfToken == "") ? 0 : 10;
|
ipdfx = (emc.PdfToken == null || emc.PdfToken == "") ? 0 : 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -709,8 +657,8 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
itype = Convert.ToInt32(emc.Type);
|
itype = Convert.ToInt32(emc.Type);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
itype = 1;
|
itype = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -773,20 +721,20 @@ namespace VEPROMS
|
|||||||
|
|
||||||
if (_EnhNeedToUnlink)
|
if (_EnhNeedToUnlink)
|
||||||
{
|
{
|
||||||
this.Cursor = Cursors.WaitCursor;
|
Cursor = Cursors.WaitCursor;
|
||||||
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.DoUnlinkEnhancedDocVersion();
|
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.DoUnlinkEnhancedDocVersion();
|
||||||
this.Cursor = Cursors.Default;
|
Cursor = Cursors.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
// B2019-132 update the association count for this working draft
|
// B2019-132 update the association count for this working draft
|
||||||
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.RefreshDocVersionAssociations();
|
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.RefreshDocVersionAssociations();
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnFldrPropCancel_Click(object sender, EventArgs e)
|
private void btnFldrPropCancel_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
docVersionConfigBindingSource.CancelEdit();
|
docVersionConfigBindingSource.CancelEdit();
|
||||||
this.Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -832,13 +780,15 @@ namespace VEPROMS
|
|||||||
|
|
||||||
// Get the ro path - there is no 'default'
|
// Get the ro path - there is no 'default'
|
||||||
if (_DocVersionConfig.MyDocVersion.DocVersionAssociationCount < 0 && _DocVersionConfig.MyDocVersion.DocVersionAssociations.Count == 0)
|
if (_DocVersionConfig.MyDocVersion.DocVersionAssociationCount < 0 && _DocVersionConfig.MyDocVersion.DocVersionAssociations.Count == 0)
|
||||||
;// The line above refreshes the data
|
#pragma warning disable CS0642 // Possible mistaken empty statement
|
||||||
|
;// The line above refreshes the data
|
||||||
|
#pragma warning restore CS0642 // Possible mistaken empty statement
|
||||||
|
|
||||||
if (_DocVersionConfig.MyDocVersion.DocVersionAssociationCount > 0)
|
if (_DocVersionConfig.MyDocVersion.DocVersionAssociationCount > 0)
|
||||||
{
|
{
|
||||||
RODbInfo rdi = RODbInfo.GetJustRODB(SelectedROFst.RODbID);
|
RODbInfo rdi = RODbInfo.GetJustRODB(SelectedROFst.RODbID);
|
||||||
|
|
||||||
tbRoDb.Text = string.Format("{0} ({1})", rdi.ROName, rdi.FolderPath);
|
tbRoDb.Text = $"{rdi.ROName} ({rdi.FolderPath})";
|
||||||
ppBtnRoToSql.Visible = ppBtnRoToSql.Enabled = CanMigrateRoAccessToSql(rdi); // C2017-003: make button visible if ro migration is doable
|
ppBtnRoToSql.Visible = ppBtnRoToSql.Enabled = CanMigrateRoAccessToSql(rdi); // C2017-003: make button visible if ro migration is doable
|
||||||
_CurRoDbInfo = rdi;
|
_CurRoDbInfo = rdi;
|
||||||
}
|
}
|
||||||
@@ -851,7 +801,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
foreach (RODbInfo rdi in RODbInfoList.Get())
|
foreach (RODbInfo rdi in RODbInfoList.Get())
|
||||||
{
|
{
|
||||||
int i = cmbRoDb.Items.Add(string.Format("{0} ({1})", rdi.ROName, rdi.FolderPath));
|
int i = cmbRoDb.Items.Add($"{rdi.ROName} ({rdi.FolderPath})");
|
||||||
|
|
||||||
if (rdi.RODbID == myrodbid)
|
if (rdi.RODbID == myrodbid)
|
||||||
{
|
{
|
||||||
@@ -958,10 +908,12 @@ namespace VEPROMS
|
|||||||
if (tmp == null)
|
if (tmp == null)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Invalid ro fst directory, use the Property dialog to fix directory path to ro.fst.");
|
MessageBox.Show("Invalid ro fst directory, use the Property dialog to fix directory path to ro.fst.");
|
||||||
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, rdi);
|
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, rdi)
|
||||||
dlgROProperties.ProgressBar = ProgressBar;
|
{
|
||||||
|
ProgressBar = ProgressBar
|
||||||
|
};
|
||||||
|
|
||||||
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
tbRoDb.Text = string.Format("{0} ({1})", SelectedROFst.MyRODb.ROName, SelectedROFst.MyRODb.FolderPath);
|
tbRoDb.Text = string.Format("{0} ({1})", SelectedROFst.MyRODb.ROName, SelectedROFst.MyRODb.FolderPath);
|
||||||
// only allow update if association, and the RO update was not done and/or not completed
|
// only allow update if association, and the RO update was not done and/or not completed
|
||||||
@@ -975,7 +927,7 @@ namespace VEPROMS
|
|||||||
|
|
||||||
cmbRoDb.Visible = ppBtnRoDbBrowse.Visible = false;
|
cmbRoDb.Visible = ppBtnRoDbBrowse.Visible = false;
|
||||||
tbRoDb.Visible = btnRoDbProperties.Visible = true;
|
tbRoDb.Visible = btnRoDbProperties.Visible = true;
|
||||||
tbRoDb.Text = string.Format("{0} ({1})", tmp.MyRODb.ROName, tmp.MyRODb.FolderPath);
|
tbRoDb.Text = $"{tmp.MyRODb.ROName} ({tmp.MyRODb.FolderPath})";
|
||||||
|
|
||||||
// C2017-003: See if the selected ro database has been converted to sql and if not, make visible a button to convert the data.
|
// C2017-003: See if the selected ro database has been converted to sql and if not, make visible a button to convert the data.
|
||||||
RODbInfo rodbi = RODbInfo.GetJustRODB(tmp.MyRODb.RODbID);
|
RODbInfo rodbi = RODbInfo.GetJustRODB(tmp.MyRODb.RODbID);
|
||||||
@@ -1007,12 +959,14 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void ppBtnRoDbBrowse_Click(object sender, EventArgs e)
|
private void ppBtnRoDbBrowse_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, SelectedROFst == null ? null : SelectedROFst.MyRODb);
|
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, SelectedROFst?.MyRODb)
|
||||||
dlgROProperties.ParentLocation = Location;
|
{
|
||||||
|
ParentLocation = Location
|
||||||
|
};
|
||||||
|
|
||||||
// if a user has entered a valid rodb, then this docversion will be conntected to it - change
|
// if a user has entered a valid rodb, then this docversion will be conntected to it - change
|
||||||
// to a non-editable text box and the button becomes a properties button rather than browse.
|
// to a non-editable text box and the button becomes a properties button rather than browse.
|
||||||
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
cmbRoDb.Items.Clear();
|
cmbRoDb.Items.Clear();
|
||||||
_DocVersionConfig.MyDocVersion.Reset_DocVersionAssociations();
|
_DocVersionConfig.MyDocVersion.Reset_DocVersionAssociations();
|
||||||
@@ -1075,12 +1029,9 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void frmVersionsProperties_Shown(object sender, EventArgs e)
|
private void frmVersionsProperties_Shown(object sender, EventArgs e) => ppRTxtName.Focus();
|
||||||
{
|
|
||||||
ppRTxtName.Focus();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ppRTxtName_Leave(object sender, EventArgs e)
|
private void ppRTxtName_Leave(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(ppRTxtName.Text))
|
if (string.IsNullOrEmpty(ppRTxtName.Text))
|
||||||
{
|
{
|
||||||
@@ -1089,12 +1040,9 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnApplicability_Click(object sender, EventArgs e)
|
private void btnApplicability_Click(object sender, EventArgs e) => ProcessButtonClick(tiApplicability, btnApplicability);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiApplicability, btnApplicability);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void lbApplicabilities_SelectedIndexChanged(object sender, EventArgs e)
|
private void lbApplicabilities_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (lbApplicabilities.SelectedIndex > -1)
|
if (lbApplicabilities.SelectedIndex > -1)
|
||||||
{
|
{
|
||||||
@@ -1106,11 +1054,12 @@ namespace VEPROMS
|
|||||||
|
|
||||||
private void btnNewApple_Click(object sender, EventArgs e)
|
private void btnNewApple_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MiniConfig cfg = new MiniConfig();
|
MiniConfig cfg = new MiniConfig
|
||||||
|
{
|
||||||
|
Name = "New Applicability"
|
||||||
|
};
|
||||||
|
|
||||||
cfg.Name = "New Applicability";
|
if (_Apples == null)
|
||||||
|
|
||||||
if (_Apples == null)
|
|
||||||
{
|
{
|
||||||
_Apples = new List<MiniConfig>();
|
_Apples = new List<MiniConfig>();
|
||||||
}
|
}
|
||||||
@@ -1147,7 +1096,7 @@ namespace VEPROMS
|
|||||||
if (_showApplicSearchResults)
|
if (_showApplicSearchResults)
|
||||||
{
|
{
|
||||||
_showApplicSearchResults = false;
|
_showApplicSearchResults = false;
|
||||||
_DisplaySearch1.SearchResults = null;
|
DisplaySearch1.SearchResults = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Cursor.Current = Cursors.WaitCursor;
|
Cursor.Current = Cursors.WaitCursor;
|
||||||
@@ -1159,9 +1108,9 @@ namespace VEPROMS
|
|||||||
if (MessageBox.Show(string.Format("Cannot remove an Applicability that is being use in {0} places.\n\nDo you want to view locations via Search Results?\n\nThe Search panel will open when you exit the property page.", placesUsed.Count), "Applicability In Use", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
if (MessageBox.Show(string.Format("Cannot remove an Applicability that is being use in {0} places.\n\nDo you want to view locations via Search Results?\n\nThe Search panel will open when you exit the property page.", placesUsed.Count), "Applicability In Use", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
_showApplicSearchResults = true;
|
_showApplicSearchResults = true;
|
||||||
_DisplaySearch1.SearchResults = placesUsed;
|
DisplaySearch1.SearchResults = placesUsed;
|
||||||
_DisplaySearch1.ReportTitle = string.Format("{0} Applicability", cfg.Name);
|
DisplaySearch1.ReportTitle = string.Format("{0} Applicability", cfg.Name);
|
||||||
_DisplaySearch1.TypesSelected = string.Format("These Locations Specify The \"{0}\" Applicability", cfg.Name);
|
DisplaySearch1.TypesSelected = string.Format("These Locations Specify The \"{0}\" Applicability", cfg.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -1187,7 +1136,7 @@ namespace VEPROMS
|
|||||||
bsApples.DataSource = null;
|
bsApples.DataSource = null;
|
||||||
bsApples.DataSource = _Apples;
|
bsApples.DataSource = _Apples;
|
||||||
// C2018-010: When removing an applicability, info on right side still contains old content. Do refreshes and reset datasource to fix this.
|
// C2018-010: When removing an applicability, info on right side still contains old content. Do refreshes and reset datasource to fix this.
|
||||||
this.lbApplicabilities.Refresh();
|
lbApplicabilities.Refresh();
|
||||||
|
|
||||||
if (_Apples != null && _Apples.Count > 0)
|
if (_Apples != null && _Apples.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -1204,12 +1153,9 @@ namespace VEPROMS
|
|||||||
dlgPL.ShowDialog();
|
dlgPL.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnEnhanced_Click(object sender, EventArgs e)
|
private void btnEnhanced_Click(object sender, EventArgs e) => ProcessButtonClick(tiEnhanced, btnEnhanced);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiEnhanced, btnEnhanced);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void lbEnhanced_SelectedIndexChanged(object sender, EventArgs e)
|
private void lbEnhanced_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!_Initializing && lbEnhanced.SelectedIndex > -1 && !doingNew)
|
if (!_Initializing && lbEnhanced.SelectedIndex > -1 && !doingNew)
|
||||||
{
|
{
|
||||||
@@ -1225,12 +1171,14 @@ namespace VEPROMS
|
|||||||
_Initializing = true;
|
_Initializing = true;
|
||||||
doingNew = true;
|
doingNew = true;
|
||||||
|
|
||||||
// the 'New' button is only enabled for Source documents.
|
// the 'New' button is only enabled for Source documents.
|
||||||
EnhancedMiniConfig cfg = new EnhancedMiniConfig();
|
EnhancedMiniConfig cfg = new EnhancedMiniConfig
|
||||||
cfg.Name = "New Enhanced";
|
{
|
||||||
|
Name = "New Enhanced"
|
||||||
|
};
|
||||||
|
|
||||||
// need to have a unique number for this enhanced link, find largest and then increment by 1.
|
// need to have a unique number for this enhanced link, find largest and then increment by 1.
|
||||||
int maxtype = -1;
|
int maxtype = -1;
|
||||||
|
|
||||||
if (_DocVersionConfig.MyEnhancedDocuments != null && _DocVersionConfig.MyEnhancedDocuments.Count > 0)
|
if (_DocVersionConfig.MyEnhancedDocuments != null && _DocVersionConfig.MyEnhancedDocuments.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -1451,40 +1399,36 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region (General Tab)
|
#region (General Tab)
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the General button used on the button interface design
|
/// This is the General button used on the button interface design
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnGeneral_Click(object sender, EventArgs e)
|
private void btnGeneral_Click(object sender, EventArgs e) => ProcessButtonClick(tiGeneral, btnGeneral);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region (Referenced Objects)
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This is the Referenced Objects button used on the button interface design
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender">object</param>
|
||||||
|
/// <param name="e">EventArgs</param>
|
||||||
|
private void btnRefObjs_Click(object sender, EventArgs e) => ProcessButtonClick(tiRefObjs, btnRefObjs);
|
||||||
|
|
||||||
|
private void btnRoDbProperties_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ProcessButtonClick(tiGeneral, btnGeneral);
|
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, SelectedROFst?.MyRODb)
|
||||||
}
|
{
|
||||||
|
ParentLocation = Location
|
||||||
|
};
|
||||||
|
|
||||||
#endregion
|
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
||||||
|
|
||||||
#region (Referenced Objects)
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// This is the Referenced Objects button used on the button interface design
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender">object</param>
|
|
||||||
/// <param name="e">EventArgs</param>
|
|
||||||
private void btnRefObjs_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
ProcessButtonClick(tiRefObjs, btnRefObjs);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void btnRoDbProperties_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
frmRODbProperties dlgROProperties = new frmRODbProperties(_DocVersionConfig.MyDocVersion, SelectedROFst == null ? null : SelectedROFst.MyRODb);
|
|
||||||
dlgROProperties.ParentLocation = Location;
|
|
||||||
|
|
||||||
if (dlgROProperties.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
{
|
||||||
tbRoDb.Text = string.Format("{0} ({1})", SelectedROFst.MyRODb.ROName, SelectedROFst.MyRODb.FolderPath);
|
tbRoDb.Text = $"{SelectedROFst.MyRODb.ROName} ({SelectedROFst.MyRODb.FolderPath})";
|
||||||
// only allow update if association, and the RO update was not done and/or not completed
|
// only allow update if association, and the RO update was not done and/or not completed
|
||||||
ppBtnUpRoVals.Enabled = !_DocVersionConfig.MyDocVersion.ROfstLastCompleted || _DocVersionConfig.MyDocVersion.NewerRoFst;
|
ppBtnUpRoVals.Enabled = !_DocVersionConfig.MyDocVersion.ROfstLastCompleted || _DocVersionConfig.MyDocVersion.NewerRoFst;
|
||||||
}
|
}
|
||||||
@@ -1521,7 +1465,7 @@ namespace VEPROMS
|
|||||||
if (!File.Exists(rofstPath))
|
if (!File.Exists(rofstPath))
|
||||||
{
|
{
|
||||||
FinalProgressBarMessage = "No existing RO.FST";
|
FinalProgressBarMessage = "No existing RO.FST";
|
||||||
MessageBox.Show("No existing ro.fst in path " + rdi.FolderPath + ". Check for invalid path", "No existing RO.FST"); //B2017-125 added title to messagebox
|
MessageBox.Show($"No existing ro.fst in path {rdi.FolderPath}. Check for invalid path", "No existing RO.FST"); //B2017-125 added title to messagebox
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1581,29 +1525,26 @@ namespace VEPROMS
|
|||||||
private void ContentInfo_StaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
|
private void ContentInfo_StaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
|
||||||
{
|
{
|
||||||
if (args.Type == "RO")
|
if (args.Type == "RO")
|
||||||
swROUpdate.Write(string.Format("Fixed Referenced Object for {1}({4}){0}Old Text: {2}{0}New Text: {3}{0}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID));
|
swROUpdate.Write($"Fixed Referenced Object for {(sender as ItemInfo).ShortPath}({(sender as ItemInfo).ItemID}){Environment.NewLine}Old Text: {args.OldValue}{Environment.NewLine}New Text: {args.NewValue}{Environment.NewLine}{Environment.NewLine}");
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region (Output Settings)
|
#region (Output Settings)
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the Output Settings button used on the button interface design
|
/// This is the Output Settings button used on the button interface design
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnOutputSettings_Click(object sender, EventArgs e)
|
private void btnOutputSettings_Click(object sender, EventArgs e) => ProcessButtonClick(tiOutputSettings, btnOutputSettings);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiOutputSettings, btnOutputSettings);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Selection in Watermark combo box changed.
|
/// Selection in Watermark combo box changed.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void ppCmbxWatermark_SelectedValueChanged(object sender, EventArgs e)
|
private void ppCmbxWatermark_SelectedValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!_Initializing)
|
if (!_Initializing)
|
||||||
{
|
{
|
||||||
@@ -1889,26 +1830,6 @@ namespace VEPROMS
|
|||||||
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Process a change in the combo box selection
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="cmbx">Combo Box Name</param>
|
|
||||||
/// <param name="defstr">string containing default text</param>
|
|
||||||
/// <param name="button">button to reset to default value</param>
|
|
||||||
/// <param name="deflabel">label containing the default</param>
|
|
||||||
private void ProcessCmbxSelectedValueChange(ComboBoxEx cmbx, string defstr, ButtonX button, Label deflabel)
|
|
||||||
{
|
|
||||||
if (cmbx.SelectedIndex > -1 && !string.IsNullOrEmpty(defstr) && defstr.Equals(cmbx.SelectedValue))
|
|
||||||
{
|
|
||||||
button.Visible = true;
|
|
||||||
button.Focus();
|
|
||||||
button.PerformClick();
|
|
||||||
}
|
|
||||||
|
|
||||||
button.Visible = cmbx.SelectedValue != null;
|
|
||||||
deflabel.Visible = ppCbShwDefSettings.Checked && button.Visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Set the watermark and default label
|
/// Set the watermark and default label
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1925,34 +1846,28 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region (MergedOutputSettings)
|
#region (MergedOutputSettings)
|
||||||
|
|
||||||
private void btnMergedOutputSettngs_Click(object sender, EventArgs e)
|
private void btnMergedOutputSettngs_Click(object sender, EventArgs e) => ProcessButtonClick(tiMergedOutputSettings, btnMergedOutputSettngs);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiMergedOutputSettings, btnMergedOutputSettngs);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Library Documents
|
#region Library Documents
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is the Library Documents button used on the button interface design
|
/// This is the Library Documents button used on the button interface design
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">object</param>
|
/// <param name="sender">object</param>
|
||||||
/// <param name="e">EventArgs</param>
|
/// <param name="e">EventArgs</param>
|
||||||
private void btnLibDocs_Click(object sender, EventArgs e)
|
private void btnLibDocs_Click(object sender, EventArgs e) => ProcessButtonClick(tiLibDocs, btnLibDocs);
|
||||||
{
|
|
||||||
ProcessButtonClick(tiLibDocs, btnLibDocs);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private void tbRoDb_TextChanged(object sender, EventArgs e)
|
private void tbRoDb_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1972,10 +1887,7 @@ namespace VEPROMS
|
|||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
private static int lastindex = 0;
|
private static int lastindex = 0;
|
||||||
|
private int _index;
|
||||||
private bool _isDeleted;
|
|
||||||
private bool _isDirty;
|
|
||||||
private int _index;
|
|
||||||
private int _versionID;
|
private int _versionID;
|
||||||
private string _versionPathName;
|
private string _versionPathName;
|
||||||
private string _name;
|
private string _name;
|
||||||
@@ -1983,25 +1895,17 @@ namespace VEPROMS
|
|||||||
private string _pdfToken;
|
private string _pdfToken;
|
||||||
private string _pdfXOffset;
|
private string _pdfXOffset;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public bool IsDeleted
|
public bool IsDeleted { get; set; }
|
||||||
{
|
|
||||||
get { return _isDeleted; }
|
|
||||||
set { _isDeleted = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public bool IsDirty
|
public bool IsDirty { get; set; }
|
||||||
{
|
|
||||||
get { return _isDirty; }
|
|
||||||
set { _isDirty = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlAttribute("index")]
|
[XmlAttribute("index")]
|
||||||
public int Index
|
public int Index
|
||||||
{
|
{
|
||||||
get { return _index; }
|
get { return _index; }
|
||||||
@@ -2063,10 +1967,10 @@ namespace VEPROMS
|
|||||||
_type = string.Empty;
|
_type = string.Empty;
|
||||||
_pdfToken = string.Empty;
|
_pdfToken = string.Empty;
|
||||||
_pdfXOffset = string.Empty;
|
_pdfXOffset = string.Empty;
|
||||||
_isDirty = false;
|
IsDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EnhancedMiniConfig(int index, int versionid, string id, string versionPathName, string name, string type, string pdftoken, string pdfxoffset)
|
public EnhancedMiniConfig(int index, int versionid, string versionPathName, string name, string type, string pdftoken, string pdfxoffset)
|
||||||
{
|
{
|
||||||
_index = index;
|
_index = index;
|
||||||
_versionID = versionid;
|
_versionID = versionid;
|
||||||
@@ -2075,20 +1979,17 @@ namespace VEPROMS
|
|||||||
_type = type;
|
_type = type;
|
||||||
_pdfToken = pdftoken;
|
_pdfToken = pdftoken;
|
||||||
_pdfXOffset = pdfxoffset;
|
_pdfXOffset = pdfxoffset;
|
||||||
_isDirty = false;
|
IsDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString() => Name;
|
||||||
{
|
|
||||||
return Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -2101,10 +2002,7 @@ namespace VEPROMS
|
|||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
private static int lastindex = 0;
|
private static int lastindex = 0;
|
||||||
|
private int _index;
|
||||||
private bool _isDeleted;
|
|
||||||
private bool _isDirty;
|
|
||||||
private int _index;
|
|
||||||
private string _iD;
|
private string _iD;
|
||||||
private string _name;
|
private string _name;
|
||||||
private string _number;
|
private string _number;
|
||||||
@@ -2117,25 +2015,17 @@ namespace VEPROMS
|
|||||||
private string _otherNumber;
|
private string _otherNumber;
|
||||||
private string _otherText;
|
private string _otherText;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public bool IsDeleted
|
public bool IsDeleted { get; set; }
|
||||||
{
|
|
||||||
get { return _isDeleted; }
|
|
||||||
set { _isDeleted = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public bool IsDirty
|
public bool IsDirty { get; set; }
|
||||||
{
|
|
||||||
get { return _isDirty; }
|
|
||||||
set { _isDirty = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
[XmlAttribute("index")]
|
[XmlAttribute("index")]
|
||||||
public int Index
|
public int Index
|
||||||
{
|
{
|
||||||
get { return _index; }
|
get { return _index; }
|
||||||
@@ -2237,7 +2127,7 @@ namespace VEPROMS
|
|||||||
_otherName = string.Empty;
|
_otherName = string.Empty;
|
||||||
_otherNumber = string.Empty;
|
_otherNumber = string.Empty;
|
||||||
_otherText = string.Empty;
|
_otherText = string.Empty;
|
||||||
_isDirty = false;
|
IsDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MiniConfig(int index, string id, string name, string number, string text, string procedurenumber, string setid, string setname, string otherid, string othername, string othernumber, string othertext)
|
public MiniConfig(int index, string id, string name, string number, string text, string procedurenumber, string setid, string setname, string otherid, string othername, string othernumber, string othertext)
|
||||||
@@ -2254,25 +2144,19 @@ namespace VEPROMS
|
|||||||
_otherName = othername;
|
_otherName = othername;
|
||||||
_otherNumber = othernumber;
|
_otherNumber = othernumber;
|
||||||
_otherText = othertext;
|
_otherText = othertext;
|
||||||
_isDirty = false;
|
IsDirty = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString() => Name;
|
||||||
{
|
|
||||||
return Name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string MyXml
|
public string MyXml => GenericSerializer<MiniConfig>.StringSerialize(this);
|
||||||
{
|
|
||||||
get { return GenericSerializer<MiniConfig>.StringSerialize(this); }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -11,35 +9,23 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class AnnotationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class AnnotationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
private XMLProperties _Xp;
|
private readonly XMLProperties _Xp;
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
public AnnotationConfig(string xml)
|
public AnnotationConfig(string xml)
|
||||||
{
|
{
|
||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AnnotationConfig()
|
public AnnotationConfig() => _Xp = new XMLProperties();
|
||||||
{
|
public override string ToString()
|
||||||
_Xp = new XMLProperties();
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
public string GetValue(string group, string item)
|
public string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
public void SetValue(string group, string item, string newvalue) => _Xp[group, item] = newvalue;
|
||||||
return _Xp[group, item];
|
|
||||||
}
|
|
||||||
public void SetValue(string group, string item, string newvalue)
|
|
||||||
{
|
|
||||||
_Xp[group, item] = newvalue;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -9,12 +7,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class AnnotationTypeConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class AnnotationTypeConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
private XMLProperties _Xp;
|
private readonly XMLProperties _Xp;
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
public AnnotationTypeConfig(string xml)
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
public AnnotationTypeConfig(string xml)
|
|
||||||
{
|
{
|
||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
@@ -48,16 +43,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["PrintableText", "XLocation"];
|
string s = _Xp["PrintableText", "XLocation"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -9,21 +7,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class AssociationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class AssociationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _Association == null;
|
||||||
{
|
#endregion
|
||||||
get { return _Association == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private Association _Association;
|
private readonly Association _Association;
|
||||||
public AssociationConfig(Association association)
|
public AssociationConfig(Association association)
|
||||||
{
|
{
|
||||||
_Association = association;
|
_Association = association;
|
||||||
@@ -31,7 +22,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
private AssociationInfo _AssociationInfo;
|
private readonly AssociationInfo _AssociationInfo;
|
||||||
public AssociationConfig(AssociationInfo association)
|
public AssociationConfig(AssociationInfo association)
|
||||||
{
|
{
|
||||||
_AssociationInfo = association;
|
_AssociationInfo = association;
|
||||||
@@ -39,24 +30,17 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
public AssociationConfig(string xml)
|
public AssociationConfig(string xml) => _Xp = new XMLProperties(xml);
|
||||||
{
|
public AssociationConfig()
|
||||||
_Xp = new XMLProperties(xml);
|
|
||||||
}
|
|
||||||
public AssociationConfig()
|
|
||||||
{
|
{
|
||||||
string xml = "<Config/>";
|
string xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
internal string GetValue(string group, string item)
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
public Association MyAssociation => _Association;
|
||||||
}
|
#region RODefaults // From proc.ini
|
||||||
#endregion
|
[Category("Referenced Objects")]
|
||||||
public Association MyAssociation
|
|
||||||
{ get { return _Association; } }
|
|
||||||
#region RODefaults // From proc.ini
|
|
||||||
[Category("Referenced Objects")]
|
|
||||||
[DisplayName("Default RO Prefix")]
|
[DisplayName("Default RO Prefix")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
[Description("Setpoint Prefix")]
|
[Description("Setpoint Prefix")]
|
||||||
@@ -146,9 +130,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
|
||||||
@@ -8,9 +7,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
public static class ColorConfig
|
public static class ColorConfig
|
||||||
{
|
{
|
||||||
private static Regex byARGB = new Regex(@"Color \[A=([0-9]*), R=([0-9]*), G=([0-9]*), B=([0-9]*)\]");
|
private static readonly Regex byARGB = new Regex(@"Color \[A=([0-9]*), R=([0-9]*), G=([0-9]*), B=([0-9]*)\]");
|
||||||
private static Regex byName = new Regex(@"Color \[(.*)\]");
|
private static readonly Regex byName = new Regex(@"Color \[(.*)\]");
|
||||||
private static Regex byRGB = new Regex(@"[0-9]*,[0-9]*,[0-9]*");
|
private static readonly Regex byRGB = new Regex(@"[0-9]*,[0-9]*,[0-9]*");
|
||||||
public static Color ColorFromString(string sColor)
|
public static Color ColorFromString(string sColor)
|
||||||
{
|
{
|
||||||
if (sColor == string.Empty) return Color.Empty;
|
if (sColor == string.Empty) return Color.Empty;
|
||||||
@@ -59,12 +58,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return ConvertRGBToName[tmp.Name];
|
return ConvertRGBToName[tmp.Name];
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
public static Color FindKnownColor(Color tmp)
|
public static Color FindKnownColor(Color tmp) => ConvertRGBToName.ContainsKey(tmp.Name) ? ConvertRGBToName[tmp.Name] : tmp;
|
||||||
{
|
|
||||||
if (ConvertRGBToName.ContainsKey(tmp.Name))
|
|
||||||
return ConvertRGBToName[tmp.Name];
|
|
||||||
return tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,8 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using DescriptiveEnum;
|
using DescriptiveEnum;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
//class ConfigEnum
|
|
||||||
//{
|
|
||||||
//C2022-004 Added option for Unit Specific Watermark
|
//C2022-004 Added option for Unit Specific Watermark
|
||||||
[TypeConverter(typeof(EnumDescConverter))]
|
[TypeConverter(typeof(EnumDescConverter))]
|
||||||
public enum PrintWatermark : int
|
public enum PrintWatermark : int
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
@@ -12,15 +8,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class DocumentConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class DocumentConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region XML
|
#region XML
|
||||||
private XMLProperties _Xp;
|
private readonly XMLProperties _Xp;
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
public Document _Document;
|
public Document _Document;
|
||||||
private DocumentInfo _DocumentInfo;
|
private readonly DocumentInfo _DocumentInfo;
|
||||||
public DocumentConfig(Document document)
|
public DocumentConfig(Document document)
|
||||||
{
|
{
|
||||||
_Document = document;
|
_Document = document;
|
||||||
@@ -35,13 +27,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
internal string GetValue(string group, string item)
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
#region Properties
|
||||||
}
|
[Category("General")]
|
||||||
#endregion
|
|
||||||
#region Properties
|
|
||||||
[Category("General")]
|
|
||||||
[DisplayName("Name")]
|
[DisplayName("Name")]
|
||||||
[Description("Name")]
|
[Description("Name")]
|
||||||
public string Name
|
public string Name
|
||||||
@@ -100,48 +89,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("History_OriginalFileName");
|
OnPropertyChanged("History_OriginalFileName");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// RHM 20110415 - These are now stored in the PDF table.
|
|
||||||
//[Category("Printing")]
|
|
||||||
//[DisplayName("Length")]
|
|
||||||
//[Description("Length of Document in Full and Partial Pages")]
|
|
||||||
//public float Printing_Length
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Printing", "Length"];// get the saved value
|
|
||||||
|
|
||||||
// return float.Parse(s);
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Printing", "Length"] = string.Format("{0:0.0000}", value);
|
|
||||||
// OnPropertyChanged("Printing_Length");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//[Category("Printing")]
|
|
||||||
//[DisplayName("Color")]
|
|
||||||
//[Description("Color of Document Text")]
|
|
||||||
//public Color Printing_Color
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string sColor = _Xp["Printing", "Color"];
|
|
||||||
// return ColorConfig.ColorFromString(sColor);
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Printing", "Color"] = value.ToString();
|
|
||||||
// OnPropertyChanged("Printing_Color");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region ToString
|
#region ToString
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,13 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
using System.Xml.Schema;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
public class DynamicPropertyDescriptor : PropertyDescriptor
|
public class DynamicPropertyDescriptor : PropertyDescriptor
|
||||||
{
|
{
|
||||||
private PropertyDescriptor _BasePropertyDescriptor;
|
private readonly PropertyDescriptor _BasePropertyDescriptor;
|
||||||
private ConfigDynamicTypeDescriptor _Instance;
|
private readonly ConfigDynamicTypeDescriptor _Instance;
|
||||||
|
|
||||||
public DynamicPropertyDescriptor(ConfigDynamicTypeDescriptor instance, PropertyDescriptor basePropertyDescriptor)
|
public DynamicPropertyDescriptor(ConfigDynamicTypeDescriptor instance, PropertyDescriptor basePropertyDescriptor)
|
||||||
: base(basePropertyDescriptor)
|
: base(basePropertyDescriptor)
|
||||||
@@ -37,16 +33,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{ _BasePropertyDescriptor.SetValue(component, value); }
|
{ _BasePropertyDescriptor.SetValue(component, value); }
|
||||||
}
|
}
|
||||||
[Serializable()]
|
[Serializable()]
|
||||||
public class ConfigDynamicTypeDescriptor //: ICustomTypeDescriptor//, ISupportInitialize
|
public class ConfigDynamicTypeDescriptor
|
||||||
{
|
{
|
||||||
#region Events
|
#region Events
|
||||||
public event PropertyChangedEventHandler PropertyChanged;
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
protected void OnPropertyChanged(String info)
|
protected void OnPropertyChanged(String info)
|
||||||
{
|
{
|
||||||
_IsDirty = true;
|
_IsDirty = true;
|
||||||
if (PropertyChanged != null)
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(info));
|
||||||
PropertyChanged(this, new PropertyChangedEventArgs(info));
|
}
|
||||||
}
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
private bool _IsDirty = false;
|
private bool _IsDirty = false;
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
@@ -57,54 +52,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { _IsDirty = value; }
|
set { _IsDirty = value; }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
[NonSerialized]
|
|
||||||
private PropertyDescriptorCollection dynamicProps;
|
|
||||||
private bool _IsReadOnly = false;
|
private bool _IsReadOnly = false;
|
||||||
internal virtual bool IsReadOnly
|
internal virtual bool IsReadOnly
|
||||||
{
|
{
|
||||||
get { return _IsReadOnly; }
|
get { return _IsReadOnly; }
|
||||||
set { _IsReadOnly = value; }
|
set { _IsReadOnly = value; }
|
||||||
}
|
}
|
||||||
public ConfigDynamicTypeDescriptor() { }
|
|
||||||
#region "TypeDescriptor Implementation"
|
|
||||||
public String GetClassName()
|
|
||||||
{ return TypeDescriptor.GetClassName(this, true); }
|
|
||||||
public AttributeCollection GetAttributes()
|
|
||||||
{ return TypeDescriptor.GetAttributes(this, true); }
|
|
||||||
public String GetComponentName()
|
|
||||||
{ return TypeDescriptor.GetComponentName(this, true); }
|
|
||||||
public TypeConverter GetConverter()
|
|
||||||
{ return TypeDescriptor.GetConverter(this, true); }
|
|
||||||
public EventDescriptor GetDefaultEvent()
|
|
||||||
{ return TypeDescriptor.GetDefaultEvent(this, true); }
|
|
||||||
public PropertyDescriptor GetDefaultProperty()
|
|
||||||
{ return TypeDescriptor.GetDefaultProperty(this, true); }
|
|
||||||
public object GetEditor(Type editorBaseType)
|
|
||||||
{ return TypeDescriptor.GetEditor(this, editorBaseType, true); }
|
|
||||||
public EventDescriptorCollection GetEvents(Attribute[] attributes)
|
|
||||||
{ return TypeDescriptor.GetEvents(this, attributes, true); }
|
|
||||||
public EventDescriptorCollection GetEvents()
|
|
||||||
{ return TypeDescriptor.GetEvents(this, true); }
|
|
||||||
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
|
|
||||||
{
|
|
||||||
return GetProperties();
|
|
||||||
}
|
|
||||||
public PropertyDescriptorCollection GetProperties()
|
|
||||||
{
|
|
||||||
if (dynamicProps == null)
|
|
||||||
{
|
|
||||||
PropertyDescriptorCollection baseProps = TypeDescriptor.GetProperties(this, true);
|
|
||||||
dynamicProps = new PropertyDescriptorCollection(null);
|
|
||||||
|
|
||||||
foreach (PropertyDescriptor oProp in baseProps)
|
|
||||||
{
|
|
||||||
dynamicProps.Add(new DynamicPropertyDescriptor(this, oProp));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return dynamicProps;
|
|
||||||
}
|
|
||||||
public object GetPropertyOwner(PropertyDescriptor pd)
|
|
||||||
{ return this; }
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
|
||||||
using System.Drawing.Design;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
@@ -97,26 +95,26 @@ namespace DescriptiveEnum
|
|||||||
|
|
||||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
|
||||||
{
|
{
|
||||||
if(value is Enum && destinationType == typeof(string))
|
if(value is Enum myenum && destinationType == typeof(string))
|
||||||
{
|
{
|
||||||
return EnumDescConverter.GetEnumDescription((Enum)value);
|
return EnumDescConverter.GetEnumDescription(myenum);
|
||||||
}
|
}
|
||||||
if(value is string && destinationType == typeof(string))
|
if(value is string mystr && destinationType == typeof(string))
|
||||||
{
|
{
|
||||||
return EnumDescConverter.GetEnumDescription(myVal, (string)value);
|
return EnumDescConverter.GetEnumDescription(myVal, mystr);
|
||||||
}
|
}
|
||||||
return base.ConvertTo (context, culture, value, destinationType);
|
return base.ConvertTo (context, culture, value, destinationType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
|
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
|
||||||
{
|
{
|
||||||
if(value is string)
|
if(value is string mystr)
|
||||||
{
|
{
|
||||||
return EnumDescConverter.GetEnumValue(myVal, (string)value);
|
return EnumDescConverter.GetEnumValue(myVal, mystr);
|
||||||
}
|
}
|
||||||
if(value is Enum)
|
if(value is Enum myenum)
|
||||||
{
|
{
|
||||||
return EnumDescConverter.GetEnumDescription((Enum)value);
|
return EnumDescConverter.GetEnumDescription(myenum);
|
||||||
}
|
}
|
||||||
return base.ConvertFrom (context, culture, value);
|
return base.ConvertFrom (context, culture, value);
|
||||||
}
|
}
|
||||||
@@ -125,7 +123,8 @@ namespace DescriptiveEnum
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0059:Unnecessary assignment of a value", Justification = "Keeping attributes for future extensions")]
|
||||||
|
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
|
||||||
{
|
{
|
||||||
ArrayList values = new ArrayList();
|
ArrayList values = new ArrayList();
|
||||||
FieldInfo[] fis = myVal.GetFields();
|
FieldInfo[] fis = myVal.GetFields();
|
||||||
@@ -133,7 +132,6 @@ namespace DescriptiveEnum
|
|||||||
{
|
{
|
||||||
DescriptionAttribute[] attributes =(DescriptionAttribute[])fi.GetCustomAttributes(
|
DescriptionAttribute[] attributes =(DescriptionAttribute[])fi.GetCustomAttributes(
|
||||||
typeof(DescriptionAttribute), false);
|
typeof(DescriptionAttribute), false);
|
||||||
//if (attributes.Length > 0)
|
|
||||||
if (fi.Name != "value__")
|
if (fi.Name != "value__")
|
||||||
values.Add(fi.GetValue(fi.Name));
|
values.Add(fi.GetValue(fi.Name));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
@@ -8,23 +6,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
public class EnumDetail<T>
|
public class EnumDetail<T>
|
||||||
{
|
{
|
||||||
private T _EValue;
|
public T EValue { get; set; }
|
||||||
public T EValue
|
|
||||||
{
|
|
||||||
get { return _EValue; }
|
|
||||||
set { _EValue = value; }
|
|
||||||
}
|
|
||||||
private string _Name;
|
|
||||||
|
|
||||||
public string Name
|
public string Name { get; set; }
|
||||||
|
public EnumDetail(string name, T eValue)
|
||||||
{
|
{
|
||||||
get { return _Name; }
|
Name = name;
|
||||||
set { _Name = value; }
|
EValue = eValue;
|
||||||
}
|
|
||||||
public EnumDetail(string name, T eValue)
|
|
||||||
{
|
|
||||||
_Name = name;
|
|
||||||
_EValue = eValue;
|
|
||||||
}
|
}
|
||||||
public static EnumDetail<T>[] Details()
|
public static EnumDetail<T>[] Details()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,29 +1,18 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using DescriptiveEnum;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
[Serializable]
|
[Serializable]
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
//public class FolderConfig : INotifyPropertyChanged
|
|
||||||
public class FolderConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class FolderConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _Folder == null;
|
||||||
{
|
#endregion
|
||||||
get { return _Folder == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
//PROPGRID: Hide ParentLookup
|
//PROPGRID: Hide ParentLookup
|
||||||
@@ -33,19 +22,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return _Xp.ParentLookup; }
|
get { return _Xp.ParentLookup; }
|
||||||
set { _Xp.ParentLookup = value; }
|
set { _Xp.ParentLookup = value; }
|
||||||
}
|
}
|
||||||
//PROPGRID: Hide AncestorLookup
|
private readonly Folder _Folder;
|
||||||
//PROPGRID: Needed to comment out [NonSerialized] in order to hide this field from the property grid
|
private readonly FolderInfo _FolderInfo;
|
||||||
//[NonSerialized]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//private bool _AncestorLookup;
|
|
||||||
//[Browsable(false)]
|
|
||||||
//public bool AncestorLookup
|
|
||||||
//{
|
|
||||||
// get { return _AncestorLookup; }
|
|
||||||
// set { _AncestorLookup = value; }
|
|
||||||
//}
|
|
||||||
private Folder _Folder;
|
|
||||||
private FolderInfo _FolderInfo;
|
|
||||||
public FolderConfig(Folder folder)
|
public FolderConfig(Folder folder)
|
||||||
{
|
{
|
||||||
_Folder = folder;
|
_Folder = folder;
|
||||||
@@ -75,18 +53,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//private string Xp_LookInAncestorFolderInfo(object sender, XMLPropertiesArgs args)
|
|
||||||
//{
|
|
||||||
// if (args.AncestorLookup || ParentLookup)
|
|
||||||
// {
|
|
||||||
// for (FolderInfo folder = _FolderInfo.MyParent; folder != null; folder = folder.MyParent)
|
|
||||||
// {
|
|
||||||
// string retval = folder.FolderConfig.GetValue(args.Group, args.Item);
|
|
||||||
// if (retval != string.Empty) return retval;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return string.Empty;
|
|
||||||
//}
|
|
||||||
public FolderConfig(FolderInfo folderInfo)
|
public FolderConfig(FolderInfo folderInfo)
|
||||||
{
|
{
|
||||||
_FolderInfo = folderInfo;
|
_FolderInfo = folderInfo;
|
||||||
@@ -100,21 +66,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
public FolderConfig()
|
public FolderConfig() => _Xp = new XMLProperties("<Config/>");
|
||||||
{
|
public string GetValue(string group, string item) => _Xp[group, item];
|
||||||
_Xp = new XMLProperties("<Config/>");
|
public void SetValue(string group, string item, string newvalue) => _Xp[group, item] = newvalue;
|
||||||
}
|
#endregion
|
||||||
public string GetValue(string group, string item)
|
#region Local Properties
|
||||||
{
|
[Category("General")]
|
||||||
return _Xp[group, item];
|
|
||||||
}
|
|
||||||
public void SetValue(string group, string item, string newvalue)
|
|
||||||
{
|
|
||||||
_Xp[group, item] = newvalue;
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
[Category("General")]
|
|
||||||
[DisplayName("Name")]
|
[DisplayName("Name")]
|
||||||
[Description("Name")]
|
[Description("Name")]
|
||||||
public string Name
|
public string Name
|
||||||
@@ -189,7 +146,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (_Folder != null)
|
if (_Folder != null)
|
||||||
{
|
{
|
||||||
_Folder.MyFormat = FormatList.ToFormat(value);
|
_Folder.MyFormat = FormatList.ToFormat(value);
|
||||||
//_Folder.ActiveFormat = null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -206,24 +162,17 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public Folder MyFolder
|
public Folder MyFolder => _Folder;
|
||||||
{ get { return _Folder; } }
|
public FolderInfo MyFolderInfo => _FolderInfo;
|
||||||
public FolderInfo MyFolderInfo
|
#endregion
|
||||||
{ get { return _FolderInfo; } }
|
#region ToString
|
||||||
#endregion
|
public override string ToString()
|
||||||
#region ToString
|
|
||||||
public override string ToString()
|
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
#region GraphicsCategory // From veproms.ini
|
||||||
#region GraphicsCategory // From veproms.ini
|
|
||||||
public bool CanWrite(string str)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
[Category("Referenced Objects")]
|
[Category("Referenced Objects")]
|
||||||
[DisplayName("Graphic File Extension")]
|
[DisplayName("Graphic File Extension")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -304,103 +253,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
//#region ColorCategory // From veproms.ini
|
|
||||||
//// ** Note that not all possibilities from 16-bit will be added here, until
|
|
||||||
//// ** it is determined how these will be used
|
|
||||||
//// ** If this is used (unhidden), then we need to add logic to blank setting if the value
|
|
||||||
//// ** we are saving is the same as the parent's value.
|
|
||||||
|
|
||||||
////PROPGRID: Hide Editor Color for ROs
|
|
||||||
//[Category("Editor Settings")]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//[DisplayName("Step Editor Colors - Referenced Objects")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Color used to highlight an RO in procedure text")]
|
|
||||||
//public string Color_ro
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Color", "ro"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Color", "ro"] = value;
|
|
||||||
// OnPropertyChanged("Color_ro");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
////PROPGRID: Hide Editor Color for Transitions
|
|
||||||
//[Category("Editor Settings")]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//[DisplayName("Step Editor Colors - Transitions")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Color used to highlight a Transition in procedure text")]
|
|
||||||
//public string Color_transition
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Color", "transition"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Color", "transition"] = value;
|
|
||||||
// OnPropertyChanged("Color_transition");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
////PROPGRID: Hide Active Text Background Color
|
|
||||||
//[Category("Editor Settings")]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//[DisplayName("Step Editor Colors - Active Background")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("editbackground")]
|
|
||||||
//public string Color_editbackground
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Color", "editbackground"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Color", "editbackground"] = value;
|
|
||||||
// OnPropertyChanged("Color_editbackground");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
////PROPGRID: Hide color setting for Black
|
|
||||||
//[Category("Color")]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//[DisplayName("black")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("black")]
|
|
||||||
//public string Color_black
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Color", "black"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Color", "black"] = value;
|
|
||||||
// OnPropertyChanged("Color_black");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
////PROPGRID: Hide Color Setting for Blue
|
|
||||||
//[Category("Color")]
|
|
||||||
//[Browsable(false)]
|
|
||||||
//[DisplayName("blue")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("blue")]
|
|
||||||
//public string Color_blue
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Color", "blue"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Color", "blue"] = value;
|
|
||||||
// OnPropertyChanged("Color_blue");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//#endregion // From veproms.ini
|
|
||||||
#region SystemPrintCategory // From veproms.ini
|
#region SystemPrintCategory // From veproms.ini
|
||||||
[Category("Print Settings")]
|
[Category("Print Settings")]
|
||||||
[DisplayName("Override Underline Thickness (dots)")]
|
[DisplayName("Override Underline Thickness (dots)")]
|
||||||
@@ -635,20 +487,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region FormatCategory
|
#region FormatCategory
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum FormatColumns : int
|
|
||||||
//{
|
|
||||||
// [Description("Format Default")]
|
|
||||||
// Default = 0,
|
|
||||||
// [Description("Single Column")]
|
|
||||||
// OneColumn,
|
|
||||||
// [Description("Dual Column")]
|
|
||||||
// TwoColumn,
|
|
||||||
// [Description("Triple Column")]
|
|
||||||
// ThreeColumn,
|
|
||||||
// [Description("Quad Column")]
|
|
||||||
// FourColumns
|
|
||||||
//}
|
|
||||||
[Category("Editor Settings")]
|
[Category("Editor Settings")]
|
||||||
[DisplayName("Step Editor Columns")]
|
[DisplayName("Step Editor Columns")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -726,10 +564,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_NumCopies");
|
OnPropertyChanged("Print_NumCopies");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public enum PrintPagination : int
|
|
||||||
//{
|
|
||||||
// Free = 0, Fixed, Auto
|
|
||||||
//}
|
|
||||||
[Category("Print Settings")]
|
[Category("Print Settings")]
|
||||||
[DisplayName("Pagination")]
|
[DisplayName("Pagination")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -767,13 +601,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_Pagination");
|
OnPropertyChanged("Print_Pagination");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintWatermark : int
|
|
||||||
//{
|
|
||||||
// None = 0, Reference, Draft, Master, Sample,
|
|
||||||
// [Description("Information Only")]
|
|
||||||
// InformationOnly
|
|
||||||
//}
|
|
||||||
|
|
||||||
[Category("Print Settings")]
|
[Category("Print Settings")]
|
||||||
[DisplayName("Watermark")]
|
[DisplayName("Watermark")]
|
||||||
@@ -812,23 +639,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_Watermark");
|
OnPropertyChanged("Print_Watermark");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Change Bar Use from 16-bit code:
|
|
||||||
// No Default
|
|
||||||
// Without Change Bars
|
|
||||||
// With Default Change Bars
|
|
||||||
// With User Specified Change Bars
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBar : int
|
|
||||||
//{
|
|
||||||
// [Description("Select Before Printing")]
|
|
||||||
// SelectBeforePrinting = 0,
|
|
||||||
// [Description("Without Change Bars")]
|
|
||||||
// Without,
|
|
||||||
// [Description("With Default Change Bars")]
|
|
||||||
// WithDefault,
|
|
||||||
// [Description("Use Custom Change Bars")]
|
|
||||||
// WithUserSpecified
|
|
||||||
//}
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change Bar")]
|
[DisplayName("Change Bar")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -866,24 +676,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_ChangeBar");
|
OnPropertyChanged("Print_ChangeBar");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// User Specified Change Bar Location from16-bit code:
|
|
||||||
// With Text
|
|
||||||
// Outside Box
|
|
||||||
// AER on LEFT, RNO on Right
|
|
||||||
// To the Left of Text
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBarLoc : int
|
|
||||||
//{
|
|
||||||
// [Description("With Text")]
|
|
||||||
// WithText = 0,
|
|
||||||
// [Description("Outside Box")]
|
|
||||||
// OutsideBox,
|
|
||||||
// [Description("AER on Left RNO on Right")]
|
|
||||||
// AERleftRNOright,
|
|
||||||
// [Description("To the Left of the Text")]
|
|
||||||
// LeftOfText
|
|
||||||
//}
|
|
||||||
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change Bar Position")]
|
[DisplayName("Change Bar Position")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -922,26 +714,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change Bar Text from16-bit code:
|
|
||||||
// Date and Change ID
|
|
||||||
// Revision Number
|
|
||||||
// Change ID
|
|
||||||
// No Change Bar Message
|
|
||||||
// User Defined Message
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBarText : int
|
|
||||||
//{
|
|
||||||
// [Description("Date and Change ID")]
|
|
||||||
// DateChgID = 0,
|
|
||||||
// [Description("Revision Number")]
|
|
||||||
// RevNum,
|
|
||||||
// [Description("Change ID")]
|
|
||||||
// ChgID,
|
|
||||||
// [Description("No Change Bar Text")]
|
|
||||||
// None,
|
|
||||||
// [Description("Custom Change Bar Text")]
|
|
||||||
// UserDef
|
|
||||||
//}
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change bar Text Type")]
|
[DisplayName("Change bar Text Type")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using DescriptiveEnum;
|
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
using System.Xml.Schema;
|
using System.Xml.Schema;
|
||||||
using System.Windows.Forms;
|
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
using System.Drawing;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
@@ -28,13 +23,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return false; }
|
get { return false; }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Attributes
|
#region Attributes
|
||||||
[XmlAttribute("Name")]
|
[XmlAttribute("Name")]
|
||||||
private string _Name;
|
private string _Name;
|
||||||
@@ -69,27 +57,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
#endregion Elements
|
#endregion Elements
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private Format _Format;
|
private readonly Format _Format;
|
||||||
private FormatInfo _FormatInfo;
|
private readonly FormatInfo _FormatInfo;
|
||||||
public FormatConfig(string xml)
|
public FormatConfig(FormatInfo fi) => _FormatInfo = fi;
|
||||||
{
|
public FormatConfig(Format f) => _Format = f;
|
||||||
if (xml == string.Empty) xml = "<FormatConfig/>";
|
public FormatConfig() => PlantFormat = new PlantFormatx();
|
||||||
}
|
#endregion Constructors
|
||||||
public FormatConfig(FormatInfo fi)
|
#region Serialize
|
||||||
{
|
public string ConvertToString()
|
||||||
_FormatInfo = fi;
|
|
||||||
}
|
|
||||||
public FormatConfig(Format f)
|
|
||||||
{
|
|
||||||
_Format = f;
|
|
||||||
}
|
|
||||||
public FormatConfig()
|
|
||||||
{
|
|
||||||
PlantFormat = new PlantFormatx();
|
|
||||||
}
|
|
||||||
#endregion Constructors
|
|
||||||
#region Serialize
|
|
||||||
public string ConvertToString()
|
|
||||||
{
|
{
|
||||||
return GenericSerializer<FormatConfig>.StringSerialize(this);
|
return GenericSerializer<FormatConfig>.StringSerialize(this);
|
||||||
}
|
}
|
||||||
@@ -131,11 +106,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public override string ToString()
|
public override string ToString() => "Plant Format";
|
||||||
{
|
}
|
||||||
return "Plant Format";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion PlantFormat
|
#endregion PlantFormat
|
||||||
#region FormatData
|
#region FormatData
|
||||||
// FormatData maps to the PlantFormat/Format data and contains properties & data objects that are implemented for the user to
|
// FormatData maps to the PlantFormat/Format data and contains properties & data objects that are implemented for the user to
|
||||||
@@ -202,11 +174,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
ReplaceStrData = new ReplaceStrData();
|
ReplaceStrData = new ReplaceStrData();
|
||||||
}
|
}
|
||||||
public override string ToString()
|
public override string ToString() => "Format Data";
|
||||||
{
|
}
|
||||||
return "Format Data";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion FormatData
|
#endregion FormatData
|
||||||
#region Flags
|
#region Flags
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -242,27 +211,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Editor(typeof(PropGridCollEditor), typeof(System.Drawing.Design.UITypeEditor))]
|
[Editor(typeof(PropGridCollEditor), typeof(System.Drawing.Design.UITypeEditor))]
|
||||||
public class ReplaceStrData : List<ReplaceStr>
|
public class ReplaceStrData : List<ReplaceStr>
|
||||||
{
|
{
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Capacity { get { return base.Capacity; } }
|
public new int Capacity => base.Capacity;
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Count { get { return base.Count; } }
|
public new int Count => base.Count;
|
||||||
public ReplaceStr this[int index]
|
public new ReplaceStr this[int index] => (ReplaceStr)base[index];
|
||||||
{
|
public string ConvertToString() => GenericSerializer<ReplaceStrData>.StringSerialize(this);
|
||||||
get { return (ReplaceStr)base[index]; }
|
public override string ToString() => $"Replace Words List Count = {base.Count}";
|
||||||
}
|
public static ReplaceStrData Get(string xml) => GenericSerializer<ReplaceStrData>.StringDeserialize(xml);
|
||||||
public string ConvertToString()
|
}
|
||||||
{
|
|
||||||
return GenericSerializer<ReplaceStrData>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "Replace Words List Count = " + base.Count.ToString();
|
|
||||||
}
|
|
||||||
public static ReplaceStrData Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<ReplaceStrData>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion ReplaceStrData
|
#endregion ReplaceStrData
|
||||||
#region ReplaceStr
|
#region ReplaceStr
|
||||||
|
|
||||||
@@ -303,19 +260,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public ReplaceStr()
|
public ReplaceStr()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<ReplaceStr>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => ReplaceWord;
|
||||||
return GenericSerializer<ReplaceStr>.StringSerialize(this);
|
public static ReplaceStr Get(string xml) => GenericSerializer<ReplaceStr>.StringDeserialize(xml);
|
||||||
}
|
}
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return ReplaceWord;
|
|
||||||
}
|
|
||||||
public static ReplaceStr Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<ReplaceStr>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion ReplaceStr
|
#endregion ReplaceStr
|
||||||
#region CheckOffHeaders (list)
|
#region CheckOffHeaders (list)
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -323,23 +271,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Editor(typeof(PropGridCollEditor), typeof(System.Drawing.Design.UITypeEditor))]
|
[Editor(typeof(PropGridCollEditor), typeof(System.Drawing.Design.UITypeEditor))]
|
||||||
public class CheckOffHeaderList : List<CheckOffHeader>
|
public class CheckOffHeaderList : List<CheckOffHeader>
|
||||||
{
|
{
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Capacity { get { return base.Capacity; } }
|
public new int Capacity => base.Capacity;
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Count { get { return base.Count; } }
|
public new int Count { get { return base.Count; } }
|
||||||
public CheckOffHeader this[int index]
|
public new CheckOffHeader this[int index] => (CheckOffHeader)base[index];
|
||||||
{
|
public string ConvertToString() => GenericSerializer<CheckOffHeaderList>.StringSerialize(this);
|
||||||
get { return (CheckOffHeader)base[index]; }
|
public override string ToString() => $"CheckOffHeader Count = {base.Count}";
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
|
||||||
{
|
|
||||||
return GenericSerializer<CheckOffHeaderList>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "CheckOffHeader Count = " + base.Count.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion CheckOffHeaders
|
#endregion CheckOffHeaders
|
||||||
#region CheckOffHeader
|
#region CheckOffHeader
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -382,15 +321,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public CheckOffHeader()
|
public CheckOffHeader()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<CheckOffHeader>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => CheckOffHeading;
|
||||||
return GenericSerializer<CheckOffHeader>.StringSerialize(this);
|
}
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return CheckOffHeading;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion CheckOffHeader
|
#endregion CheckOffHeader
|
||||||
#region CheckOffs (list)
|
#region CheckOffs (list)
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -399,22 +332,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class CheckOffList : List<CheckOff>
|
public class CheckOffList : List<CheckOff>
|
||||||
{
|
{
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Capacity { get { return base.Capacity; } }
|
public new int Capacity { get { return base.Capacity; } }
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Count { get { return base.Count; } }
|
public new int Count { get { return base.Count; } }
|
||||||
public CheckOff this[int index]
|
public new CheckOff this[int index] => (CheckOff)base[index];
|
||||||
{
|
public string ConvertToString() => GenericSerializer<CheckOffList>.StringSerialize(this);
|
||||||
get { return (CheckOff)base[index]; }
|
public override string ToString() => $"CheckOff Count = {base.Count}";
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
|
||||||
{
|
|
||||||
return GenericSerializer<CheckOffList>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "CheckOff Count = " + base.Count.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion CheckOffs
|
#endregion CheckOffs
|
||||||
#region CheckOff
|
#region CheckOff
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -457,15 +381,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public CheckOff()
|
public CheckOff()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<CheckOff>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => MenuItem;
|
||||||
return GenericSerializer<CheckOff>.StringSerialize(this);
|
}
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return MenuItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion CheckOff
|
#endregion CheckOff
|
||||||
#region ShwRplWds
|
#region ShwRplWds
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -508,15 +426,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public ShwRplWds()
|
public ShwRplWds()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<ShwRplWds>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => MenuItem;
|
||||||
return GenericSerializer<ShwRplWds>.StringSerialize(this);
|
}
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return MenuItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion ShwRplWds
|
#endregion ShwRplWds
|
||||||
#region StepData (list)
|
#region StepData (list)
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -525,26 +437,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class StepData : List<Step>
|
public class StepData : List<Step>
|
||||||
{
|
{
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Capacity { get { return base.Capacity; } }
|
public new int Capacity { get { return base.Capacity; } }
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Count { get { return base.Count; } }
|
public new int Count { get { return base.Count; } }
|
||||||
public Step this[int index]
|
public new Step this[int index] => (Step)base[index];
|
||||||
{
|
public string ConvertToString() => GenericSerializer<StepData>.StringSerialize(this);
|
||||||
get { return (Step)base[index]; }
|
public override string ToString() => $"Step Count = {base.Count}";
|
||||||
}
|
public static StepData Get(string xml) => GenericSerializer<StepData>.StringDeserialize(xml);
|
||||||
public string ConvertToString()
|
}
|
||||||
{
|
|
||||||
return GenericSerializer<StepData>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "Step Count = " + base.Count.ToString();
|
|
||||||
}
|
|
||||||
public static StepData Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<StepData>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion StepData
|
#endregion StepData
|
||||||
#region Step
|
#region Step
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -577,28 +477,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public Step()
|
public Step()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<Step>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => Type;
|
||||||
return GenericSerializer<Step>.StringSerialize(this);
|
public static Step Get(string xml) => GenericSerializer<Step>.StringDeserialize(xml);
|
||||||
}
|
}
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return Type;
|
|
||||||
}
|
|
||||||
public static Step Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<Step>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion Step
|
#endregion Step
|
||||||
#region FontDesc
|
#region FontDesc
|
||||||
[Serializable]
|
[Serializable]
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class FontDesc
|
public class FontDesc
|
||||||
{
|
{
|
||||||
// The Font object allows the conversion from a windows font back/forth from a string. This is how the
|
|
||||||
// data is stored in the database, i.e. a string representing the font.
|
|
||||||
private Font _Font;
|
|
||||||
[XmlAttribute("Font")]
|
[XmlAttribute("Font")]
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public string Font
|
public string Font
|
||||||
@@ -633,19 +521,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public FontDesc()
|
public FontDesc()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<FontDesc>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => "FontDescription";
|
||||||
return GenericSerializer<FontDesc>.StringSerialize(this);
|
public static FontDesc Get(string xml) => GenericSerializer<FontDesc>.StringDeserialize(xml);
|
||||||
}
|
}
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "FontDescription";
|
|
||||||
}
|
|
||||||
public static FontDesc Get(string xml)
|
|
||||||
{
|
|
||||||
return GenericSerializer<FontDesc>.StringDeserialize(xml);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion Font
|
#endregion Font
|
||||||
#region DocStyles
|
#region DocStyles
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -654,22 +533,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class DocStyles : List<DocStyle>
|
public class DocStyles : List<DocStyle>
|
||||||
{
|
{
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Capacity { get { return base.Capacity; } }
|
public new int Capacity { get { return base.Capacity; } }
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public int Count { get { return base.Count; } }
|
public new int Count { get { return base.Count; } }
|
||||||
public DocStyle this[int index]
|
public new DocStyle this[int index] => (DocStyle)base[index];
|
||||||
{
|
public string ConvertToString() => GenericSerializer<DocStyles>.StringSerialize(this);
|
||||||
get { return (DocStyle)base[index]; }
|
public override string ToString() => $"Section Type Count = {base.Count}";
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
|
||||||
{
|
|
||||||
return GenericSerializer<DocStyles>.StringSerialize(this);
|
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return "Section Type Count = " + base.Count.ToString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion DocStyles
|
#endregion DocStyles
|
||||||
#region DocStyle
|
#region DocStyle
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -702,15 +572,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public DocStyle()
|
public DocStyle()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<DocStyle>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => Name;
|
||||||
return GenericSerializer<DocStyle>.StringSerialize(this);
|
}
|
||||||
}
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return Name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endregion DocStyle
|
#endregion DocStyle
|
||||||
#region Layout
|
#region Layout
|
||||||
[Serializable]
|
[Serializable]
|
||||||
@@ -752,18 +616,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public Layout()
|
public Layout()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public string ConvertToString()
|
public string ConvertToString() => GenericSerializer<Layout>.StringSerialize(this);
|
||||||
{
|
public override string ToString() => "Layout";
|
||||||
return GenericSerializer<Layout>.StringSerialize(this);
|
#region IXmlSerializable members
|
||||||
}
|
// The read & write for these is necessary since they are within same xml element, and one may be empty, so
|
||||||
public override string ToString()
|
// no attribute should be listed in the xml.
|
||||||
{
|
public void WriteXml(XmlWriter writer)
|
||||||
return "Layout";
|
|
||||||
}
|
|
||||||
#region IXmlSerializable members
|
|
||||||
// The read & write for these is necessary since they are within same xml element, and one may be empty, so
|
|
||||||
// no attribute should be listed in the xml.
|
|
||||||
public void WriteXml(XmlWriter writer)
|
|
||||||
{
|
{
|
||||||
if (LeftMargin != null) writer.WriteAttributeString("LeftMargin", LeftMargin.ToString());
|
if (LeftMargin != null) writer.WriteAttributeString("LeftMargin", LeftMargin.ToString());
|
||||||
if (PageLength != null) writer.WriteAttributeString("PageLength", PageLength.ToString());
|
if (PageLength != null) writer.WriteAttributeString("PageLength", PageLength.ToString());
|
||||||
@@ -780,12 +638,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public XmlSchema GetSchema()
|
public XmlSchema GetSchema() => (null);
|
||||||
{
|
#endregion
|
||||||
return (null);
|
}
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
#endregion Layout
|
#endregion Layout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,21 +7,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class ImageConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class ImageConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _ImageInfo == null;
|
||||||
{
|
#endregion
|
||||||
get { return _ImageInfo == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private ImageInfo _ImageInfo;
|
private readonly ImageInfo _ImageInfo;
|
||||||
public ImageConfig(ImageInfo imageInfo)
|
public ImageConfig(ImageInfo imageInfo)
|
||||||
{
|
{
|
||||||
if (imageInfo == null)
|
if (imageInfo == null)
|
||||||
@@ -40,13 +33,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
string xml = "<Config/>";
|
string xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
internal string GetValue(string group, string item)
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
#region Local Properties
|
||||||
}
|
[Category("Image")]
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
[Category("Image")]
|
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
[DisplayName("DataSize")]
|
[DisplayName("DataSize")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -57,16 +47,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Image", "DataSize"];
|
string s = _Xp["Image", "DataSize"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -87,16 +77,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Image", "Width"];
|
string s = _Xp["Image", "Width"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -117,16 +107,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Image", "Height"];
|
string s = _Xp["Image", "Height"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -141,9 +131,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using DescriptiveEnum;
|
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -11,18 +8,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class ProcedureConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
public class ProcedureConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _Procedure == null;
|
||||||
{
|
#endregion
|
||||||
get { return _Procedure == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
//PROPGRID: Hide ParentLookup
|
//PROPGRID: Hide ParentLookup
|
||||||
@@ -32,24 +22,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return _Xp.ParentLookup; }
|
get { return _Xp.ParentLookup; }
|
||||||
set { _Xp.ParentLookup = value; }
|
set { _Xp.ParentLookup = value; }
|
||||||
}
|
}
|
||||||
//PROPGRID: Needed to comment out [NonSerialized] in order to hide AncestorLookup from property grid
|
private readonly Procedure _Procedure;
|
||||||
//[NonSerialized]
|
private readonly ProcedureInfo _ProcedureInfo;
|
||||||
//private bool _AncestorLookup;
|
|
||||||
////PROPGRID: Hide AncestorLookup
|
|
||||||
//[Browsable(false)]
|
|
||||||
//public bool AncestorLookup
|
|
||||||
//{
|
|
||||||
// get { return _AncestorLookup; }
|
|
||||||
// set { _AncestorLookup = value; }
|
|
||||||
//}
|
|
||||||
private Procedure _Procedure;
|
|
||||||
private ProcedureInfo _ProcedureInfo;
|
|
||||||
public ProcedureConfig(Procedure procedure)
|
public ProcedureConfig(Procedure procedure)
|
||||||
{
|
{
|
||||||
_Procedure = procedure;
|
_Procedure = procedure;
|
||||||
string xml = procedure.MyContent.Config;
|
string xml = procedure.MyContent.Config;
|
||||||
if (xml == string.Empty)
|
if (xml == string.Empty)
|
||||||
xml = "<Config/>";
|
xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
// Correct Slaves nodes for Parent Child
|
// Correct Slaves nodes for Parent Child
|
||||||
ValidateSlaves(_Xp.XmlContents, _Procedure.MyProcedureInfo.MyDocVersion.MultiUnitCount);
|
ValidateSlaves(_Xp.XmlContents, _Procedure.MyProcedureInfo.MyDocVersion.MultiUnitCount);
|
||||||
@@ -74,7 +54,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
for (int i = 1; i <= unitCount; i++)
|
for (int i = 1; i <= unitCount; i++)
|
||||||
{
|
{
|
||||||
XmlNode xnc = xn.SelectSingleNode(string.Format("Slave[@index='{0}']", i));
|
XmlNode xnc = xn.SelectSingleNode($"Slave[@index='{i}']");
|
||||||
if (xnc == null) // Missing Required Slave Node (index=i) - Add it.
|
if (xnc == null) // Missing Required Slave Node (index=i) - Add it.
|
||||||
{
|
{
|
||||||
XmlElement xec = xd.CreateElement("Slave");
|
XmlElement xec = xd.CreateElement("Slave");
|
||||||
@@ -98,9 +78,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
retval = proc.ProcedureConfig.GetValue(args.Group, args.Item);
|
retval = proc.ProcedureConfig.GetValue(args.Group, args.Item);
|
||||||
if (retval != string.Empty) return retval;
|
if (retval != string.Empty) return retval;
|
||||||
}
|
}
|
||||||
DocVersionInfo docVersion = proc.ActiveParent as DocVersionInfo;
|
if (!(proc.ActiveParent is DocVersionInfo docVersion)) return string.Empty;
|
||||||
if (docVersion == null) return string.Empty;
|
retval = docVersion.DocVersionConfig.GetValue(args.Group, args.Item);
|
||||||
retval = docVersion.DocVersionConfig.GetValue(args.Group, args.Item);
|
|
||||||
if (retval != string.Empty) return retval;
|
if (retval != string.Empty) return retval;
|
||||||
for (FolderInfo folder = docVersion.MyFolder; folder != null; folder = folder.MyParent)
|
for (FolderInfo folder = docVersion.MyFolder; folder != null; folder = folder.MyParent)
|
||||||
{
|
{
|
||||||
@@ -110,36 +89,19 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
//private string Xp_LookInAncestorFolderInfo(object sender, XMLPropertiesArgs args)
|
|
||||||
//{
|
|
||||||
// if (args.AncestorLookup || ParentLookup)
|
|
||||||
// {
|
|
||||||
|
|
||||||
// DocVersionInfo docVersion = (DocVersionInfo)_Procedure.ActiveParent;
|
|
||||||
// string retval = docVersion.DocVersionConfig.GetValue(args.Group, args.Item);
|
|
||||||
// if (retval != string.Empty) return retval;
|
|
||||||
// for (FolderInfo folder = docVersion.MyFolder; folder != null; folder = folder.MyParent)
|
|
||||||
// {
|
|
||||||
// retval = folder.FolderConfig.GetValue(args.Group, args.Item);
|
|
||||||
// if (retval != string.Empty) return retval;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return string.Empty;
|
|
||||||
//}
|
|
||||||
public ProcedureConfig(ProcedureInfo procedureInfo)
|
public ProcedureConfig(ProcedureInfo procedureInfo)
|
||||||
{
|
{
|
||||||
_ProcedureInfo = procedureInfo;
|
_ProcedureInfo = procedureInfo;
|
||||||
string xml = procedureInfo.MyContent.Config;
|
string xml = procedureInfo.MyContent.Config;
|
||||||
if (xml == string.Empty)
|
if (xml == string.Empty)
|
||||||
xml = "<Config/>";
|
xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
// Fix Slaves nodes for Parent Child
|
// Fix Slaves nodes for Parent Child
|
||||||
ValidateSlaves(_Xp.XmlContents, _ProcedureInfo.MyDocVersion.MultiUnitCount);
|
ValidateSlaves(_Xp.XmlContents, _ProcedureInfo.MyDocVersion.MultiUnitCount);
|
||||||
_Xp.AncestorLookup = true;
|
_Xp.AncestorLookup = true;
|
||||||
if (procedureInfo.ActiveParent != null) _Xp.LookInAncestor += new XMLPropertiesEvent(Xp_LookInAncestorFolder);
|
if (procedureInfo.ActiveParent != null) _Xp.LookInAncestor += new XMLPropertiesEvent(Xp_LookInAncestorFolder);
|
||||||
}
|
}
|
||||||
private int _SelectedSlave = 0;
|
private int _SelectedSlave = 0;
|
||||||
//[Browsable(false)]
|
|
||||||
public int SelectedSlave
|
public int SelectedSlave
|
||||||
{
|
{
|
||||||
get { return _SelectedSlave; }
|
get { return _SelectedSlave; }
|
||||||
@@ -150,19 +112,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
//public ProcedureConfig()
|
public string GetValue(string group, string item) => _Xp[group, item];
|
||||||
//{
|
public void SetValue(string group, string item, string newvalue) => _Xp[group, item] = newvalue;
|
||||||
// _Xp = new XMLProperties();
|
public int GetItemId()
|
||||||
//}
|
|
||||||
public string GetValue(string group, string item)
|
|
||||||
{
|
|
||||||
return _Xp[group, item];
|
|
||||||
}
|
|
||||||
public void SetValue(string group, string item, string newvalue)
|
|
||||||
{
|
|
||||||
_Xp[group, item] = newvalue;
|
|
||||||
}
|
|
||||||
public int GetItemId()
|
|
||||||
{
|
{
|
||||||
if (_Procedure != null) return _Procedure.ItemID;
|
if (_Procedure != null) return _Procedure.ItemID;
|
||||||
if (_ProcedureInfo != null) return _ProcedureInfo.ItemID;
|
if (_ProcedureInfo != null) return _ProcedureInfo.ItemID;
|
||||||
@@ -193,19 +145,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Description("Old Sequence")]
|
[Description("Old Sequence")]
|
||||||
public string OldSequence
|
public string OldSequence
|
||||||
{
|
{
|
||||||
get { return (_Procedure != null ? _Procedure.MyContent.MyZContent.OldStepSequence : (_ProcedureInfo.MyContent.MyZContent == null ? null : _ProcedureInfo.MyContent.MyZContent.OldStepSequence)); }
|
get { return (_Procedure != null ? _Procedure.MyContent.MyZContent.OldStepSequence : (_ProcedureInfo.MyContent.MyZContent?.OldStepSequence)); }
|
||||||
set { if (_Procedure != null) _Procedure.MyContent.MyZContent.OldStepSequence = value; }
|
set { if (_Procedure != null) _Procedure.MyContent.MyZContent.OldStepSequence = value; }
|
||||||
}
|
}
|
||||||
[Category("Identification")]
|
[Category("Identification")]
|
||||||
//PROPGRID: Hide Dirty
|
//PROPGRID: Hide Dirty
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
[DisplayName("Dirty")]
|
[DisplayName("Dirty")]
|
||||||
[Description("Dirty")]
|
[Description("Dirty")]
|
||||||
public bool Dirty
|
public bool Dirty => _Procedure != null && _Procedure.IsDirty;
|
||||||
{
|
[Category("Format Settings")]
|
||||||
get { return (_Procedure != null ? _Procedure.IsDirty : false); }
|
|
||||||
}
|
|
||||||
[Category("Format Settings")]
|
|
||||||
[DisplayName("Format")]
|
[DisplayName("Format")]
|
||||||
[Description("Format")]
|
[Description("Format")]
|
||||||
[TypeConverter(typeof(FormatList))]
|
[TypeConverter(typeof(FormatList))]
|
||||||
@@ -222,7 +171,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (_Procedure != null)
|
if (_Procedure != null)
|
||||||
{
|
{
|
||||||
_Procedure.MyContent.MyFormat = FormatList.ToFormat(value); // Can only be set if _DocVersion is set
|
_Procedure.MyContent.MyFormat = FormatList.ToFormat(value); // Can only be set if _DocVersion is set
|
||||||
//_Procedure.ActiveFormat = null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -261,12 +209,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
#region DelProcReason
|
||||||
#region DelProcReason
|
[Category("General")]
|
||||||
[Category("General")]
|
|
||||||
[DisplayName("DelProcReason")]
|
[DisplayName("DelProcReason")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
[Description("Delete Procedure Reason")]
|
[Description("Delete Procedure Reason")]
|
||||||
@@ -283,19 +230,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
#region FormatCategory
|
#region FormatCategory
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum FormatColumns : int
|
|
||||||
//{
|
|
||||||
// Default = 0,
|
|
||||||
// [Description("Single Column")]
|
|
||||||
// OneColumn,
|
|
||||||
// [Description("Dual Column")]
|
|
||||||
// TwoColumn,
|
|
||||||
// [Description("Triple Column")]
|
|
||||||
// ThreeColumn,
|
|
||||||
// [Description("Quad Column")]
|
|
||||||
// FourColumns
|
|
||||||
//}
|
|
||||||
[Category("General")]
|
[Category("General")]
|
||||||
[DisplayName("Default Column Mode")]
|
[DisplayName("Default Column Mode")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -375,13 +309,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Procedure", "Rev"];
|
string s = _Xp["Procedure", "Rev"];
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
s = _Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "Rev"];
|
s = _Xp[$"Slave[@index='{SelectedSlave}']", "Rev"];
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
_Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "Rev"] = value; // save selected value
|
_Xp[$"Slave[@index='{SelectedSlave}']", "Rev"] = value; // save selected value
|
||||||
else
|
else
|
||||||
_Xp["Procedure", "Rev"] = value;
|
_Xp["Procedure", "Rev"] = value;
|
||||||
OnPropertyChanged("Print_Rev");
|
OnPropertyChanged("Print_Rev");
|
||||||
@@ -399,13 +333,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Procedure", "RevDate"];
|
string s = _Xp["Procedure", "RevDate"];
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
s = _Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "RevDate"];
|
s = _Xp[$"Slave[@index='{SelectedSlave}']", "RevDate"];
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
_Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "RevDate"] = value; // save selected value
|
_Xp[$"Slave[@index='{SelectedSlave}']", "RevDate"] = value; // save selected value
|
||||||
else
|
else
|
||||||
_Xp["Procedure", "RevDate"] = value;
|
_Xp["Procedure", "RevDate"] = value;
|
||||||
OnPropertyChanged("Print_RevDate");
|
OnPropertyChanged("Print_RevDate");
|
||||||
@@ -443,7 +377,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Procedure", "ChangeBarDate"];
|
string s = _Xp["Procedure", "ChangeBarDate"];
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
s = _Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "ChangeBarDate"];
|
s = _Xp[$"Slave[@index='{SelectedSlave}']", "ChangeBarDate"];
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (s != "")
|
if (s != "")
|
||||||
@@ -470,7 +404,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
_Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "ChangeBarDate"] = value; // save selected value
|
_Xp[$"Slave[@index='{SelectedSlave}']", "ChangeBarDate"] = value; // save selected value
|
||||||
else
|
else
|
||||||
_Xp["Procedure", "ChangeBarDate"] = value;
|
_Xp["Procedure", "ChangeBarDate"] = value;
|
||||||
OnPropertyChanged("Print_ChangeBarDate");
|
OnPropertyChanged("Print_ChangeBarDate");
|
||||||
@@ -487,13 +421,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Procedure", "ReviewDate"];
|
string s = _Xp["Procedure", "ReviewDate"];
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
s = _Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "ReviewDate"];
|
s = _Xp[$"Slave[@index='{SelectedSlave}']", "ReviewDate"];
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (SelectedSlave > 0)
|
if (SelectedSlave > 0)
|
||||||
_Xp["Slave[@index='" + SelectedSlave.ToString() + "']", "ReviewDate"] = value; // save selected value
|
_Xp[$"Slave[@index='{SelectedSlave}']", "ReviewDate"] = value; // save selected value
|
||||||
else
|
else
|
||||||
_Xp["Procedure", "ReviewDate"] = value;
|
_Xp["Procedure", "ReviewDate"] = value;
|
||||||
OnPropertyChanged("Print_ReviewDate");
|
OnPropertyChanged("Print_ReviewDate");
|
||||||
@@ -519,12 +453,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_NumCopies");
|
OnPropertyChanged("Print_NumCopies");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public enum PrintPagination : int
|
|
||||||
//{
|
|
||||||
// Free = 0, Fixed,
|
|
||||||
// [Description("Automatic")]
|
|
||||||
// Auto
|
|
||||||
//}
|
|
||||||
[Category("Print Settings")]
|
[Category("Print Settings")]
|
||||||
[DisplayName("Pagination")]
|
[DisplayName("Pagination")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -562,13 +490,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_Pagination");
|
OnPropertyChanged("Print_Pagination");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintWatermark : int
|
|
||||||
//{
|
|
||||||
// None = 0, Reference, Draft, Master, Sample,
|
|
||||||
// [Description("Information Only")]
|
|
||||||
// InformationOnly
|
|
||||||
//}
|
|
||||||
[Category("Print Settings")]
|
[Category("Print Settings")]
|
||||||
[DisplayName("Watermark")]
|
[DisplayName("Watermark")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -623,29 +544,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
string s = _Xp["PrintSettings", "NotInMergeAll"]; // get the original value to see if a change
|
string s = _Xp["PrintSettings", "NotInMergeAll"]; // get the original value to see if a change
|
||||||
bool original = (s==string.Empty) ? false : bool.Parse(s);
|
bool original = s != string.Empty && bool.Parse(s);
|
||||||
if (original == value) return;
|
if (original == value) return;
|
||||||
_Xp["PrintSettings", "NotInMergeAll"] = ((bool)value).ToString(); // save selected value
|
_Xp["PrintSettings", "NotInMergeAll"] = ((bool)value).ToString(); // save selected value
|
||||||
OnPropertyChanged("Print_NotInMergeAll");
|
OnPropertyChanged("Print_NotInMergeAll");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Change Bar Use from 16-bit code:
|
|
||||||
// No Default
|
|
||||||
// Without Change Bars
|
|
||||||
// With Default Change Bars
|
|
||||||
// With User Specified Change Bars
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBar : int
|
|
||||||
//{
|
|
||||||
// [Description("Select Before Printing")]
|
|
||||||
// SelectBeforePrinting = 0,
|
|
||||||
// [Description("Without Change Bars")]
|
|
||||||
// Without,
|
|
||||||
// [Description("With Default Change Bars")]
|
|
||||||
// WithDefault,
|
|
||||||
// [Description("Use Custom Change Bars")]
|
|
||||||
// WithUserSpecified
|
|
||||||
//}
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change Bar")]
|
[DisplayName("Change Bar")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -683,23 +587,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_ChangeBar");
|
OnPropertyChanged("Print_ChangeBar");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// User Specified Change Bar Location from16-bit code:
|
|
||||||
// With Text
|
|
||||||
// Outside Box
|
|
||||||
// AER on LEFT, RNO on Right
|
|
||||||
// To the Left of Text
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBarLoc : int
|
|
||||||
//{
|
|
||||||
// [Description("With Text")]
|
|
||||||
// WithText = 0,
|
|
||||||
// [Description("Outside Box")]
|
|
||||||
// OutsideBox,
|
|
||||||
// [Description("AER on Left RNO on Right")]
|
|
||||||
// AERleftRNOright,
|
|
||||||
// [Description("To the Left of the Text")]
|
|
||||||
// LeftOfText
|
|
||||||
//}
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change Bar Position")]
|
[DisplayName("Change Bar Position")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -737,27 +624,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Print_ChangeBarLoc");
|
OnPropertyChanged("Print_ChangeBarLoc");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change Bar Text from16-bit code:
|
|
||||||
// Date and Change ID
|
|
||||||
// Revision Number
|
|
||||||
// Change ID
|
|
||||||
// No Change Bar Message
|
|
||||||
// User Defined Message
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum PrintChangeBarText : int
|
|
||||||
//{
|
|
||||||
// [Description("Date and Change ID")]
|
|
||||||
// DateChgID = 0,
|
|
||||||
// [Description("Revision Number")]
|
|
||||||
// RevNum,
|
|
||||||
// [Description("Change ID")]
|
|
||||||
// ChgID,
|
|
||||||
// [Description("No Change Bar Text")]
|
|
||||||
// None,
|
|
||||||
// [Description("Custom Change Bar Text")]
|
|
||||||
// UserDef
|
|
||||||
//}
|
|
||||||
[Category("Format Settings")]
|
[Category("Format Settings")]
|
||||||
[DisplayName("Change Bar Text Type")]
|
[DisplayName("Change Bar Text Type")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using DescriptiveEnum;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
@@ -12,21 +8,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class RODbConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class RODbConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _RODb == null;
|
||||||
{
|
#endregion
|
||||||
get { return _RODb == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private RODb _RODb;
|
private readonly RODb _RODb;
|
||||||
public RODbConfig(RODb roDb)
|
public RODbConfig(RODb roDb)
|
||||||
{
|
{
|
||||||
_RODb = roDb;
|
_RODb = roDb;
|
||||||
@@ -34,7 +23,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
private RODbInfo _RODbInfo;
|
private readonly RODbInfo _RODbInfo;
|
||||||
public RODbConfig(RODbInfo roDbInfo)
|
public RODbConfig(RODbInfo roDbInfo)
|
||||||
{
|
{
|
||||||
_RODbInfo = roDbInfo;
|
_RODbInfo = roDbInfo;
|
||||||
@@ -52,13 +41,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
string xml = "<Config/>";
|
string xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
internal string GetValue(string group, string item)
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
#region Local Properties
|
||||||
}
|
[Category("General")]
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
[Category("General")]
|
|
||||||
[DisplayName("ROName")]
|
[DisplayName("ROName")]
|
||||||
[Description("ROName")]
|
[Description("ROName")]
|
||||||
public string ROName
|
public string ROName
|
||||||
@@ -71,22 +57,20 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Description("FolderPath")]
|
[Description("FolderPath")]
|
||||||
public string FolderPath
|
public string FolderPath
|
||||||
{
|
{
|
||||||
get { return (_RODb != null ? _RODb.FolderPath : _RODbInfo != null?_RODbInfo.FolderPath:null); }
|
get { return (_RODb != null ? _RODb.FolderPath : _RODbInfo?.FolderPath); }
|
||||||
set { if (_RODb != null) _RODb.FolderPath = value; }
|
set { if (_RODb != null) _RODb.FolderPath = value; }
|
||||||
}
|
}
|
||||||
public RODb MyRODb
|
public RODb MyRODb => _RODb;
|
||||||
{ get { return _RODb; } }
|
#endregion
|
||||||
#endregion
|
#region ToString
|
||||||
#region ToString
|
public override string ToString()
|
||||||
public override string ToString()
|
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
#region RODefaults
|
||||||
#region RODefaults
|
[Category("Referenced Objects")]
|
||||||
[Category("Referenced Objects")]
|
|
||||||
[DisplayName("Graphic File Extension")]
|
[DisplayName("Graphic File Extension")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
[Description("Default File Extension")]
|
[Description("Default File Extension")]
|
||||||
@@ -98,38 +82,41 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// look in roapp.ini in the FolderPath directory;
|
// look in roapp.ini in the FolderPath directory;
|
||||||
// look in top folder's config
|
// look in top folder's config
|
||||||
// set to Volian default, i.e. "TIF".
|
// set to Volian default, i.e. "TIF".
|
||||||
string s = GetRoAppIniValue("ROAPP", "Extention");
|
string s = GetRoAppIniValue("Extention");
|
||||||
if (s == null || s == string.Empty)
|
if (s == null || s == string.Empty)
|
||||||
s = TopFolderConfigValue("Graphics", "defaultext");
|
s = TopFolderConfigValue();
|
||||||
if (s == null || s == string.Empty)
|
if (s == null || s == string.Empty)
|
||||||
return s = "TIF";
|
return s = "TIF";
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private string GetRoAppIniValue(string p, string p_2)
|
private string GetRoAppIniValue(string p_2)
|
||||||
{
|
{
|
||||||
if (FolderPath == null) return null;
|
if (FolderPath == null) return null;
|
||||||
string inipath = FolderPath + @"\roapp.ini";
|
string inipath = FolderPath + @"\roapp.ini";
|
||||||
if (!File.Exists(inipath)) return null;
|
if (!File.Exists(inipath)) return null;
|
||||||
StreamReader myReader = new StreamReader(inipath);
|
using (StreamReader myReader = new StreamReader(inipath))
|
||||||
string sLine;
|
{
|
||||||
int indx = -1;
|
string sLine;
|
||||||
while ((sLine = myReader.ReadLine()) != null)
|
int indx = -1;
|
||||||
{
|
while ((sLine = myReader.ReadLine()) != null)
|
||||||
if (sLine.Length > 0 && sLine.Substring(0, 1) != ";")
|
{
|
||||||
{
|
if (sLine.Length > 0 && sLine.Substring(0, 1) != ";")
|
||||||
if ((indx = sLine.ToLower().IndexOf(p_2.ToLower())) >= 0)
|
{
|
||||||
{
|
if ((indx = sLine.ToLower().IndexOf(p_2.ToLower())) >= 0)
|
||||||
indx = sLine.IndexOf("=", indx + 9);
|
{
|
||||||
return sLine.Substring(indx + 1, sLine.Length - indx - 1).Trim();
|
indx = sLine.IndexOf("=", indx + 9);
|
||||||
}
|
return sLine.Substring(indx + 1, sLine.Length - indx - 1).Trim();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
myReader.Close();
|
}
|
||||||
return null;
|
myReader.Close();
|
||||||
}
|
}
|
||||||
private string TopFolderConfigValue(string p, string p_2)
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private string TopFolderConfigValue()
|
||||||
{
|
{
|
||||||
FolderInfo fi = FolderInfo.GetTop();
|
FolderInfo fi = FolderInfo.GetTop();
|
||||||
return fi.FolderConfig.Graphics_defaultext;
|
return fi.FolderConfig.Graphics_defaultext;
|
||||||
@@ -145,9 +132,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
public string GetDefaultGraphicExtensionLocation()
|
public string GetDefaultGraphicExtensionLocation()
|
||||||
{
|
{
|
||||||
string s = GetRoAppIniValue("ROAPP", "Extention");
|
string s = GetRoAppIniValue("Extention");
|
||||||
if (s != null && s != string.Empty) return "Default Extension found in roapp.ini";
|
if (s != null && s != string.Empty) return "Default Extension found in roapp.ini";
|
||||||
s = TopFolderConfigValue("Graphics", "defaultext");
|
s = TopFolderConfigValue();
|
||||||
if (s != null && s != string.Empty) return "Default Extension defined in veproms properties";
|
if (s != null && s != string.Empty) return "Default Extension defined in veproms properties";
|
||||||
return "Used program default";
|
return "Used program default";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,16 +159,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
private int _totalRoCnt = 0;
|
private int _totalRoCnt = 0;
|
||||||
private double _pctComplete = 0;
|
private double _pctComplete = 0;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
public int RofstID
|
public int RofstID => _rofstID;
|
||||||
{
|
|
||||||
get { return _rofstID; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public DocVersionInfo MyDocVersionInfo
|
public DocVersionInfo MyDocVersionInfo
|
||||||
{
|
{
|
||||||
get { return _myDocVersionInfo; }
|
get { return _myDocVersionInfo; }
|
||||||
set
|
set
|
||||||
@@ -178,14 +175,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2021-065 see if we need to get the RO information for the "Other" Child applicability value
|
// C2021-065 see if we need to get the RO information for the "Other" Child applicability value
|
||||||
public int SelectedSlave
|
public int SelectedSlave => (!string.IsNullOrEmpty(_otherChild)) ? Convert.ToInt32(_otherChild) : _selectedSlave;
|
||||||
{
|
|
||||||
get { return (!string.IsNullOrEmpty(_otherChild)) ? Convert.ToInt32(_otherChild) : _selectedSlave; }
|
|
||||||
}
|
|
||||||
|
|
||||||
//C2021-065 used by Barakah Alarms so that we get ROLookUp for the Other applicability
|
//C2021-065 used by Barakah Alarms so that we get ROLookUp for the Other applicability
|
||||||
public string OtherChild
|
public string OtherChild
|
||||||
{
|
{
|
||||||
get { return _otherChild; }
|
get { return _otherChild; }
|
||||||
set { _otherChild = value; }
|
set { _otherChild = value; }
|
||||||
@@ -237,16 +231,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { _autoCombineSingleRetValues = value; }
|
set { _autoCombineSingleRetValues = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ShowLoadingStatus
|
public bool ShowLoadingStatus => _showLoadingStatus;
|
||||||
{
|
|
||||||
get { return _showLoadingStatus; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Constructors
|
#region Constructors
|
||||||
|
|
||||||
public ROFSTLookup(int rofstID, DocVersionInfo dvi, string otherChild, bool showLoadingStatus = true)
|
public ROFSTLookup(int rofstID, DocVersionInfo dvi, string otherChild, bool showLoadingStatus = true)
|
||||||
{
|
{
|
||||||
// Set Fields/Properties
|
// Set Fields/Properties
|
||||||
_rofstID = rofstID;
|
_rofstID = rofstID;
|
||||||
@@ -321,31 +312,19 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return RofstDataSearch(_rofstID, value, searchTypeID, onlyRoid16, maxNumRecords);
|
return RofstDataSearch(_rofstID, value, searchTypeID, onlyRoid16, maxNumRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ROFSTLookup.rochild[] GetRoChildrenByID(int id, int dbiID, bool loadChildren = false, bool loadAllChildren = false)
|
public ROFSTLookup.rochild[] GetRoChildrenByID(int id, int dbiID, bool loadChildren = false, bool loadAllChildren = false) => RofstDataGetChildrenByID(_rofstID, dbiID, id, loadChildren, loadAllChildren);
|
||||||
{
|
|
||||||
return RofstDataGetChildrenByID(_rofstID, dbiID, id, loadChildren, loadAllChildren);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ROFSTLookup.rochild[] GetRoChildrenByRoid(string roid, bool loadChildren = false, bool loadAllChildren = false)
|
public ROFSTLookup.rochild[] GetRoChildrenByRoid(string roid, bool loadChildren = false, bool loadAllChildren = false) => RofstDataGetChildrenByRoid(_rofstID, roid, loadChildren, loadAllChildren);
|
||||||
{
|
|
||||||
return RofstDataGetChildrenByRoid(_rofstID, roid, loadChildren, loadAllChildren);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ROFSTLookup.rochild[] GetRoChildrenByType(E_ROValueType valueTypes, bool loadChildren = false, bool loadAllChildren = false)
|
public ROFSTLookup.rochild[] GetRoChildrenByType(E_ROValueType valueTypes, bool loadChildren = false, bool loadAllChildren = false) => RofstDataGetRoChildrenByType(_rofstID, valueTypes, loadChildren, loadAllChildren);
|
||||||
{
|
|
||||||
return RofstDataGetRoChildrenByType(_rofstID, valueTypes, loadChildren, loadAllChildren);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region (RO Database Info)
|
#region (RO Database Info)
|
||||||
|
|
||||||
public int GetRODatabaseTitleIndex(string roid)
|
public int GetRODatabaseTitleIndex(string roid) => Convert.ToInt32("0x" + roid.Substring(0, 4), 16);
|
||||||
{
|
|
||||||
return Convert.ToInt32("0x" + roid.Substring(0, 4), 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetRODatabaseTitle(int idx)
|
public string GetRODatabaseTitle(int idx)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rodbi rd = RofstDataGetDatabaseByID(_rofstID, idx);
|
ROFSTLookup.rodbi rd = RofstDataGetDatabaseByID(_rofstID, idx);
|
||||||
return (!string.IsNullOrEmpty(rd.dbiTitle) ? rd.dbiTitle : "RO Database Title Not Found");
|
return (!string.IsNullOrEmpty(rd.dbiTitle) ? rd.dbiTitle : "RO Database Title Not Found");
|
||||||
@@ -358,16 +337,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return (rd.dbiID > 0) ? rd : RofstDataGetDatabaseByID(_rofstID, 1, loadChildren, loadAllChildren);
|
return (rd.dbiID > 0) ? rd : RofstDataGetDatabaseByID(_rofstID, 1, loadChildren, loadAllChildren);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ROFSTLookup.rodbi[] GetRODatabaseList(bool loadChildren = false, bool loadAllChildren = false)
|
public ROFSTLookup.rodbi[] GetRODatabaseList(bool loadChildren = false, bool loadAllChildren = false) => RofstDataGetDatabases(_rofstID, loadChildren, loadAllChildren);
|
||||||
{
|
|
||||||
return RofstDataGetDatabases(_rofstID, loadChildren, loadAllChildren);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region (RO Info By AccPageID)
|
#region (RO Info By AccPageID)
|
||||||
|
|
||||||
public string FormatAccPageKey(string accPageID)
|
public string FormatAccPageKey(string accPageID)
|
||||||
{
|
{
|
||||||
string accPageBase = string.Empty;
|
string accPageBase = string.Empty;
|
||||||
string accPageExt = string.Empty;
|
string accPageExt = string.Empty;
|
||||||
@@ -527,12 +503,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return (!string.IsNullOrEmpty(retval)) ? retval.Replace("\r\n", @"\par ") : retval;
|
return (!string.IsNullOrEmpty(retval)) ? retval.Replace("\r\n", @"\par ") : retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<string> GetValueDifferences(int originalRofstID, ref List<string> delList)
|
public List<string> GetValueDifferences(int originalRofstID, ref List<string> delList) => RofstDataGetValueDifferences(originalRofstID, _rofstID, ref delList);
|
||||||
{
|
|
||||||
return RofstDataGetValueDifferences(originalRofstID, _rofstID, ref delList);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<string> GetROTitleAndGroupPath(string roid, bool reportMissingROs, bool convertCaretToDelta)
|
public List<string> GetROTitleAndGroupPath(string roid, bool reportMissingROs, bool convertCaretToDelta)
|
||||||
{
|
{
|
||||||
// Return the RO Title in a list of strings. The last item in the list is the actual RO title,
|
// Return the RO Title in a list of strings. The last item in the list is the actual RO title,
|
||||||
// the items preceding it are the titles of the groups and sub-groups containing the RO
|
// the items preceding it are the titles of the groups and sub-groups containing the RO
|
||||||
@@ -616,26 +589,17 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region (RO Info Helper Methods)
|
#region (RO Info Helper Methods)
|
||||||
|
|
||||||
public static byte[] GetRofstLookupBytes(int rofstID)
|
public static byte[] GetRofstLookupBytes(int rofstID) => RofstDataGetRofstLookupBytes(rofstID);
|
||||||
{
|
|
||||||
return RofstDataGetRofstLookupBytes(rofstID);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static DateTime GetRoFSTdts(int rofstID)
|
public static DateTime GetRoFSTdts(int rofstID) => GetRofstDtsByID(rofstID);
|
||||||
{
|
|
||||||
return GetRofstDtsByID(rofstID);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DateTime GetRoFSTdts()
|
public DateTime GetRoFSTdts() => GetRoFSTdts(_rofstID);
|
||||||
{
|
|
||||||
return GetRoFSTdts(_rofstID);
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool HasChildren(ref ROFSTLookup.rochild child)
|
public bool HasChildren(ref ROFSTLookup.rochild child)
|
||||||
{
|
{
|
||||||
LoadChildren(ref child);
|
LoadChildren(ref child);
|
||||||
return child.children.Any();
|
return child.children.Any();
|
||||||
@@ -666,12 +630,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
db.children = GetRoChildrenByID(db.ID, db.dbiID, false);
|
db.children = GetRoChildrenByID(db.ID, db.dbiID, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ROFSTLookup.rochild GetEmptyRoChild()
|
public static ROFSTLookup.rochild GetEmptyRoChild() => new ROFSTLookup.rochild() { ID = -1, type = 0 };
|
||||||
{
|
|
||||||
return new ROFSTLookup.rochild() { ID = -1, type = 0 };
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string CalculateDuration(DateTime dtStart)
|
public static string CalculateDuration(DateTime dtStart)
|
||||||
{
|
{
|
||||||
string duration = string.Empty;
|
string duration = string.Empty;
|
||||||
|
|
||||||
@@ -1736,31 +1697,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
#region (Convert To Objects)
|
#region (Convert To Objects)
|
||||||
|
|
||||||
private ROFSTLookup.roHdr ConvertToRoHdrObject(SafeDataReader dr, bool loadChildren)
|
|
||||||
{
|
|
||||||
ROFSTLookup.roHdr rh = new ROFSTLookup.roHdr
|
|
||||||
{
|
|
||||||
hSize = (int)dr.GetValue("hSize"),
|
|
||||||
hYear = (int)dr.GetValue("hYear"),
|
|
||||||
hMonth = (byte)dr.GetValue("hMonth"),
|
|
||||||
hDay = (byte)dr.GetValue("hDay"),
|
|
||||||
hcYear = (int)dr.GetValue("hcYear"),
|
|
||||||
hcMonth = (byte)dr.GetValue("hcMonth"),
|
|
||||||
hcDay = (byte)dr.GetValue("hcDay"),
|
|
||||||
hcHour = (byte)dr.GetValue("hcHour"),
|
|
||||||
hcMin = (byte)dr.GetValue("hcMin"),
|
|
||||||
hcSec = (byte)dr.GetValue("hcSec"),
|
|
||||||
hcHund = (byte)dr.GetValue("hcHund")
|
|
||||||
};
|
|
||||||
|
|
||||||
if (loadChildren)
|
|
||||||
{
|
|
||||||
rh.myDbs = RofstDataGetDatabases(_rofstID);
|
|
||||||
}
|
|
||||||
|
|
||||||
return rh;
|
|
||||||
}
|
|
||||||
|
|
||||||
private ROFSTLookup.rodbi ConvertToRodbiObject(SafeDataReader dr, bool loadChildren, bool loadAllChildren)
|
private ROFSTLookup.rodbi ConvertToRodbiObject(SafeDataReader dr, bool loadChildren, bool loadAllChildren)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rodbi rd = new ROFSTLookup.rodbi
|
ROFSTLookup.rodbi rd = new ROFSTLookup.rodbi
|
||||||
@@ -2202,12 +2138,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int NextDelimiter(string delim, string str)
|
private int NextDelimiter(string delim, string str) => (!string.IsNullOrEmpty(str)) ? str.IndexOfAny(delim.ToCharArray()) : -1;
|
||||||
{
|
|
||||||
return (!string.IsNullOrEmpty(str)) ? str.IndexOfAny(delim.ToCharArray()) : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int MatchingBrace(string str)
|
private int MatchingBrace(string str)
|
||||||
{
|
{
|
||||||
int level = 1;
|
int level = 1;
|
||||||
int idx = 0; // the while will skip the first position (the first brace)
|
int idx = 0; // the while will skip the first position (the first brace)
|
||||||
@@ -2426,7 +2359,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
if (match.Groups[2].Value != "1") // Other than "1", multiply it times 10 raised to a power
|
if (match.Groups[2].Value != "1") // Other than "1", multiply it times 10 raised to a power
|
||||||
{
|
{
|
||||||
sb.Append(match.Groups[2].Value + "x10");
|
sb.Append($"{match.Groups[2].Value}x10");
|
||||||
}
|
}
|
||||||
else // The number is simply 1 so it can be ignored and 10 can be raised to a power
|
else // The number is simply 1 so it can be ignored and 10 can be raised to a power
|
||||||
{
|
{
|
||||||
@@ -2435,11 +2368,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
else // A number with a decimal point
|
else // A number with a decimal point
|
||||||
{
|
{
|
||||||
sb.Append(match.Groups[2].Value + "." + match.Groups[3].Value + "x10");
|
sb.Append($"{match.Groups[2].Value}.{match.Groups[3].Value}x10");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add the exponent as superscript
|
// Add the exponent as superscript
|
||||||
return sb.ToString() + "\\up2 " + match.Groups[4].Value.Replace("-", @"\u8209?") + match.Groups[5].Value + "\\up0 ";
|
return $"{sb}\\up2 {match.Groups[4].Value.Replace("-", @"\u8209?")}{match.Groups[5].Value}\\up0 ";
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -7,21 +7,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class ROImageConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class ROImageConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => _ROImageInfo == null;
|
||||||
{
|
#endregion
|
||||||
get { return _ROImageInfo == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private ROImageInfo _ROImageInfo;
|
private readonly ROImageInfo _ROImageInfo;
|
||||||
public ROImageConfig(ROImageInfo rOImageInfo)
|
public ROImageConfig(ROImageInfo rOImageInfo)
|
||||||
{
|
{
|
||||||
_ROImageInfo = rOImageInfo;
|
_ROImageInfo = rOImageInfo;
|
||||||
@@ -34,13 +27,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
string xml = "<Config/>";
|
string xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
internal string GetValue(string group, string item)
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
#region Local Properties
|
||||||
}
|
[Category("Image")]
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
[Category("Image")]
|
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
[DisplayName("Size")]
|
[DisplayName("Size")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -62,9 +52,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Drawing;
|
|
||||||
using DescriptiveEnum;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
@@ -11,22 +7,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class RevisionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class RevisionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => false;
|
||||||
{
|
#endregion
|
||||||
get { return false; }//_Section == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
private Revision _Revision;
|
private readonly Revision _Revision;
|
||||||
private RevisionInfo _RevisionInfo;
|
private readonly RevisionInfo _RevisionInfo;
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public bool ParentLookup
|
public bool ParentLookup
|
||||||
{
|
{
|
||||||
@@ -52,18 +41,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
}
|
}
|
||||||
public RevisionConfig()
|
public RevisionConfig() => _Xp = new XMLProperties();
|
||||||
{
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
_Xp = new XMLProperties();
|
#endregion
|
||||||
}
|
#region Properties and Methods
|
||||||
internal string GetValue(string group, string item)
|
// This is needed for the Data Loader
|
||||||
{
|
[Category("History")]
|
||||||
return _Xp[group, item];
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Properties and Methods
|
|
||||||
// This is needed for the Data Loader
|
|
||||||
[Category("History")]
|
|
||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
[DisplayName("Start Date")]
|
[DisplayName("Start Date")]
|
||||||
[RefreshProperties(RefreshProperties.All)]
|
[RefreshProperties(RefreshProperties.All)]
|
||||||
@@ -115,9 +98,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using DescriptiveEnum;
|
using DescriptiveEnum;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
@@ -11,18 +10,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class SectionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
public class SectionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => false;
|
||||||
{
|
#endregion
|
||||||
get { return false; }//_Section == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
//PROPGRID: Hide ParentLookup
|
//PROPGRID: Hide ParentLookup
|
||||||
@@ -32,26 +24,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return _Xp.ParentLookup; }
|
get { return _Xp.ParentLookup; }
|
||||||
set { _Xp.ParentLookup = value; }
|
set { _Xp.ParentLookup = value; }
|
||||||
}
|
}
|
||||||
//PROPGRID: Had to comment out NonSerialized to hide AncestorLookup from Property Grid
|
private readonly Section _Section;
|
||||||
//[NonSerialized]
|
private readonly SectionInfo _SectionInfo;
|
||||||
private bool _AncestorLookup;
|
|
||||||
//PROPGRID: Hide AncestorLookup
|
|
||||||
//[Browsable(false)]
|
|
||||||
//public bool AncestorLookup
|
|
||||||
//{
|
|
||||||
// get { return _AncestorLookup; }
|
|
||||||
// set { _AncestorLookup = value; }
|
|
||||||
//}
|
|
||||||
private Section _Section;
|
|
||||||
private SectionInfo _SectionInfo;
|
|
||||||
private static int _SectionConfigUnique = 0;
|
private static int _SectionConfigUnique = 0;
|
||||||
private static int SectionConfigUnique
|
private static int SectionConfigUnique => ++_SectionConfigUnique;
|
||||||
{ get { return ++_SectionConfigUnique; } }
|
private readonly int _MySectionConfigUnique = SectionConfigUnique;
|
||||||
private int _MySectionConfigUnique = SectionConfigUnique;
|
|
||||||
public int MySectionConfigUnique // Absolutely Unique ID - Info
|
|
||||||
{ get { return _MySectionConfigUnique; } }
|
|
||||||
|
|
||||||
public SectionConfig(Section section)
|
public SectionConfig(Section section)
|
||||||
{
|
{
|
||||||
_Section = section;
|
_Section = section;
|
||||||
string xml = section.MyContent.Config;
|
string xml = section.MyContent.Config;
|
||||||
@@ -82,9 +61,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (retval != string.Empty) return retval;
|
if (retval != string.Empty) return retval;
|
||||||
proc = (ProcedureInfo)proc.ActiveParent;
|
proc = (ProcedureInfo)proc.ActiveParent;
|
||||||
}
|
}
|
||||||
DocVersionInfo docVersion = proc.ActiveParent as DocVersionInfo;
|
if (!(proc.ActiveParent is DocVersionInfo docVersion)) return string.Empty;
|
||||||
if (docVersion == null) return string.Empty;
|
retval = docVersion.DocVersionConfig.GetValue(args.Group, args.Item);
|
||||||
retval = docVersion.DocVersionConfig.GetValue(args.Group, args.Item);
|
|
||||||
if (retval != string.Empty) return retval;
|
if (retval != string.Empty) return retval;
|
||||||
for (FolderInfo folder = docVersion.MyFolder; folder != null; folder = folder.MyParent)
|
for (FolderInfo folder = docVersion.MyFolder; folder != null; folder = folder.MyParent)
|
||||||
{
|
{
|
||||||
@@ -102,23 +80,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
if (_SectionInfo.ActiveParent != null) _Xp.LookInAncestor += new XMLPropertiesEvent(Xp_LookInAncestorFolder);
|
if (_SectionInfo.ActiveParent != null) _Xp.LookInAncestor += new XMLPropertiesEvent(Xp_LookInAncestorFolder);
|
||||||
}
|
}
|
||||||
//public SectionConfig(string xml)
|
public SectionConfig() => _Xp = new XMLProperties();
|
||||||
//{
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
// if (xml == string.Empty) xml = "<Config/>";
|
#endregion
|
||||||
// _Xp = new XMLProperties(xml);
|
#region Local Properties
|
||||||
//}
|
[Category("General")]
|
||||||
public SectionConfig()
|
|
||||||
{
|
|
||||||
_Xp = new XMLProperties();
|
|
||||||
}
|
|
||||||
internal string GetValue(string group, string item)
|
|
||||||
{
|
|
||||||
return _Xp[group, item];
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
//[Category("Identification")]
|
|
||||||
[Category("General")]
|
|
||||||
[DisplayName("Number")]
|
[DisplayName("Number")]
|
||||||
[Description("Number")]
|
[Description("Number")]
|
||||||
public string Number
|
public string Number
|
||||||
@@ -126,7 +92,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return (_Section != null ? _Section.MyContent.Number : _SectionInfo.MyContent.Number); }
|
get { return (_Section != null ? _Section.MyContent.Number : _SectionInfo.MyContent.Number); }
|
||||||
set { if (_Section != null) _Section.MyContent.Number = value; }
|
set { if (_Section != null) _Section.MyContent.Number = value; }
|
||||||
}
|
}
|
||||||
//[Category("Identification")]
|
|
||||||
[Category("General")]
|
[Category("General")]
|
||||||
[DisplayName("Title")]
|
[DisplayName("Title")]
|
||||||
[Description("Title")]
|
[Description("Title")]
|
||||||
@@ -142,7 +107,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Description("Old Sequence")]
|
[Description("Old Sequence")]
|
||||||
public string OldSequence
|
public string OldSequence
|
||||||
{
|
{
|
||||||
get { return (_Section != null ? _Section.MyContent.MyZContent.OldStepSequence : (_SectionInfo.MyContent.MyZContent == null ? null : _SectionInfo.MyContent.MyZContent.OldStepSequence)); }
|
get { return (_Section != null ? _Section.MyContent.MyZContent.OldStepSequence : (_SectionInfo.MyContent.MyZContent?.OldStepSequence)); }
|
||||||
set { if (_Section != null) _Section.MyContent.MyZContent.OldStepSequence = value; }
|
set { if (_Section != null) _Section.MyContent.MyZContent.OldStepSequence = value; }
|
||||||
}
|
}
|
||||||
[Category("Identification")]
|
[Category("Identification")]
|
||||||
@@ -152,7 +117,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Description("Dirty")]
|
[Description("Dirty")]
|
||||||
public bool Dirty
|
public bool Dirty
|
||||||
{
|
{
|
||||||
get { return (_Section != null ? _Section.IsDirty : false); }
|
get { return (_Section != null && _Section.IsDirty); }
|
||||||
}
|
}
|
||||||
[Category("Format")]
|
[Category("Format")]
|
||||||
[DisplayName("Format")]
|
[DisplayName("Format")]
|
||||||
@@ -171,7 +136,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (_Section != null)
|
if (_Section != null)
|
||||||
{
|
{
|
||||||
_Section.MyContent.MyFormat = FormatList.ToFormat(value); // Can only be set if _DocVersion is set
|
_Section.MyContent.MyFormat = FormatList.ToFormat(value); // Can only be set if _DocVersion is set
|
||||||
//_Section.ActiveFormat = null;
|
|
||||||
DocStyleListConverter.MySection = _Section;
|
DocStyleListConverter.MySection = _Section;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -192,7 +156,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (_Section != null)
|
if (_Section != null)
|
||||||
_Section.MyContent.MyFormat = value == null ? null : value.GetJustFormat();
|
_Section.MyContent.MyFormat = value?.GetJustFormat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[Category("Format")]
|
[Category("Format")]
|
||||||
@@ -304,15 +268,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
#region SectionCategory // from sequence number in 16-bit database.
|
||||||
#region SectionCategory // from sequence number in 16-bit database.
|
[TypeConverter(typeof(EnumDescConverter))]
|
||||||
[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
public enum SectionPagination : int
|
public enum SectionPagination : int
|
||||||
{
|
{
|
||||||
//Default = 0, Continuous, Separate
|
|
||||||
Continuous = 1, Separate = 2
|
Continuous = 1, Separate = 2
|
||||||
}
|
}
|
||||||
[Category("Format")]
|
[Category("Format")]
|
||||||
@@ -415,7 +377,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
string tmp = _Xp["Section", "TOC_Group_Title"];
|
string tmp = _Xp["Section", "TOC_Group_Title"];
|
||||||
return (tmp == null)? "" : tmp;
|
return tmp ?? "";
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -476,23 +438,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Section_DontIncludeDuplexFoldout");
|
OnPropertyChanged("Section_DontIncludeDuplexFoldout");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[Category("Section")]
|
|
||||||
////PROPGRID: Hide AutoGen
|
|
||||||
//[DisplayName("Section AutoGen")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Section AutoGen")]
|
|
||||||
//public string Section_AutoGen
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// return _Xp["Section", "AutoGen"];
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// _Xp["Section", "AutoGen"] = value;
|
|
||||||
// OnPropertyChanged("Section_AutoGen");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
[Category("Section")]
|
[Category("Section")]
|
||||||
//PROPGRID: Hide Subsection PH
|
//PROPGRID: Hide Subsection PH
|
||||||
[DisplayName("Section PrintHdr")]
|
[DisplayName("Section PrintHdr")]
|
||||||
@@ -536,7 +481,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
//return _Xp["Section", "ShwRplWords"];
|
|
||||||
string tmp = _Xp["Section", "ShwRplWords"];
|
string tmp = _Xp["Section", "ShwRplWords"];
|
||||||
return tmp == null || tmp == "" ? "Y" : tmp;
|
return tmp == null || tmp == "" ? "Y" : tmp;
|
||||||
}
|
}
|
||||||
@@ -568,8 +512,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// C2020-046 change wording for the column modes to One, Two, Three, and Four
|
// C2020-046 change wording for the column modes to One, Two, Three, and Four
|
||||||
public enum SectionColumnMode : int
|
public enum SectionColumnMode : int
|
||||||
{
|
{
|
||||||
//[Description("Format Default")]
|
|
||||||
//Default = 0,
|
|
||||||
[Description("One Column")]
|
[Description("One Column")]
|
||||||
One = 1,
|
One = 1,
|
||||||
[Description("Two Columns")]
|
[Description("Two Columns")]
|
||||||
@@ -595,7 +537,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// If there is no parent value, then use the volian default
|
// If there is no parent value, then use the volian default
|
||||||
if (s == string.Empty)
|
if (s == string.Empty)
|
||||||
{
|
{
|
||||||
SectionInfo si = _SectionInfo != null ? _SectionInfo : SectionInfo.Get(_Section.ItemID);
|
SectionInfo si = _SectionInfo ?? SectionInfo.Get(_Section.ItemID);
|
||||||
if (si != null)
|
if (si != null)
|
||||||
{
|
{
|
||||||
E_PurchaseOptions po = (E_PurchaseOptions)(MyFormat ?? MyDefaultFormat).PlantFormat.FormatData.PurchaseOptions;
|
E_PurchaseOptions po = (E_PurchaseOptions)(MyFormat ?? MyDefaultFormat).PlantFormat.FormatData.PurchaseOptions;
|
||||||
@@ -607,34 +549,23 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
case FormatColumns.OneColumn:
|
case FormatColumns.OneColumn:
|
||||||
return SectionColumnMode.One;
|
return SectionColumnMode.One;
|
||||||
break;
|
|
||||||
case FormatColumns.TwoColumn:
|
case FormatColumns.TwoColumn:
|
||||||
return SectionColumnMode.Two;
|
return SectionColumnMode.Two;
|
||||||
break;
|
|
||||||
case FormatColumns.ThreeColumn:
|
case FormatColumns.ThreeColumn:
|
||||||
return SectionColumnMode.Three;
|
return SectionColumnMode.Three;
|
||||||
break;
|
|
||||||
case FormatColumns.FourColumns:
|
case FormatColumns.FourColumns:
|
||||||
return SectionColumnMode.Four;
|
return SectionColumnMode.Four;
|
||||||
break;
|
|
||||||
//default:
|
|
||||||
// return SectionColumnMode.One;
|
|
||||||
// break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int rval = 0;
|
int rval;
|
||||||
if (MyFormat != null)
|
if (MyFormat != null)
|
||||||
{
|
{
|
||||||
rval = (int)MyFormat.MyStepSectionLayoutData.PMode;
|
rval = (int)MyFormat.MyStepSectionLayoutData.PMode;
|
||||||
//int rval = (int)MyFormat.MyStepSectionLayoutData.PMode;
|
|
||||||
//return (SectionColumnMode)rval;//SectionColumnMode.Two; //SectionColumnMode.Default;// default to volian default
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//int rval = (int)MyDefaultFormat.MyStepSectionLayoutData.PMode;
|
|
||||||
rval = (int)MyDefaultFormat.MyStepSectionLayoutData.PMode;
|
rval = (int)MyDefaultFormat.MyStepSectionLayoutData.PMode;
|
||||||
//return (SectionColumnMode)rval;
|
|
||||||
}
|
}
|
||||||
// if no pmode is defined, i.e. rval = 0, then go up to the procedure level & get
|
// if no pmode is defined, i.e. rval = 0, then go up to the procedure level & get
|
||||||
// it's format column.
|
// it's format column.
|
||||||
@@ -646,11 +577,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
return (SectionColumnMode)int.Parse(s);
|
return (SectionColumnMode)int.Parse(s);
|
||||||
|
|
||||||
//if (s == string.Empty)
|
|
||||||
// return SectionColumnMode.Default;
|
|
||||||
|
|
||||||
//return (SectionColumnMode)int.Parse(s);
|
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -670,13 +596,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
rval =(int)MyFormat.MyStepSectionLayoutData.PMode;
|
rval =(int)MyFormat.MyStepSectionLayoutData.PMode;
|
||||||
//parval = ((rval > 0)?((SectionColumnMode)rval).ToString() : "2"); // if PMode is zero default to 2 column mode
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// if still no value found in inheritance, check if the procedure has a default. if so and value matches, clear out any config item.
|
// if still no value found in inheritance, check if the procedure has a default. if so and value matches, clear out any config item.
|
||||||
if (rval == 0)
|
if (rval == 0)
|
||||||
{
|
{
|
||||||
SectionInfo si = _SectionInfo != null ? _SectionInfo : SectionInfo.Get(_Section.ItemID);
|
SectionInfo si = _SectionInfo ?? SectionInfo.Get(_Section.ItemID);
|
||||||
if (si != null)
|
if (si != null)
|
||||||
{
|
{
|
||||||
switch (si.MyProcedure.ProcedureConfig.Format_Columns)
|
switch (si.MyProcedure.ProcedureConfig.Format_Columns)
|
||||||
@@ -708,103 +633,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Section_ColumnMode");
|
OnPropertyChanged("Section_ColumnMode");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//char * far printtypes[] = {
|
|
||||||
// "Compressed, 8 lines per inch",
|
|
||||||
// "Elite, 6 lines per inch",
|
|
||||||
// "Pica, 6 lines per inch",
|
|
||||||
// "Default font, 4 Lines Per Inch",
|
|
||||||
// "Default font, 6 Lines Per Inch",
|
|
||||||
// "Compressed 6 LPI",
|
|
||||||
// "Default font, 7 Lines Per Inch",
|
|
||||||
// "Special Landscape, Elite, 6 lines per inch"
|
|
||||||
//};
|
|
||||||
//[TypeConverter(typeof(EnumDescConverter))]
|
|
||||||
//public enum AttPrintSize : int
|
|
||||||
//{
|
|
||||||
// [Description("Compressed, 8 lines per inch")]
|
|
||||||
// Cmp8lpi = 0,
|
|
||||||
// [Description("Elite, 6 lines per inch")]
|
|
||||||
// Elite6lpi = 1,
|
|
||||||
// [Description("Pica, 6 lines per inch")]
|
|
||||||
// Pica6lpi = 2,
|
|
||||||
// [Description("Default font, 4 Lines Per Inch")]
|
|
||||||
// Def4lpi = 3,
|
|
||||||
// [Description("Default font, 6 Lines Per Inch")]
|
|
||||||
// Def6lpi = 4,
|
|
||||||
// [Description("Compressed 6 LPI")]
|
|
||||||
// Cmp6lpi = 5,
|
|
||||||
// [Description("Default font, 7 Lines Per Inch")]
|
|
||||||
// Def7lpi = 6,
|
|
||||||
// [Description("Landscape, Elite, 6 lines per inch")]
|
|
||||||
// landElite6lpi = 7
|
|
||||||
//}
|
|
||||||
|
|
||||||
//[Category("Format")]
|
|
||||||
//[DisplayName("Attachment PrintSize")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Attachment Print Size")]
|
|
||||||
//public AttPrintSize Section_AttachmentPrintSize
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string lpiSettings = "*pP46f7L";
|
|
||||||
// string s = _Xp["Section", "OldType"];
|
|
||||||
// int idx = -1;
|
|
||||||
|
|
||||||
// //If there is no value to get, then get the parent value (a.k.a. default value).
|
|
||||||
// if (s == string.Empty)
|
|
||||||
// s = _Xp.ParentValue("Section", "OldType"); // get the parent value
|
|
||||||
// // If there is no parent value, then use the volian default
|
|
||||||
// if (s == string.Empty)
|
|
||||||
// return AttPrintSize.Def6lpi;// default to volian default
|
|
||||||
|
|
||||||
// idx = lpiSettings.IndexOf(s[1]);
|
|
||||||
// if (idx == -1) idx = 4;
|
|
||||||
// return (AttPrintSize)idx;
|
|
||||||
// //return (AttPrintSize)int.Parse(s);
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// // if value being saved is same as the parent value, then clear the value (save blank). This will
|
|
||||||
// // reset the data to use the parent value.
|
|
||||||
|
|
||||||
// string lpiSettings = "*pP46f7L";
|
|
||||||
// string parval = _Xp.ParentValue("Section", "OldType"); // get the parent value
|
|
||||||
// StringBuilder sb = new StringBuilder();
|
|
||||||
// string curval = parval[1].ToString();
|
|
||||||
|
|
||||||
// sb.Append(parval[0]); // save first part of OldType
|
|
||||||
|
|
||||||
// if (parval.Equals(string.Empty)) // if the parent value is empty, then use the volian default
|
|
||||||
// {
|
|
||||||
// //parval = ((int)(AttPrintSize.Def6lpi)).ToString();
|
|
||||||
// //sb.Append(((int)(AttPrintSize.Def6lpi)).ToString());
|
|
||||||
// sb.Append(lpiSettings[(int)(AttPrintSize.Def6lpi)]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (curval.Equals(((int)value).ToString()))
|
|
||||||
// _Xp["Section", "OldType"] = string.Empty; // reset to parent value
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// //sb.Append(((int)value).ToString());
|
|
||||||
// sb.Append(lpiSettings[(int)value]);
|
|
||||||
// _Xp["Section", "OldType"] = sb.ToString(); // save selected value
|
|
||||||
// }
|
|
||||||
|
|
||||||
// OnPropertyChanged("Section_AttachmentPrintSize");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
/*
|
|
||||||
int chkOffType = (rid[0] & 0x007F) - '0';
|
|
||||||
if (chkOffType > 0)
|
|
||||||
ci.AddItem("Section", "CheckoffSelection", chkOffType.ToString());
|
|
||||||
|
|
||||||
if (stype.Length > 1)
|
|
||||||
{
|
|
||||||
int chkOffHeading = (stype[1] & 0x007F) - '0';
|
|
||||||
if (chkOffHeading > 0)
|
|
||||||
ci.AddItem("Section", "CheckoffHeading", chkOffHeading.ToString());
|
|
||||||
*/
|
|
||||||
[Category("Format")]
|
[Category("Format")]
|
||||||
[DisplayName("Checkoff List Selection")]
|
[DisplayName("Checkoff List Selection")]
|
||||||
[Description("Checkoff List Selection")]
|
[Description("Checkoff List Selection")]
|
||||||
@@ -874,13 +702,10 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
//if (_SectionInfo != null && _SectionInfo.Sections != null && _SectionInfo.Sections.Count > 0 && _SectionInfo.Steps != null && _SectionInfo.Steps.Count > 0)
|
|
||||||
if (_SectionInfo != null && _SectionInfo.Sections != null && _SectionInfo.Sections.Count > 0)
|
if (_SectionInfo != null && _SectionInfo.Sections != null && _SectionInfo.Sections.Count > 0)
|
||||||
return "N";
|
return "N";
|
||||||
if (_Section != null && HasSubsections)
|
if (_Section != null && HasSubsections)
|
||||||
return "N";
|
return "N";
|
||||||
//if (_Section != null && _Section.MyContent.cont .Sections.Count > 0 && _Section.Steps.Count > 0)
|
|
||||||
// return "N";
|
|
||||||
return "Y";
|
return "Y";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1013,8 +838,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
if (MyEnhancedDocuments == null || MyEnhancedDocuments.Count == 0) // clear out the xml node
|
if (MyEnhancedDocuments == null || MyEnhancedDocuments.Count == 0) // clear out the xml node
|
||||||
{
|
{
|
||||||
//XmlNode dd = _Xp.XmlContents.SelectSingleNode("//Slave[@index='" + index.ToString() + "']");
|
|
||||||
//dd.ParentNode.RemoveChild(dd);
|
|
||||||
List<XmlNode> nodesToDel = new List<XmlNode>();
|
List<XmlNode> nodesToDel = new List<XmlNode>();
|
||||||
foreach (XmlNode xnr in _Xp.XmlContents.SelectNodes("//Enhanced")) nodesToDel.Add(xnr);
|
foreach (XmlNode xnr in _Xp.XmlContents.SelectNodes("//Enhanced")) nodesToDel.Add(xnr);
|
||||||
if (nodesToDel != null)
|
if (nodesToDel != null)
|
||||||
|
|||||||
@@ -1,19 +1,14 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using DescriptiveEnum;
|
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
public partial class EnhancedDocuments : List<EnhancedDocument>
|
public partial class EnhancedDocuments : List<EnhancedDocument>
|
||||||
{
|
{
|
||||||
public void Add(int type, int itemID)
|
public void Add(int type, int itemID) => Add(new EnhancedDocument(type, itemID));
|
||||||
{
|
public static EnhancedDocuments Load(XMLProperties _Xp)
|
||||||
Add(new EnhancedDocument(type, itemID));
|
|
||||||
}
|
|
||||||
public static EnhancedDocuments Load(XMLProperties _Xp)
|
|
||||||
{
|
{
|
||||||
EnhancedDocuments ed = new EnhancedDocuments();
|
EnhancedDocuments ed = new EnhancedDocuments();
|
||||||
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
||||||
@@ -31,45 +26,25 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
public partial class EnhancedDocument
|
public partial class EnhancedDocument
|
||||||
{
|
{
|
||||||
private int _Type;
|
public int Type { get; set; }
|
||||||
public int Type
|
public int ItemID { get; set; }
|
||||||
{
|
public EnhancedDocument() { ;}
|
||||||
get { return _Type; }
|
|
||||||
set { _Type = value; }
|
|
||||||
}
|
|
||||||
private int _ItemID;
|
|
||||||
public int ItemID
|
|
||||||
{
|
|
||||||
get { return _ItemID; }
|
|
||||||
set { _ItemID = value; }
|
|
||||||
}
|
|
||||||
public EnhancedDocument() { ;}
|
|
||||||
public EnhancedDocument(int type, int itemID)
|
public EnhancedDocument(int type, int itemID)
|
||||||
{
|
{
|
||||||
Type = type;
|
Type = type;
|
||||||
ItemID = itemID;
|
ItemID = itemID;
|
||||||
}
|
}
|
||||||
public override string ToString()
|
public override string ToString() => $"{Type}.ItemID={ItemID}";
|
||||||
{
|
}
|
||||||
return string.Format("{0}.ItemID={1}", Type, ItemID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class StepConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
public class StepConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged, IItemConfig
|
||||||
{
|
{
|
||||||
#region DynamicTypeDescriptor
|
#region DynamicTypeDescriptor
|
||||||
internal override bool IsReadOnly
|
internal override bool IsReadOnly => false;
|
||||||
{
|
#endregion
|
||||||
get { return false; }//_Section == null; }
|
#region XML
|
||||||
}
|
private readonly XMLProperties _Xp;
|
||||||
#endregion
|
|
||||||
#region XML
|
|
||||||
private XMLProperties _Xp;
|
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Constructors
|
#region Constructors
|
||||||
//PROPGRID: Hide ParentLookup
|
//PROPGRID: Hide ParentLookup
|
||||||
@@ -79,18 +54,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
get { return _Xp.ParentLookup; }
|
get { return _Xp.ParentLookup; }
|
||||||
set { _Xp.ParentLookup = value; }
|
set { _Xp.ParentLookup = value; }
|
||||||
}
|
}
|
||||||
//PROPGRID: Had to comment out NonSerialized to hide AncestorLookup from Property Grid
|
private readonly Step _Step;
|
||||||
//[NonSerialized]
|
private readonly StepInfo _StepInfo;
|
||||||
//private bool _AncestorLookup;
|
|
||||||
////PROPGRID: Hide AncestorLookup
|
|
||||||
//[Browsable(false)]
|
|
||||||
//public bool AncestorLookup
|
|
||||||
//{
|
|
||||||
// get { return _AncestorLookup; }
|
|
||||||
// set { _AncestorLookup = value; }
|
|
||||||
//}
|
|
||||||
private Step _Step;
|
|
||||||
private StepInfo _StepInfo;
|
|
||||||
public StepConfig(Step step)
|
public StepConfig(Step step)
|
||||||
{
|
{
|
||||||
_Step = step;
|
_Step = step;
|
||||||
@@ -111,47 +76,36 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_Xp = new XMLProperties(xml);
|
_Xp = new XMLProperties(xml);
|
||||||
|
|
||||||
}
|
}
|
||||||
public StepConfig()
|
public StepConfig() => _Xp = new XMLProperties();
|
||||||
{
|
internal string GetValue(string group, string item) => _Xp[group, item];
|
||||||
_Xp = new XMLProperties();
|
#endregion
|
||||||
}
|
#region Local Properties
|
||||||
internal string GetValue(string group, string item)
|
|
||||||
{
|
#endregion
|
||||||
return _Xp[group, item];
|
#region ToString
|
||||||
}
|
public override string ToString()
|
||||||
#endregion
|
|
||||||
#region Local Properties
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
#region ToString
|
|
||||||
public override string ToString()
|
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
}
|
||||||
}
|
#endregion
|
||||||
#endregion
|
#region StepAttr
|
||||||
#region StepAttr
|
public int Step_FloatingFoldout
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Floating Foldout Association")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Floating Foldout Association")]
|
|
||||||
public int Step_FloatingFoldout
|
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
string s = _Xp["Step", "FloatingFoldout"];
|
string s = _Xp["Step", "FloatingFoldout"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -196,28 +150,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Step_TCAS");
|
OnPropertyChanged("Step_TCAS");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//// Alternate text to use on the Continuous Action Summary
|
|
||||||
//public string Step_AlternateContActSumText
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "AlternateContActSumText"];
|
|
||||||
// //If there is no value to get, then we use the actual step text
|
|
||||||
// if (s == string.Empty) return null;
|
|
||||||
// return s;
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "AlternateContActSumText"];
|
|
||||||
// if (value == s) return;
|
|
||||||
// _Xp["Step", "AlternateContActSumText"] = value;
|
|
||||||
// OnPropertyChanged("Step_AlternateContActSumText");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Placekeeper")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Placekeeper")]
|
|
||||||
public string Step_Placekeeper
|
public string Step_Placekeeper
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -236,10 +168,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Step_Placekeeper");
|
OnPropertyChanged("Step_Placekeeper");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Check Off Index")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Check Off Index")]
|
|
||||||
public int Step_CheckOffIndex
|
public int Step_CheckOffIndex
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -248,24 +176,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
|
|
||||||
// there was an invalid character for Wolf Creek's index. just return
|
// there was an invalid character for Wolf Creek's index. just return
|
||||||
// a 0 if found. The dataloader was fixed (6/8/12) to not migrate the
|
// a 0 if found. The dataloader was fixed (6/8/12) to not migrate the
|
||||||
// bad character, but this was added, in case there are some other conditions.
|
// bad character, but this was added, in case there are some other conditions.
|
||||||
int tst = 0;
|
if (int.TryParse(s, out int tst))
|
||||||
if(int.TryParse(s,out tst))
|
return tst;
|
||||||
return tst;
|
tst = (int) s[0];
|
||||||
tst = (int) s[0];
|
|
||||||
tst -= '0';
|
tst -= '0';
|
||||||
return tst;
|
return tst;
|
||||||
//try
|
|
||||||
//{
|
|
||||||
// tst = int.Parse(s);
|
|
||||||
//}
|
|
||||||
//catch (Exception ex)
|
|
||||||
//{
|
|
||||||
// return 0;
|
|
||||||
//}
|
|
||||||
//return int.Parse(s);
|
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -275,10 +193,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Step_CheckOffIndex");
|
OnPropertyChanged("Step_CheckOffIndex");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Manual Pagebreak")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Manual Pagebreak")]
|
|
||||||
public bool Step_ManualPagebreak
|
public bool Step_ManualPagebreak
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -352,10 +266,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Step_SubStepPagebreak");
|
OnPropertyChanged("Step_SubStepPagebreak");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Change Bar Override")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Change Bar Override")]
|
|
||||||
public string Step_CBOverride
|
public string Step_CBOverride
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -440,10 +350,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
OnPropertyChanged("Step_Responsibility");
|
OnPropertyChanged("Step_Responsibility");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//[Category("Step Attributes")]
|
|
||||||
//[DisplayName("Step Change By Spell Checker")]
|
|
||||||
//[RefreshProperties(RefreshProperties.All)]
|
|
||||||
//[Description("Step Change By Spell Checker")]
|
|
||||||
// When the spell checker changes text do not assign a change bar but keep existing change bar if it is there
|
// When the spell checker changes text do not assign a change bar but keep existing change bar if it is there
|
||||||
public string Step_SpellCheckerChangedText
|
public string Step_SpellCheckerChangedText
|
||||||
{
|
{
|
||||||
@@ -557,16 +463,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Step", "ImageWidth"];
|
string s = _Xp["Step", "ImageWidth"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -582,16 +488,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string s = _Xp["Step", "ImageHeight"];
|
string s = _Xp["Step", "ImageHeight"];
|
||||||
if (s == string.Empty) return 0;
|
if (s == string.Empty) return 0;
|
||||||
int tst = 0;
|
int tst;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
tst = int.Parse(s);
|
tst = int.Parse(s);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return int.Parse(s);
|
return tst;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
@@ -617,7 +523,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set
|
set
|
||||||
{
|
{
|
||||||
_MyEnhancedDocuments = value;
|
_MyEnhancedDocuments = value;
|
||||||
//OnPropertyChanged("EnhancedDocuments");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void AddEnhancedDocument(int type, int itemid)
|
public void AddEnhancedDocument(int type, int itemid)
|
||||||
@@ -637,7 +542,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// so that what remains are those that need added to xml that will then be written to database
|
// so that what remains are those that need added to xml that will then be written to database
|
||||||
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
foreach (XmlNode xn in _Xp.XmlContents.SelectNodes("//Enhanced"))
|
||||||
{
|
{
|
||||||
//EnhancedDocument tmp = edsToAdd[int.Parse(xn.Attributes["Type"].Value)];
|
|
||||||
EnhancedDocument tmp = edsToAdd.GetByType(int.Parse(xn.Attributes["Type"].Value));
|
EnhancedDocument tmp = edsToAdd.GetByType(int.Parse(xn.Attributes["Type"].Value));
|
||||||
if (tmp != null)
|
if (tmp != null)
|
||||||
{
|
{
|
||||||
@@ -659,74 +563,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
xa.Value = edadd.ItemID.ToString();
|
xa.Value = edadd.ItemID.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public string Step_SourceToBackground
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "SourceToBackground"];
|
|
||||||
// if (s == string.Empty) return null;
|
|
||||||
// return s;
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "SourceToBackground"];
|
|
||||||
// if (value != null && value.ToString() == s) return;
|
|
||||||
// if (value == null && s != null) _Xp["Step", "SourceToBackground"] = null;
|
|
||||||
// else _Xp["Step", "SourceToBackground"] = value.ToString();
|
|
||||||
// OnPropertyChanged("Step_SourceToBackground");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//public string Step_BackgroundToSource
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "BackgroundToSource"];
|
|
||||||
// if (s == string.Empty) return null;
|
|
||||||
// return s;
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "BackgroundToSource"];
|
|
||||||
// if (value != null && value.ToString() == s) return;
|
|
||||||
// if (value == null && s != null) _Xp["Step", "BackgroundToSource"] = null;
|
|
||||||
// else _Xp["Step", "BackgroundToSource"] = value.ToString();
|
|
||||||
// OnPropertyChanged("Step_BackgroundToSource");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//public string Step_SourceToDeviation
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "SourceToDeviation"];
|
|
||||||
// if (s == string.Empty) return null;
|
|
||||||
// return s;
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "SourceToDeviation"];
|
|
||||||
// if (value != null && value.ToString() == s) return;
|
|
||||||
// if (value == null && s != null) _Xp["Step", "SourceToDeviation"] = null;
|
|
||||||
// else _Xp["Step", "SourceToDeviation"] = value.ToString();
|
|
||||||
// OnPropertyChanged("Step_SourceToDeviation");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//public string Step_DeviationToSource
|
|
||||||
//{
|
|
||||||
// get
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "DeviationToSource"];
|
|
||||||
// if (s == string.Empty) return null;
|
|
||||||
// return s;
|
|
||||||
// }
|
|
||||||
// set
|
|
||||||
// {
|
|
||||||
// string s = _Xp["Step", "DeviationToSource"];
|
|
||||||
// if (value != null && value.ToString() == s) return;
|
|
||||||
// if (value == null && s != null) _Xp["Step", "DeviationToSource"] = null;
|
|
||||||
// else _Xp["Step", "DeviationToSource"] = value.ToString();
|
|
||||||
// OnPropertyChanged("Step_DeviationToSource");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IItemConfig Members
|
#region IItemConfig Members
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -9,11 +7,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class TransitionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class TransitionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
private XMLProperties _Xp;
|
private readonly XMLProperties _Xp;
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
public TransitionConfig(string xml)
|
public TransitionConfig(string xml)
|
||||||
{
|
{
|
||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
@@ -38,8 +32,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
|
||||||
}
|
}
|
||||||
#region GeneralTransitionProperties
|
#region GeneralTransitionProperties
|
||||||
[Category("Formatted")] // format transition, i.e. include page number
|
[Category("Formatted")] // format transition, i.e. include page number
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
@@ -9,11 +7,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
public class UserConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
public class UserConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
private XMLProperties _Xp;
|
private readonly XMLProperties _Xp;
|
||||||
private XMLProperties Xp
|
|
||||||
{
|
|
||||||
get { return _Xp; }
|
|
||||||
}
|
|
||||||
public UserConfig(string xml)
|
public UserConfig(string xml)
|
||||||
{
|
{
|
||||||
if (xml == string.Empty) xml = "<Config/>";
|
if (xml == string.Empty) xml = "<Config/>";
|
||||||
@@ -26,8 +20,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
string s = _Xp.ToString();
|
string s = _Xp.ToString();
|
||||||
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
|
return s == "<Config/>" || s == "<Config></Config>" ? string.Empty : s;
|
||||||
return s;
|
|
||||||
}
|
}
|
||||||
#region UserCategory // from user.cfg
|
#region UserCategory // from user.cfg
|
||||||
[Category("User")]
|
[Category("User")]
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
@@ -47,12 +45,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
set { _ParentLookup = value; }
|
set { _ParentLookup = value; }
|
||||||
}
|
}
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
XmlDocument _XmlContents;
|
readonly XmlDocument _XmlContents;
|
||||||
public XmlDocument XmlContents
|
public XmlDocument XmlContents => _XmlContents;
|
||||||
{
|
private XmlNode GetGroup(string group)
|
||||||
get { return _XmlContents; }
|
|
||||||
}
|
|
||||||
private XmlNode GetGroup(string group)
|
|
||||||
{
|
{
|
||||||
XmlNodeList xl = _XmlContents.DocumentElement.SelectNodes(string.Format("//{0}", group));
|
XmlNodeList xl = _XmlContents.DocumentElement.SelectNodes(string.Format("//{0}", group));
|
||||||
if(xl.Count == 0 && System.Text.RegularExpressions.Regex.IsMatch(group,"^[A-Za-z0-9]+$"))
|
if(xl.Count == 0 && System.Text.RegularExpressions.Regex.IsMatch(group,"^[A-Za-z0-9]+$"))
|
||||||
@@ -72,7 +67,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
private XmlAttribute GetItem(XmlNode xx, string item)
|
private XmlAttribute GetItem(XmlNode xx, string item)
|
||||||
{
|
{
|
||||||
//XmlNodeList xl = xx.SelectNodes(string.Format("@{0}", item));
|
|
||||||
XmlNodeList xl = xx.SelectNodes(
|
XmlNodeList xl = xx.SelectNodes(
|
||||||
string.Format("@*[translate(local-name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='{0}']", item.ToLower()));
|
string.Format("@*[translate(local-name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='{0}']", item.ToLower()));
|
||||||
switch (xl.Count)
|
switch (xl.Count)
|
||||||
@@ -87,11 +81,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
throw new XmlPropertiesException("Found more than one node @{0}", item);
|
throw new XmlPropertiesException("Found more than one node @{0}", item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public string ParentValue(string group, string item)
|
public string ParentValue(string group, string item) => OnLookInAncestor(this, new XMLPropertiesArgs(group, item, true));
|
||||||
{
|
public string this[string group, string item]
|
||||||
return OnLookInAncestor(this, new XMLPropertiesArgs(group, item, true));
|
|
||||||
}
|
|
||||||
public string this[string group, string item]
|
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@@ -162,41 +153,26 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
public partial class XMLPropertiesArgs
|
public partial class XMLPropertiesArgs
|
||||||
{
|
{
|
||||||
#region Business Methods
|
#region Business Methods
|
||||||
private string _Group;
|
public string Group { get; set; }
|
||||||
public string Group
|
public string Item { get; set; }
|
||||||
{
|
|
||||||
get { return _Group; }
|
|
||||||
set { _Group = value; }
|
|
||||||
}
|
|
||||||
private string _Item;
|
|
||||||
public string Item
|
|
||||||
{
|
|
||||||
get { return _Item; }
|
|
||||||
set { _Item = value; }
|
|
||||||
}
|
|
||||||
private bool _AncestorLookup;
|
|
||||||
|
|
||||||
public bool AncestorLookup
|
public bool AncestorLookup { get; set; }
|
||||||
{
|
|
||||||
get { return _AncestorLookup; }
|
|
||||||
set { _AncestorLookup = value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private XMLPropertiesArgs() { ;}
|
private XMLPropertiesArgs() { ;}
|
||||||
public XMLPropertiesArgs(string group, string item)
|
public XMLPropertiesArgs(string group, string item)
|
||||||
{
|
{
|
||||||
_Group=group;
|
Group=group;
|
||||||
_Item=item;
|
Item=item;
|
||||||
_AncestorLookup = false;
|
AncestorLookup = false;
|
||||||
}
|
}
|
||||||
public XMLPropertiesArgs(string group, string item, bool ancestorLookup)
|
public XMLPropertiesArgs(string group, string item, bool ancestorLookup)
|
||||||
{
|
{
|
||||||
_Group = group;
|
Group = group;
|
||||||
_Item = item;
|
Item = item;
|
||||||
_AncestorLookup = ancestorLookup;
|
AncestorLookup = ancestorLookup;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,31 +5,22 @@ using System.Data;
|
|||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using Csla;
|
using Csla;
|
||||||
using Csla.Data;
|
using Csla.Data;
|
||||||
using Csla.Validation;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
public class ESP_FixHyphens : CommandBase
|
public class ESP_FixHyphens : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int AffectedRows { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_DeletePDFs cmd = new ESP_DeletePDFs
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _AffectedRows;
|
};
|
||||||
public int AffectedRows
|
DataPortal.Execute<ESP_DeletePDFs>(cmd);
|
||||||
{
|
|
||||||
get { return _AffectedRows; }
|
|
||||||
set { _AffectedRows = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_DeletePDFs cmd = new ESP_DeletePDFs();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_DeletePDFs>(cmd);
|
|
||||||
return cmd.AffectedRows;
|
return cmd.AffectedRows;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -59,24 +50,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_DeletePDFs : CommandBase
|
public class ESP_DeletePDFs : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int AffectedRows { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_DeletePDFs cmd = new ESP_DeletePDFs
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _AffectedRows;
|
};
|
||||||
public int AffectedRows
|
DataPortal.Execute<ESP_DeletePDFs>(cmd);
|
||||||
{
|
|
||||||
get { return _AffectedRows; }
|
|
||||||
set { _AffectedRows = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_DeletePDFs cmd = new ESP_DeletePDFs();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_DeletePDFs>(cmd);
|
|
||||||
return cmd.AffectedRows;
|
return cmd.AffectedRows;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -106,24 +89,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_IdentifyDisconnectedItems : CommandBase
|
public class ESP_IdentifyDisconnectedItems : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_IdentifyDisconnectedItems cmd = new ESP_IdentifyDisconnectedItems
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_IdentifyDisconnectedItems>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_IdentifyDisconnectedItems cmd = new ESP_IdentifyDisconnectedItems();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_IdentifyDisconnectedItems>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -157,24 +132,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_PurgeDisconnectedItems : CommandBase
|
public class ESP_PurgeDisconnectedItems : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_PurgeDisconnectedItems cmd = new ESP_PurgeDisconnectedItems
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_PurgeDisconnectedItems>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_PurgeDisconnectedItems cmd = new ESP_PurgeDisconnectedItems();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_PurgeDisconnectedItems>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -206,24 +173,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_GetROAssoc : CommandBase
|
public class ESP_GetROAssoc : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_GetROAssoc cmd = new ESP_GetROAssoc
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_GetROAssoc>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_GetROAssoc cmd = new ESP_GetROAssoc();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_GetROAssoc>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -257,24 +216,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_CleanupROAssoc : CommandBase
|
public class ESP_CleanupROAssoc : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_CleanupROAssoc cmd = new ESP_CleanupROAssoc
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_CleanupROAssoc>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_CleanupROAssoc cmd = new ESP_CleanupROAssoc();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_CleanupROAssoc>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -307,24 +258,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_GetUnusedRoFsts : CommandBase
|
public class ESP_GetUnusedRoFsts : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_GetUnusedRoFsts cmd = new ESP_GetUnusedRoFsts
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_GetUnusedRoFsts>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_GetUnusedRoFsts cmd = new ESP_GetUnusedRoFsts();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_GetUnusedRoFsts>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -358,24 +301,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_GetUnusedFigures : CommandBase
|
public class ESP_GetUnusedFigures : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_GetUnusedFigures cmd = new ESP_GetUnusedFigures
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_GetUnusedFigures>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_GetUnusedFigures cmd = new ESP_GetUnusedFigures();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_GetUnusedFigures>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -409,24 +344,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_PurgeUnusedRoFstsAndFigures : CommandBase
|
public class ESP_PurgeUnusedRoFstsAndFigures : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public int RowCount { get; set; }
|
||||||
|
public static int Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_PurgeUnusedRoFstsAndFigures cmd = new ESP_PurgeUnusedRoFstsAndFigures
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private int _RowCount;
|
};
|
||||||
public int RowCount
|
DataPortal.Execute<ESP_PurgeUnusedRoFstsAndFigures>(cmd);
|
||||||
{
|
|
||||||
get { return _RowCount; }
|
|
||||||
set { _RowCount = value; }
|
|
||||||
}
|
|
||||||
public static int Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_PurgeUnusedRoFstsAndFigures cmd = new ESP_PurgeUnusedRoFstsAndFigures();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_PurgeUnusedRoFstsAndFigures>(cmd);
|
|
||||||
return cmd.RowCount;
|
return cmd.RowCount;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -458,24 +385,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_IdentifyNonEditableItems : CommandBase
|
public class ESP_IdentifyNonEditableItems : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public List<ItemInfo> ItemInfoList { get; set; } = new List<ItemInfo>();
|
||||||
|
public static List<ItemInfo> Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_IdentifyNonEditableItems cmd = new ESP_IdentifyNonEditableItems
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private List<ItemInfo> _ItemInfoList = new List<ItemInfo>();
|
};
|
||||||
public List<ItemInfo> ItemInfoList
|
DataPortal.Execute<ESP_IdentifyNonEditableItems>(cmd);
|
||||||
{
|
|
||||||
get { return _ItemInfoList; }
|
|
||||||
set { _ItemInfoList = value; }
|
|
||||||
}
|
|
||||||
public static List<ItemInfo> Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_IdentifyNonEditableItems cmd = new ESP_IdentifyNonEditableItems();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_IdentifyNonEditableItems>(cmd);
|
|
||||||
return cmd.ItemInfoList;
|
return cmd.ItemInfoList;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -508,24 +427,16 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public class ESP_GetDatabaseSessions : CommandBase
|
public class ESP_GetDatabaseSessions : CommandBase
|
||||||
{
|
{
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
#region Factory Methods
|
#region Factory Methods
|
||||||
private string _StoredProcedure;
|
public string StoredProcedure { get; set; }
|
||||||
public string StoredProcedure
|
public string ResultsString { get; set; }
|
||||||
|
public static string Execute(string storedProcedure)
|
||||||
{
|
{
|
||||||
get { return _StoredProcedure; }
|
ESP_GetDatabaseSessions cmd = new ESP_GetDatabaseSessions
|
||||||
set { _StoredProcedure = value; }
|
{
|
||||||
}
|
StoredProcedure = storedProcedure
|
||||||
private string _ResultsString;
|
};
|
||||||
public string ResultsString
|
DataPortal.Execute<ESP_GetDatabaseSessions>(cmd);
|
||||||
{
|
|
||||||
get { return _ResultsString; }
|
|
||||||
set { _ResultsString = value; }
|
|
||||||
}
|
|
||||||
public static string Execute(string storedProcedure)
|
|
||||||
{
|
|
||||||
ESP_GetDatabaseSessions cmd = new ESP_GetDatabaseSessions();
|
|
||||||
cmd.StoredProcedure = storedProcedure;
|
|
||||||
DataPortal.Execute<ESP_GetDatabaseSessions>(cmd);
|
|
||||||
return cmd.ResultsString;
|
return cmd.ResultsString;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
@@ -579,7 +490,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ResultsString = sbs.ToString();
|
ResultsString = sbs.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -591,12 +502,4 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
public class ESP_FindROProblems : CommandBase
|
|
||||||
{
|
|
||||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
|
||||||
#region Factory Methods
|
|
||||||
#endregion
|
|
||||||
#region Server-Side Code
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using Csla;
|
using Csla;
|
||||||
using Csla.Data;
|
using Csla.Data;
|
||||||
|
|
||||||
@@ -11,12 +9,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
public partial class AnnotationInfo
|
public partial class AnnotationInfo
|
||||||
{
|
{
|
||||||
public override string ToString()
|
public override string ToString() => _SearchText;
|
||||||
{
|
#region JCB Annotation Status
|
||||||
return _SearchText;
|
private bool _IsAnnotationNew = false;
|
||||||
}
|
|
||||||
#region JCB Annotation Status
|
|
||||||
private bool _IsAnnotationNew = false;
|
|
||||||
|
|
||||||
public bool IsAnnotationNew
|
public bool IsAnnotationNew
|
||||||
{
|
{
|
||||||
@@ -49,11 +44,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
public partial class AnnotationType
|
public partial class AnnotationType
|
||||||
{
|
{
|
||||||
public override string ToString()
|
public override string ToString() => _Name;
|
||||||
{
|
[NonSerialized]
|
||||||
return _Name;
|
|
||||||
}
|
|
||||||
[NonSerialized]
|
|
||||||
private AnnotationTypeConfig _AnnotationTypeConfig;
|
private AnnotationTypeConfig _AnnotationTypeConfig;
|
||||||
public AnnotationTypeConfig AnnotationTypeConfig
|
public AnnotationTypeConfig AnnotationTypeConfig
|
||||||
{
|
{
|
||||||
@@ -83,79 +75,69 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return _AnnotationTypeConfig;
|
return _AnnotationTypeConfig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static List<AnnotationTypeInfo> AllList()
|
public static List<AnnotationTypeInfo> AllList() => AnnotationTypeInfo._CacheList;
|
||||||
|
public override string ToString() => _Name;
|
||||||
|
public static AnnotationTypeInfo GetByName(string name)
|
||||||
{
|
{
|
||||||
//return _AllList;
|
try
|
||||||
return AnnotationTypeInfo._CacheList;
|
{
|
||||||
|
AnnotationTypeInfo tmp = DataPortal.Fetch<AnnotationTypeInfo>(new GetByNameCriteria(name));
|
||||||
|
if (tmp.ErrorMessage == "No Record Found")
|
||||||
|
{
|
||||||
|
tmp.Dispose(); // Clean-up AnnotationTypeInfo
|
||||||
|
tmp = null;
|
||||||
|
}
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
throw new DbCslaException("Error on AnnotationTypeInfo.GetByName", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public override string ToString()
|
[Serializable()]
|
||||||
|
protected class GetByNameCriteria
|
||||||
{
|
{
|
||||||
return _Name;
|
private readonly string _Name;
|
||||||
|
public string Name => _Name;
|
||||||
|
public GetByNameCriteria(string name) => _Name = name;
|
||||||
}
|
}
|
||||||
public static AnnotationTypeInfo GetByName(string name)
|
private void DataPortal_Fetch(GetByNameCriteria criteria)
|
||||||
{
|
{
|
||||||
try
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationTypeInfo.DataPortal_Fetch", GetHashCode());
|
||||||
{
|
try
|
||||||
AnnotationTypeInfo tmp = DataPortal.Fetch<AnnotationTypeInfo>(new GetByNameCriteria(name));
|
{
|
||||||
if (tmp.ErrorMessage == "No Record Found")
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
tmp.Dispose(); // Clean-up AnnotationTypeInfo
|
ApplicationContext.LocalContext["cn"] = cn;
|
||||||
tmp = null;
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
}
|
{
|
||||||
return tmp;
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
}
|
cm.CommandText = "getAnnotationTypeByName";
|
||||||
catch (Exception ex)
|
cm.CommandTimeout = Database.SQLTimeout;
|
||||||
{
|
cm.Parameters.AddWithValue("@Name", criteria.Name);
|
||||||
throw new DbCslaException("Error on AnnotationTypeInfo.GetByName", ex);
|
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||||
}
|
{
|
||||||
}
|
if (!dr.Read())
|
||||||
[Serializable()]
|
{
|
||||||
protected class GetByNameCriteria
|
_ErrorMessage = "No Record Found";
|
||||||
{
|
return;
|
||||||
private string _Name;
|
}
|
||||||
public string Name { get { return _Name; } }
|
ReadData(dr);
|
||||||
public GetByNameCriteria(string name)
|
}
|
||||||
{
|
}
|
||||||
_Name = name;
|
// removing of item only needed for local data portal
|
||||||
}
|
if (ApplicationContext.ExecutionLocation == ApplicationContext.ExecutionLocations.Client)
|
||||||
}
|
ApplicationContext.LocalContext.Remove("cn");
|
||||||
private void DataPortal_Fetch(GetByNameCriteria criteria)
|
}
|
||||||
{
|
}
|
||||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationTypeInfo.DataPortal_Fetch", GetHashCode());
|
catch (Exception ex)
|
||||||
try
|
{
|
||||||
{
|
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationTypeInfo.DataPortal_Fetch", ex);
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
_ErrorMessage = ex.Message;
|
||||||
{
|
throw new DbCslaException("AnnotationTypeInfo.DataPortal_Fetch", ex);
|
||||||
ApplicationContext.LocalContext["cn"] = cn;
|
}
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
}
|
||||||
{
|
}
|
||||||
cm.CommandType = CommandType.StoredProcedure;
|
|
||||||
cm.CommandText = "getAnnotationTypeByName";
|
|
||||||
cm.CommandTimeout = Database.SQLTimeout;
|
|
||||||
cm.Parameters.AddWithValue("@Name", criteria.Name);
|
|
||||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
|
||||||
{
|
|
||||||
if (!dr.Read())
|
|
||||||
{
|
|
||||||
_ErrorMessage = "No Record Found";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ReadData(dr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// removing of item only needed for local data portal
|
|
||||||
if (ApplicationContext.ExecutionLocation == ApplicationContext.ExecutionLocations.Client)
|
|
||||||
ApplicationContext.LocalContext.Remove("cn");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationTypeInfo.DataPortal_Fetch", ex);
|
|
||||||
_ErrorMessage = ex.Message;
|
|
||||||
throw new DbCslaException("AnnotationTypeInfo.DataPortal_Fetch", ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class AnnotationTypeInfoList
|
public partial class AnnotationTypeInfoList
|
||||||
{
|
{
|
||||||
public static void Refresh()
|
public static void Refresh()
|
||||||
@@ -177,44 +159,20 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_TypeID = anotypeid;
|
_TypeID = anotypeid;
|
||||||
MarkDirty(); // force the record update
|
MarkDirty(); // force the record update
|
||||||
Save();
|
Save();
|
||||||
//Update(); // commit record to database
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void CommitChanges()
|
public void CommitChanges()
|
||||||
{
|
{
|
||||||
MarkDirty(); // force the record update
|
MarkDirty(); // force the record update
|
||||||
Save(true);
|
Save(true);
|
||||||
//Update();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DeleteAnnotation(AnnotationInfo obj)
|
public static void DeleteAnnotation(AnnotationInfo obj)
|
||||||
{
|
{
|
||||||
if (!CanDeleteObject())
|
|
||||||
throw new System.Security.SecurityException("User not authorized to remove a Annotation");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// ItemInfo nextItem = item.NextItem;
|
|
||||||
// ItemInfo prevItem = item.MyPrevious;
|
|
||||||
// item.OnBeforeDelete();
|
|
||||||
DataPortal.Delete(new DeleteCriteria(obj.AnnotationID, Volian.Base.Library.VlnSettings.UserID));
|
DataPortal.Delete(new DeleteCriteria(obj.AnnotationID, Volian.Base.Library.VlnSettings.UserID));
|
||||||
AnnotationInfo.StaticOnInfoChanged();
|
AnnotationInfo.StaticOnInfoChanged();
|
||||||
// if (nextItem != null) // Adjust PreviousID for NextItem
|
|
||||||
// {
|
|
||||||
// ItemInfo.RefreshPrevious(nextItem.ItemID, item.PreviousID);
|
|
||||||
// // The order of the next two methods was required to fix a null reference
|
|
||||||
// // when getting myparent. This bug was found when deleting a node from the
|
|
||||||
// // tree when the RTBItem was not open (i.e. in the step editor window).
|
|
||||||
// nextItem.RefreshItemParts();
|
|
||||||
// //nextItem.ResetOrdinal(); - UpdateTransitionText calls ResetOrdinal
|
|
||||||
// nextItem.UpdateTransitionText();
|
|
||||||
// }
|
|
||||||
// else if (prevItem != null)
|
|
||||||
// {
|
|
||||||
// prevItem.RefreshNextItems();
|
|
||||||
// if (prevItem.IsCaution || prevItem.IsNote) prevItem.ResetOrdinal();
|
|
||||||
// prevItem.UpdateTransitionText();
|
|
||||||
// }
|
|
||||||
// ItemInfo.DeleteItemInfoAndChildren(item.ItemID); // Dispose ItemInfo and Children
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -228,8 +186,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
public static void DeleteAnnotationProcByType(int typID, string procList)
|
public static void DeleteAnnotationProcByType(int typID, string procList)
|
||||||
{
|
{
|
||||||
if (!CanDeleteObject())
|
|
||||||
throw new System.Security.SecurityException("User not authorized to remove a Annotation");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DataPortal.Delete(new DeleteAnnotationProcByTypeCriteria(typID, procList));
|
DataPortal.Delete(new DeleteAnnotationProcByTypeCriteria(typID, procList));
|
||||||
@@ -247,8 +203,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
public static void DeleteAnnotationDocvByType(int typID, string versionID)
|
public static void DeleteAnnotationDocvByType(int typID, string versionID)
|
||||||
{
|
{
|
||||||
if (!CanDeleteObject())
|
|
||||||
throw new System.Security.SecurityException("User not authorized to remove a Annotation");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DataPortal.Delete(new DeleteAnnotationDocvByTypeCriteria(typID, versionID));
|
DataPortal.Delete(new DeleteAnnotationDocvByTypeCriteria(typID, versionID));
|
||||||
@@ -266,8 +220,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
public static int getAnnotationProcCnt(int typID, string procList)
|
public static int getAnnotationProcCnt(int typID, string procList)
|
||||||
{
|
{
|
||||||
if (!CanGetObject())
|
|
||||||
throw new System.Security.SecurityException("User not authorized to remove a Annotation");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Annotation ProcCnt = DataPortal.Fetch<Annotation>(new getAnnotationCountProcCriteria(typID, procList));
|
Annotation ProcCnt = DataPortal.Fetch<Annotation>(new getAnnotationCountProcCriteria(typID, procList));
|
||||||
@@ -287,8 +239,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
public static int getAnnotationCountDocv(int typID, string procList)
|
public static int getAnnotationCountDocv(int typID, string procList)
|
||||||
{
|
{
|
||||||
if (!CanGetObject())
|
|
||||||
throw new System.Security.SecurityException("User not authorized to remove a Annotation");
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Annotation DocvCnt = DataPortal.Fetch<Annotation>(new getAnnotationCountDocvCriteria(typID, procList));
|
Annotation DocvCnt = DataPortal.Fetch<Annotation>(new getAnnotationCountDocvCriteria(typID, procList));
|
||||||
@@ -319,10 +269,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Serializable()]
|
[Serializable()]
|
||||||
protected class DeleteCriteria
|
protected class DeleteCriteria
|
||||||
{
|
{
|
||||||
private int _AnnotationID;
|
private readonly int _AnnotationID;
|
||||||
public int AnnotationID
|
public int AnnotationID => _AnnotationID;
|
||||||
{ get { return _AnnotationID; } }
|
private string _UserID;
|
||||||
private string _UserID;
|
|
||||||
public string UserID
|
public string UserID
|
||||||
{
|
{
|
||||||
get { return _UserID; }
|
get { return _UserID; }
|
||||||
@@ -364,14 +313,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Serializable()]
|
[Serializable()]
|
||||||
protected class DeleteAnnotationProcByTypeCriteria
|
protected class DeleteAnnotationProcByTypeCriteria
|
||||||
{
|
{
|
||||||
private int _typeID;
|
private readonly int _typeID;
|
||||||
public int TypeID
|
public int TypeID => _typeID;
|
||||||
{ get { return _typeID; } }
|
|
||||||
|
|
||||||
private string _procList;
|
private readonly string _procList;
|
||||||
public string ProcList
|
public string ProcList => _procList;
|
||||||
{ get { return _procList; } }
|
public DeleteAnnotationProcByTypeCriteria(int typeID, string procList)
|
||||||
public DeleteAnnotationProcByTypeCriteria(int typeID, string procList)
|
|
||||||
{
|
{
|
||||||
_typeID = typeID;
|
_typeID = typeID;
|
||||||
_procList = procList;
|
_procList = procList;
|
||||||
@@ -407,14 +354,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
[Serializable()]
|
[Serializable()]
|
||||||
protected class DeleteAnnotationDocvByTypeCriteria
|
protected class DeleteAnnotationDocvByTypeCriteria
|
||||||
{
|
{
|
||||||
private int _typeID;
|
private readonly int _typeID;
|
||||||
public int TypeID
|
public int TypeID => _typeID;
|
||||||
{ get { return _typeID; } }
|
|
||||||
|
|
||||||
private string _versionID;
|
private readonly string _versionID;
|
||||||
public string VersionID
|
public string VersionID => _versionID;
|
||||||
{ get { return _versionID; } }
|
public DeleteAnnotationDocvByTypeCriteria(int typeID, string versionID)
|
||||||
public DeleteAnnotationDocvByTypeCriteria(int typeID, string versionID)
|
|
||||||
{
|
{
|
||||||
_typeID = typeID;
|
_typeID = typeID;
|
||||||
_versionID = versionID;
|
_versionID = versionID;
|
||||||
@@ -459,16 +404,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
private int _procCnt;
|
private int _procCnt;
|
||||||
public int ProcCnt
|
public int ProcCnt
|
||||||
{ get { return _procCnt; }
|
{
|
||||||
set { _procCnt = value; }
|
get { return _procCnt; }
|
||||||
|
set { _procCnt = value; }
|
||||||
}
|
}
|
||||||
private int _typeID;
|
private readonly int _typeID;
|
||||||
public int TypeID
|
public int TypeID => _typeID;
|
||||||
{ get { return _typeID; } }
|
private readonly string _procList;
|
||||||
private string _procList;
|
public string ProcList => _procList;
|
||||||
public string ProcList
|
public getAnnotationCountProcCriteria(int typeID, string procList, int procCnt = 0)
|
||||||
{ get { return _procList; } }
|
|
||||||
public getAnnotationCountProcCriteria(int typeID, string procList, int procCnt = 0)
|
|
||||||
{
|
{
|
||||||
_typeID = typeID;
|
_typeID = typeID;
|
||||||
_procList = procList;
|
_procList = procList;
|
||||||
@@ -517,16 +461,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
private int _docvCnt;
|
private int _docvCnt;
|
||||||
public int DocvCnt
|
public int DocvCnt
|
||||||
{ get { return _docvCnt; }
|
{
|
||||||
set { _docvCnt = value; }
|
get { return _docvCnt; }
|
||||||
|
set { _docvCnt = value; }
|
||||||
}
|
}
|
||||||
private int _TypeID;
|
private readonly int _TypeID;
|
||||||
public int TypeID
|
public int TypeID => _TypeID;
|
||||||
{ get { return _TypeID; } }
|
private readonly string _docvList;
|
||||||
private string _docvList;
|
public string DocvList => _docvList;
|
||||||
public string DocvList
|
public getAnnotationCountDocvCriteria(int typeID, string docvList, int docvCnt = 0)
|
||||||
{ get { return _docvList; } }
|
|
||||||
public getAnnotationCountDocvCriteria(int typeID, string docvList, int docvCnt = 0)
|
|
||||||
{
|
{
|
||||||
_TypeID = typeID;
|
_TypeID = typeID;
|
||||||
_docvList = docvList;
|
_docvList = docvList;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Volian.Base.Library;
|
using Volian.Base.Library;
|
||||||
@@ -438,29 +437,29 @@ namespace VEPROMS.CSLA.Library
|
|||||||
count += lst.Count;
|
count += lst.Count;
|
||||||
if (count == 0) return "";
|
if (count == 0) return "";
|
||||||
string output = typeof(T).Name;
|
string output = typeof(T).Name;
|
||||||
output += "\t" + cache.Count;
|
output += $"\t{cache.Count}";
|
||||||
output += "\t" + count + "\r\n";
|
output += $"\t{count}\r\n";
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
private static string Counts<T>(int count)
|
private static string Counts<T>(int count)
|
||||||
{
|
{
|
||||||
if (count == 0) return "";
|
if (count == 0) return "";
|
||||||
string output = typeof(T).Name;
|
string output = typeof(T).Name;
|
||||||
output += "\t" + count + "\r\n";
|
output += $"\t{count}\r\n";
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
private static string Counts<T>(int countNotDisposed, int countNotFinalized)
|
private static string Counts<T>(int countNotDisposed, int countNotFinalized)
|
||||||
{
|
{
|
||||||
if (countNotDisposed == 0 && countNotFinalized == 0) return "";
|
if (countNotDisposed == 0 && countNotFinalized == 0) return "";
|
||||||
string output = typeof(T).Name;
|
string output = typeof(T).Name;
|
||||||
output += "\t" + countNotDisposed + "\t" + countNotFinalized + "\r\n";
|
output += $"\t{countNotDisposed}\t{countNotFinalized}\r\n";
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
private static string Counts<T>(int countCreated, int countNotDisposed, int countNotFinalized)
|
private static string Counts<T>(int countCreated, int countNotDisposed, int countNotFinalized)
|
||||||
{
|
{
|
||||||
if (countCreated == 0) return "";
|
if (countCreated == 0) return "";
|
||||||
string output = typeof(T).Name;
|
string output = typeof(T).Name;
|
||||||
output += "\t" + countCreated + "\t" + countNotDisposed + "\t" + countNotFinalized + "\r\n";
|
output += $"\t{countCreated}\t{countNotDisposed}\t{countNotFinalized}\r\n";
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -475,7 +474,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
#region Stack
|
#region Stack
|
||||||
public partial class Content
|
public partial class Content
|
||||||
{
|
{
|
||||||
private static List<string> _MyStack = new List<string>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<string> _MyStack = new List<string>();
|
||||||
public static string MyStack
|
public static string MyStack
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -519,15 +519,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return _MyStack.IndexOf(stk);
|
return _MyStack.IndexOf(stk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private int _StackIndex = StaticStackIndex;
|
private readonly int _StackIndex = StaticStackIndex;
|
||||||
public int StackIndex
|
public int StackIndex => _StackIndex;
|
||||||
{
|
}
|
||||||
get { return _StackIndex; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class ContentInfo
|
public partial class ContentInfo
|
||||||
{
|
{
|
||||||
private static List<string> _MyStack = new List<string>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<string> _MyStack = new List<string>();
|
||||||
public static string MyStack
|
public static string MyStack
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -571,15 +569,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return _MyStack.IndexOf(stk);
|
return _MyStack.IndexOf(stk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private int _StackIndex = StaticStackIndex;
|
private readonly int _StackIndex = StaticStackIndex;
|
||||||
public int StackIndex
|
public int StackIndex => _StackIndex;
|
||||||
{
|
}
|
||||||
get { return _StackIndex; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class DocVersionInfo
|
public partial class DocVersionInfo
|
||||||
{
|
{
|
||||||
private static List<string> _MyStack = new List<string>();
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")]
|
||||||
|
private static List<string> _MyStack = new List<string>();
|
||||||
public static string MyStack
|
public static string MyStack
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -623,12 +619,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return _MyStack.IndexOf(stk);
|
return _MyStack.IndexOf(stk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private int _StackIndex = StaticStackIndex;
|
private readonly int _StackIndex = StaticStackIndex;
|
||||||
public int StackIndex
|
public int StackIndex => _StackIndex;
|
||||||
{
|
}
|
||||||
get { return _StackIndex; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public partial class PartInfo
|
public partial class PartInfo
|
||||||
{
|
{
|
||||||
public static HashSet<int> CacheList
|
public static HashSet<int> CacheList
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace VEPROMS.CSLA.Library
|
namespace VEPROMS.CSLA.Library
|
||||||
{
|
{
|
||||||
@@ -21,26 +19,28 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// if the dictionary hasn't been set yet,
|
// if the dictionary hasn't been set yet,
|
||||||
if (ColorIndx==null)
|
if (ColorIndx==null)
|
||||||
{
|
{
|
||||||
ColorIndx = new Dictionary<string, int>();
|
ColorIndx = new Dictionary<string, int>
|
||||||
ColorIndx["black"] = 1;
|
{
|
||||||
ColorIndx["blue"] = 2;
|
["black"] = 1,
|
||||||
ColorIndx["green"] = 3;
|
["blue"] = 2,
|
||||||
ColorIndx["cyan"] = 4;
|
["green"] = 3,
|
||||||
ColorIndx["red"] = 5;
|
["cyan"] = 4,
|
||||||
ColorIndx["magenta"] = 6;
|
["red"] = 5,
|
||||||
ColorIndx["brown"] = 7;
|
["magenta"] = 6,
|
||||||
ColorIndx["lightgray"] = 8;
|
["brown"] = 7,
|
||||||
ColorIndx["darkgray"] = 9;
|
["lightgray"] = 8,
|
||||||
ColorIndx["lightblue"] = 10;
|
["darkgray"] = 9,
|
||||||
ColorIndx["lightgreen"] = 11;
|
["lightblue"] = 10,
|
||||||
ColorIndx["lightcyan"] = 12;
|
["lightgreen"] = 11,
|
||||||
ColorIndx["lightred"] = 13;
|
["lightcyan"] = 12,
|
||||||
ColorIndx["lightmagenta"] = 14;
|
["lightred"] = 13,
|
||||||
ColorIndx["yellow"] = 15;
|
["lightmagenta"] = 14,
|
||||||
ColorIndx["white"] = 16;
|
["yellow"] = 15,
|
||||||
ColorIndx["ro"] = 17;
|
["white"] = 16,
|
||||||
ColorIndx["trans"] = 18;
|
["ro"] = 17,
|
||||||
ColorIndx["editbackground"] = 19;
|
["trans"] = 18,
|
||||||
|
["editbackground"] = 19
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return ColorIndx[color];
|
return ColorIndx[color];
|
||||||
}
|
}
|
||||||
@@ -49,49 +49,49 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// This gets the rtf color table string for the input color.
|
// This gets the rtf color table string for the input color.
|
||||||
public static string GetTableString(string color)
|
public static string GetTableString(string color)
|
||||||
{
|
{
|
||||||
Dictionary<string, int> ColorIndx = new Dictionary<string, int>();
|
|
||||||
if (ColorRtf == null)
|
if (ColorRtf == null)
|
||||||
{
|
{
|
||||||
ColorRtf = new Dictionary<string, string>();
|
ColorRtf = new Dictionary<string, string>
|
||||||
|
{
|
||||||
// color table, from 16-bit code, is defined as (in order):
|
// color table, from 16-bit code, is defined as (in order):
|
||||||
// black=0,0,0
|
// black=0,0,0
|
||||||
// blue=0,0,255
|
// blue=0,0,255
|
||||||
// green=0,155,12
|
// green=0,155,12
|
||||||
// cyan=0,136,159
|
// cyan=0,136,159
|
||||||
// red=255,0,0
|
// red=255,0,0
|
||||||
// magenta=202,28,175
|
// magenta=202,28,175
|
||||||
// brown=128,64,0
|
// brown=128,64,0
|
||||||
// lightgray=0,0,0
|
// lightgray=0,0,0
|
||||||
// darkgray=0,0,0
|
// darkgray=0,0,0
|
||||||
// lightblue=0,0,255
|
// lightblue=0,0,255
|
||||||
// lightgreen=0,255,0
|
// lightgreen=0,255,0
|
||||||
// lightcyan=0,0,255
|
// lightcyan=0,0,255
|
||||||
// lightred=209,29,183
|
// lightred=209,29,183
|
||||||
// lightmagenta=255,0,255
|
// lightmagenta=255,0,255
|
||||||
// yellow=255,0,0
|
// yellow=255,0,0
|
||||||
// white=128,128,128
|
// white=128,128,128
|
||||||
// ro=255,128,0
|
// ro=255,128,0
|
||||||
// editbackground=192,192,192
|
// editbackground=192,192,192
|
||||||
ColorRtf["black"] = "\\red0\\green0\\blue0;";
|
["black"] = "\\red0\\green0\\blue0;",
|
||||||
ColorRtf["blue"] = "\\red0\\green0\\blue255;";
|
["blue"] = "\\red0\\green0\\blue255;",
|
||||||
ColorRtf["green"] = "\\red0\\green155\\blue12;";
|
["green"] = "\\red0\\green155\\blue12;",
|
||||||
ColorRtf["cyan"] = "\\red0\\green136\\blue159;";
|
["cyan"] = "\\red0\\green136\\blue159;",
|
||||||
ColorRtf["red"] = "\\red255\\green0\\blue0;";
|
["red"] = "\\red255\\green0\\blue0;",
|
||||||
ColorRtf["magenta"] = "\\red202\\green28\\blue175;";
|
["magenta"] = "\\red202\\green28\\blue175;",
|
||||||
ColorRtf["brown"] = "\\red128\\green64\\blue0;";
|
["brown"] = "\\red128\\green64\\blue0;",
|
||||||
ColorRtf["lightgray"] = "\\red100\\green100\\blue100;";
|
["lightgray"] = "\\red100\\green100\\blue100;",
|
||||||
ColorRtf["darkgray"] = "\\red10\\green10\\blue10;";
|
["darkgray"] = "\\red10\\green10\\blue10;",
|
||||||
ColorRtf["lightblue"] = "\\red0\\green0\\blue255;";
|
["lightblue"] = "\\red0\\green0\\blue255;",
|
||||||
ColorRtf["lightgreen"] = "\\red0\\green255\\blue0;";
|
["lightgreen"] = "\\red0\\green255\\blue0;",
|
||||||
ColorRtf["lightcyan"] = "\\red0\\green0\\blue255;";
|
["lightcyan"] = "\\red0\\green0\\blue255;",
|
||||||
ColorRtf["lightred"] = "\\red209\\green29\\blue183;";
|
["lightred"] = "\\red209\\green29\\blue183;",
|
||||||
ColorRtf["lightmagenta"] = "\\red255\\green0\\blue255;";
|
["lightmagenta"] = "\\red255\\green0\\blue255;",
|
||||||
ColorRtf["yellow"] = "\\red255\\green0\\blue0;";
|
["yellow"] = "\\red255\\green0\\blue0;",
|
||||||
ColorRtf["white"] = "\\red128\\green128\\blue128;";
|
["white"] = "\\red128\\green128\\blue128;",
|
||||||
ColorRtf["ro"] = "\\red255\\green128\\blue0;";
|
["ro"] = "\\red255\\green128\\blue0;",
|
||||||
ColorRtf["trans"] = "\\red255\\green128\\blue0;";
|
["trans"] = "\\red255\\green128\\blue0;",
|
||||||
ColorRtf["editbackground"] = "\\red192\\green192\\blue192;";
|
["editbackground"] = "\\red192\\green192\\blue192;"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return ColorRtf[color];
|
return ColorRtf[color];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using Csla;
|
using Csla;
|
||||||
using Csla.Data;
|
using Csla.Data;
|
||||||
using System.Xml;
|
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@@ -80,7 +79,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
string rv = ConvertTransitionToText(tran, newvalue);
|
string rv = ConvertTransitionToText(tran, newvalue);
|
||||||
//Text = Text.Substring(0, myIndex - 14) + gg + Text.Substring(myIndex + myLength);
|
//Text = Text.Substring(0, myIndex - 14) + gg + Text.Substring(myIndex + myLength);
|
||||||
using (Item myitem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
using (Item myitem = ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
||||||
{
|
{
|
||||||
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
||||||
// B2016-225 (follow through) added more descriptive Annotation Type when transition is converted to text]
|
// B2016-225 (follow through) added more descriptive Annotation Type when transition is converted to text]
|
||||||
@@ -161,13 +160,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
else
|
else
|
||||||
{ // look for rtf font command and insert it around the special char (i.e. symbol char)
|
{ // look for rtf font command and insert it around the special char (i.e. symbol char)
|
||||||
int ii = orgText.IndexOf(specChar);
|
int ii = orgText.IndexOf(specChar);
|
||||||
int fnt1 = -1;
|
if (ii > -1)
|
||||||
int fnt2 = -1;
|
|
||||||
if (ii > -1)
|
|
||||||
{
|
{
|
||||||
fnt1 = orgText.LastIndexOf(@"\f", ii);
|
int fnt1 = orgText.LastIndexOf(@"\f", ii);
|
||||||
fnt2 = orgText.IndexOf(@"\f", ii);
|
int fnt2 = orgText.IndexOf(@"\f", ii);
|
||||||
if (fnt1 != -1 && fnt2 != -1)
|
if (fnt1 != -1 && fnt2 != -1)
|
||||||
newValue = newValue.Replace(specChar, orgText.Substring(fnt1, 3) + specChar + orgText.Substring(fnt2, 3) + " ");
|
newValue = newValue.Replace(specChar, orgText.Substring(fnt1, 3) + specChar + orgText.Substring(fnt2, 3) + " ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -199,11 +196,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
lookFor = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}~\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}}~ \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
lookFor = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}~\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}}~ \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
||||||
int lastIndex = 0;
|
|
||||||
string newText = MyGrid.Data;
|
|
||||||
foreach (Match mm in ms)
|
foreach (Match mm in ms)
|
||||||
{
|
{
|
||||||
int offset = mm.Index;
|
|
||||||
Match m = Regex.Match(mm.Value, lookFor, RegexOptions.Singleline);
|
Match m = Regex.Match(mm.Value, lookFor, RegexOptions.Singleline);
|
||||||
if (m != null && m.Groups.Count > 1)
|
if (m != null && m.Groups.Count > 1)
|
||||||
{
|
{
|
||||||
@@ -228,8 +222,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
break; // Text has been processed
|
break; // Text has been processed
|
||||||
}
|
}
|
||||||
lastIndex = mm.Index + mm.Length;
|
}
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
public string ConvertTransitionToText(TransitionInfo tran, string value)
|
public string ConvertTransitionToText(TransitionInfo tran, string value)
|
||||||
@@ -554,13 +547,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
if (value == "?" || gg != newvalue)
|
if (value == "?" || gg != newvalue)
|
||||||
{
|
{
|
||||||
MyGrid.Data = Content.ConvertGridROsToText(MyGrid.Data, mmg, mg, newvalue); // B2017-060 convert the RO in the grid (table) to text
|
MyGrid.Data = ConvertGridROsToText(MyGrid.Data, mmg, mg, newvalue); // B2017-060 convert the RO in the grid (table) to text
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return retval == null ? "" : retval;
|
return retval ?? "";
|
||||||
}
|
}
|
||||||
// B2017-060 logic pulled from dlgExportImport to covert a RO in a table (grid) to text
|
// B2017-060 logic pulled from dlgExportImport to covert a RO in a table (grid) to text
|
||||||
public static string ConvertGridROsToText(string data, Match mmg, Match mg, string ss)
|
public static string ConvertGridROsToText(string data, Match mmg, Match mg, string ss)
|
||||||
@@ -601,8 +594,8 @@ namespace VEPROMS.CSLA.Library
|
|||||||
string retval = null;
|
string retval = null;
|
||||||
if (value == "?")
|
if (value == "?")
|
||||||
{
|
{
|
||||||
retval = this.ConvertROToText(rousg, value, rotype, origROFstInfo, roidFrmImportStep);
|
retval = ConvertROToText(rousg, value, rotype, origROFstInfo, roidFrmImportStep);
|
||||||
using (Item myitem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
using (Item myitem = ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
||||||
{
|
{
|
||||||
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
||||||
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
|
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
|
||||||
@@ -638,7 +631,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
Text = Text.Substring(0, myIndex) + newvalue + Text.Substring(myIndex + myLength);
|
Text = Text.Substring(0, myIndex) + newvalue + Text.Substring(myIndex + myLength);
|
||||||
if (!saveAnnotation)
|
if (!saveAnnotation)
|
||||||
{
|
{
|
||||||
using (Item myitem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
using (Item myitem = ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
||||||
{
|
{
|
||||||
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
||||||
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
|
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
|
||||||
@@ -836,21 +829,17 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
return str.Replace(@"\u8209?", "-").Replace(@"\u160?", " "); //dash and hard space
|
return str.Replace(@"\u8209?", "-").Replace(@"\u160?", " "); //dash and hard space
|
||||||
}
|
}
|
||||||
|
|
||||||
//C2022-028 (only used from Amin Tools) check the RO link text - compare with RO Usage information, annotate RO links that are bad
|
//C2022-028 (only used from Admin Tools) check the RO link text - compare with RO Usage information, annotate RO links that are bad
|
||||||
public bool CheckROLinkTextandUsage(ref int BadROLinksCount, ref int CheckROLinksCount, ref int FixedROLinksCount)
|
public bool CheckROLinkTextandUsage(ref int BadROLinksCount, ref int CheckROLinksCount)
|
||||||
{
|
{
|
||||||
/*** needed if we fix RO link text
|
if (Text.Contains("#Link:ReferencedObject:"))
|
||||||
bool bFixedROLinks = false;
|
|
||||||
bool bFixedTableDataText = false;
|
|
||||||
***/
|
|
||||||
if (this.Text.Contains("#Link:ReferencedObject:"))
|
|
||||||
{
|
{
|
||||||
if (this.ContentRoUsageCount == 0) // Procedure text has one or more links but no RO Usage records
|
if (ContentRoUsageCount == 0) // Procedure text has one or more links but no RO Usage records
|
||||||
{
|
{
|
||||||
CheckROLinksCount++;
|
CheckROLinksCount++;
|
||||||
_MyLog.ErrorFormat(string.Format("No RO usage records for RO link(s) - ContentID = {0}", this.ContentID));
|
_MyLog.ErrorFormat(string.Format("No RO usage records for RO link(s) - ContentID = {0}", ContentID));
|
||||||
using (Item myItem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache
|
using (Item myItem = ContentItems[0].MyItem) // so that myitem does not stay in cache
|
||||||
{
|
{
|
||||||
myItem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed
|
myItem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed
|
||||||
Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", "Incomplete RO Link Information for all RO References in this text - Relink RO References", null);
|
Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", "Incomplete RO Link Information for all RO References in this text - Relink RO References", null);
|
||||||
@@ -862,7 +851,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
string findLink = @"<START\].*?\[END>";
|
string findLink = @"<START\].*?\[END>";
|
||||||
MatchCollection ms = Regex.Matches(Text, findLink); // finds all the links (both RO and Transitions)
|
MatchCollection ms = Regex.Matches(Text, findLink); // finds all the links (both RO and Transitions)
|
||||||
string lookFor = "#Link:ReferencedObject:";
|
string lookFor = "#Link:ReferencedObject:";
|
||||||
string fixedContentText = Text;
|
|
||||||
if (ms.Count > 0)
|
if (ms.Count > 0)
|
||||||
{
|
{
|
||||||
int roCnt = 0;
|
int roCnt = 0;
|
||||||
@@ -892,18 +880,17 @@ namespace VEPROMS.CSLA.Library
|
|||||||
bool GoodROUsageID = false;
|
bool GoodROUsageID = false;
|
||||||
bool GoodROID = false;
|
bool GoodROID = false;
|
||||||
// Check each ContentRoUsages and look for a matching ROUsageID and ROID
|
// Check each ContentRoUsages and look for a matching ROUsageID and ROID
|
||||||
if (iRousage > 0 && this.ContentRoUsageCount > 0)
|
if (iRousage > 0 && ContentRoUsageCount > 0)
|
||||||
{
|
{
|
||||||
int lastROUsageID = -1;
|
int lastROUsageID = -1;
|
||||||
string lastROID = "";
|
string lastROID = "";
|
||||||
RoUsageInfo badRoUsageInfo = null;
|
RoUsageInfo badRoUsageInfo = null;
|
||||||
foreach (RoUsageInfo rui in this.ContentItems[0].MyItem.MyItemInfo.MyContent.ContentRoUsages)
|
foreach (RoUsageInfo rui in ContentItems[0].MyItem.MyItemInfo.MyContent.ContentRoUsages)
|
||||||
{
|
{
|
||||||
GoodROID = rui.ROID.Equals(sROid); //does this usage record have a matching ROID with the link text?
|
GoodROID = rui.ROID.Equals(sROid); //does this usage record have a matching ROID with the link text?
|
||||||
GoodROUsageID = rui.ROUsageID.Equals(iRousage); //does the usage record have a matching ROUsageID with the link text?
|
GoodROUsageID = rui.ROUsageID.Equals(iRousage); //does the usage record have a matching ROUsageID with the link text?
|
||||||
if (GoodROID && GoodROUsageID)
|
if (GoodROID && GoodROUsageID)
|
||||||
{
|
{
|
||||||
//myROUsages.RemoveAt(myROUsageCnt - 1);
|
|
||||||
break; // jump out loop - valid RO Usage record found
|
break; // jump out loop - valid RO Usage record found
|
||||||
}
|
}
|
||||||
if (GoodROID && !GoodROUsageID)
|
if (GoodROID && !GoodROUsageID)
|
||||||
@@ -918,46 +905,24 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
BadROLinksCount++;
|
BadROLinksCount++;
|
||||||
// Add detail information to the error log
|
// Add detail information to the error log
|
||||||
_MyLog.ErrorFormat(string.Format("Invalid ROID - ContentID = {0} Link - {1}", this.ContentID, mm.Value));
|
_MyLog.ErrorFormat(string.Format("Invalid ROID - ContentID = {0} Link - {1}", ContentID, mm.Value));
|
||||||
sAnnotationText += string.Format("Bad RO Instance {0} - RO Needs Relinked - RO Text different than RO Data\n", roCnt);
|
sAnnotationText += string.Format("Bad RO Instance {0} - RO Needs Relinked - RO Text different than RO Data\n", roCnt);
|
||||||
}
|
}
|
||||||
else if (!GoodROUsageID) // Link does not have a valid ROUsage record for that RO link - add annotation
|
else if (!GoodROUsageID) // Link does not have a valid ROUsage record for that RO link - add annotation
|
||||||
{
|
{
|
||||||
BadROLinksCount++;
|
BadROLinksCount++;
|
||||||
/*********
|
// Add detail information to the error log
|
||||||
//** below is logic to replace the ROUsageID in the linked text with one (for this contentID) that has the same ROID
|
_MyLog.ErrorFormat(string.Format("Invalid ROUsageID - ContentID = {0} Link - {1}", ContentID, mm.Value));
|
||||||
//** Commented out for now as this was test code for now - don't want to give to customers until we are comfortable
|
sAnnotationText += string.Format("RO Instance {0} Needs Relinked - Value Not Able To Update\n", roCnt);
|
||||||
//if (lastROUsageID != -1)
|
|
||||||
//{
|
|
||||||
// // set the ROUsageID in the link text to last good ROUsageID found in ROUsage table
|
|
||||||
// linkText = linkText.Replace(string.Format("#Link:ReferencedObject:{0} ", sROusageID), string.Format("#Link:ReferencedObject:{0} ", lastROUsageID));
|
|
||||||
// fixedContentText = fixedContentText.Replace(string.Format("#Link:ReferencedObject:{0} ", sROusageID), string.Format("#Link:ReferencedObject:{0} ", lastROUsageID));
|
|
||||||
// bFixedROLinks = true; // set to true so we know to update content text
|
|
||||||
// _MyLog.InfoFormat(string.Format("Fixed Invalid RO Link - ContentID = {0} badLink - {1} goodLink - {2}",this.ContentID, mm.Value, linkText));
|
|
||||||
// FixedROLinksCount++;
|
|
||||||
// using (Item myItem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
|
||||||
// {
|
|
||||||
// myItem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
|
||||||
// //Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", string.Format("Invalid RO Usage ID for RO Instance {0}",roCnt), null);
|
|
||||||
// Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Fixed Bad RO link"), "", string.Format("Fixed RO Instance {0} - Verify RO Value", roCnt), null);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
*********/
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// Add detail information to the error log
|
|
||||||
_MyLog.ErrorFormat(string.Format("Invalid ROUsageID - ContentID = {0} Link - {1}", this.ContentID, mm.Value));
|
|
||||||
sAnnotationText += string.Format("RO Instance {0} Needs Relinked - Value Not Able To Update\n", roCnt);
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (roCnt < this.ContentRoUsageCount)
|
if (roCnt < ContentRoUsageCount)
|
||||||
{
|
{
|
||||||
BadROLinksCount++;
|
BadROLinksCount++;
|
||||||
// there are more RO Usage records then there links in the step
|
// there are more RO Usage records then there links in the step
|
||||||
_MyLog.WarnFormat(string.Format("Possible missing RO links, more RO Usage records than Links - ContentID = {0}", this.ContentID));
|
_MyLog.WarnFormat(string.Format("Possible missing RO links, more RO Usage records than Links - ContentID = {0}", ContentID));
|
||||||
sAnnotationText += "Possible missing RO links.\n";
|
sAnnotationText += "Possible missing RO links.\n";
|
||||||
}
|
}
|
||||||
// if any bad RO links were found, put the information in an Annotation
|
// if any bad RO links were found, put the information in an Annotation
|
||||||
@@ -965,113 +930,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
char[] newLine = { '\n' };
|
char[] newLine = { '\n' };
|
||||||
sAnnotationText = sAnnotationText.TrimEnd(newLine);
|
sAnnotationText = sAnnotationText.TrimEnd(newLine);
|
||||||
using (Item myItem = this.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
using (Item myItem = ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
|
||||||
{
|
{
|
||||||
myItem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
myItem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
|
||||||
//Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", string.Format("Invalid RO Usage ID for RO Instance {0}",roCnt), null);
|
|
||||||
Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", sAnnotationText, null);
|
Annotation.MakeAnnotation(myItem, AnnotationType.GetByNameOrCreate("Bad RO link"), "", sAnnotationText, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*** COMMENTED OUT BECAUSE WE NOT MAKING CHANGES TO THE DATA - FOR NOW
|
|
||||||
//if (bFixedROLinks)
|
|
||||||
//{
|
|
||||||
// // save content text
|
|
||||||
// Text = fixedContentText;
|
|
||||||
//}
|
|
||||||
*****/
|
|
||||||
|
|
||||||
/*******
|
|
||||||
// if we fix RO links in the RTF then see if there is a grid to update too.
|
|
||||||
// WE DON'T NEED TO ADD ANNOTATIONS AS THAT IS DONE ABOVE (FOR THE RTF OF THE TABLE - BELOW IS THE XML OF THE TABLE
|
|
||||||
// *** bFixedROLinks WILL REMAIN FALSE FOR NOW AS WE ARE NOT CHANGING LINK TEXT - THIS WILL PREVENT THE CHECKING OF THE XML TABLE
|
|
||||||
if (bFixedROLinks && MyGrid != null && MyGrid.Data.Length > 0)
|
|
||||||
{
|
|
||||||
string fixedTableDataText = MyGrid.Data;
|
|
||||||
// **** NEED LOGIC TO CHECK RO TABLES ****
|
|
||||||
|
|
||||||
//if (rotype == (int)E_ROValueType.Table) // if change in rotable data...
|
|
||||||
//{
|
|
||||||
// if (origROFstInfo != null)
|
|
||||||
// {
|
|
||||||
// List<string> retlist = origROFstInfo.OnROTableUpdate(this, new ROFstInfoROTableUpdateEventArgs(newvalue, MyGrid.Data));
|
|
||||||
// if (MyGrid.Data != retlist[1])
|
|
||||||
// {
|
|
||||||
// MyGrid.Data = retlist[1];
|
|
||||||
// retval = Text;
|
|
||||||
// if (Text != retlist[0])
|
|
||||||
// Text = retlist[0];
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
{
|
|
||||||
// if it's an ro within a table, need to process into an flex grid to save the grid data:
|
|
||||||
string findLinkXml = @"<START\].*?\[END>";
|
|
||||||
//string lookForXml = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}} \\]+)*\\v(\\[^v \\]+)* #Link:ReferencedObject:{0} .*?\[END>$", rousg.ROUsageID);
|
|
||||||
string lookForXml = "#Link:ReferencedObject:";
|
|
||||||
MatchCollection msg = Regex.Matches(MyGrid.Data, findLinkXml);
|
|
||||||
foreach (Match mmg in msg)
|
|
||||||
{
|
|
||||||
Match mg = Regex.Match(mmg.Value, lookForXml);// look for Referenced Object link in linked text
|
|
||||||
if (mg != null && mg.Groups.Count > 1)
|
|
||||||
{
|
|
||||||
string tblLinkText = mmg.Value; // the link text in the table XML
|
|
||||||
int rousgidx = mg.Index + mg.Length;
|
|
||||||
int rousagid_len = mmg.Value.IndexOf(" ", rousgidx) - rousgidx;
|
|
||||||
string sROusageID = mmg.Value.Substring(rousgidx, rousagid_len); // ROUsageID from link text
|
|
||||||
int roidIdx = rousgidx + rousagid_len + 1;
|
|
||||||
int roid_Len = mmg.Value.IndexOf(" ", roidIdx) - roidIdx;
|
|
||||||
string sROid = mmg.Value.Substring(roidIdx, roid_Len);
|
|
||||||
// initialize to zero for cases where the ROUsage is <CROUSGID or <NEWID> to force a no match below
|
|
||||||
// -when a link has either of these, then the process of inserting that RO link did not complete for some reason
|
|
||||||
int iRousage = 0;
|
|
||||||
if (!sROusageID.StartsWith("<")) // don't try to convert if link has <CROUSGID or <NEWID> for the ROUsageID value
|
|
||||||
iRousage = Convert.ToInt32(sROusageID); //ROUsageID as interger
|
|
||||||
// see if there is a ContentID and ROUsage record match
|
|
||||||
// Both GoodROUsageID and GoodROUID must match in ROUsage record for link to be good
|
|
||||||
bool GoodROUsageID = false;
|
|
||||||
bool GoodROID = false;
|
|
||||||
// Check each ContentRoUsages and look for a matching ROUsageID and ROID
|
|
||||||
if (iRousage > 0 && this.ContentRoUsageCount > 0)
|
|
||||||
{
|
|
||||||
int lastROUsageID = -1;
|
|
||||||
string lastROID = "";
|
|
||||||
RoUsageInfo badRoUsageInfo = null;
|
|
||||||
foreach (RoUsageInfo rui in this.ContentItems[0].MyItem.MyItemInfo.MyContent.ContentRoUsages)
|
|
||||||
{
|
|
||||||
GoodROID = rui.ROID.Equals(sROid); //does this usage record have a matching ROID with the link text?
|
|
||||||
GoodROUsageID = rui.ROUsageID.Equals(iRousage); //does the usage record have a matching ROUsageID with the link text?
|
|
||||||
if (GoodROID && GoodROUsageID) break; // jump out loop - valid RO Usage record found
|
|
||||||
if (GoodROID && !GoodROUsageID)
|
|
||||||
{
|
|
||||||
lastROUsageID = rui.ROUsageID;
|
|
||||||
lastROID = rui.ROID;
|
|
||||||
}
|
|
||||||
else if (!GoodROID && GoodROUsageID)
|
|
||||||
badRoUsageInfo = rui;
|
|
||||||
}
|
|
||||||
if (!GoodROUsageID && GoodROID && lastROUsageID != -1) // Link does not have a valid ROUsage record for that RO link - add annotation
|
|
||||||
{
|
|
||||||
// set the ROUsageID in the link text to last good ROUsageID found in ROUsage table
|
|
||||||
tblLinkText = tblLinkText.Replace(string.Format("#Link:ReferencedObject:{0} ", sROusageID), string.Format("#Link:ReferencedObject:{0} ", lastROUsageID));
|
|
||||||
fixedTableDataText = fixedTableDataText.Replace(string.Format("#Link:ReferencedObject:{0} ", sROusageID), string.Format("#Link:ReferencedObject:{0} ", lastROUsageID));
|
|
||||||
bFixedTableDataText = true; // set to true so we know to update content text
|
|
||||||
}
|
|
||||||
if (bFixedTableDataText) // if we changed the table XML, then save it
|
|
||||||
{
|
|
||||||
this.MyGrid.Data = fixedTableDataText;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
******* End modify table ****/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*** needed if we fix RO links
|
|
||||||
return (bFixedROLinks || bFixedTableDataText);
|
|
||||||
***/
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1079,29 +946,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
public delegate void StaticContentInfoEvent(object sender, StaticContentInfoEventArgs args);
|
public delegate void StaticContentInfoEvent(object sender, StaticContentInfoEventArgs args);
|
||||||
public class StaticContentInfoEventArgs
|
public class StaticContentInfoEventArgs
|
||||||
{
|
{
|
||||||
string _OldValue;
|
public string OldValue { get; set; }
|
||||||
public string OldValue
|
public string NewValue { get; set; }
|
||||||
|
public string Type { get; set; }
|
||||||
|
public StaticContentInfoEventArgs(string oldValue, string newValue, string type)
|
||||||
{
|
{
|
||||||
get { return _OldValue; }
|
OldValue = oldValue;
|
||||||
set { _OldValue = value; }
|
NewValue = newValue;
|
||||||
}
|
Type = type;
|
||||||
string _NewValue;
|
|
||||||
public string NewValue
|
|
||||||
{
|
|
||||||
get { return _NewValue; }
|
|
||||||
set { _NewValue = value; }
|
|
||||||
}
|
|
||||||
string _Type;
|
|
||||||
public string Type
|
|
||||||
{
|
|
||||||
get { return _Type; }
|
|
||||||
set { _Type = value; }
|
|
||||||
}
|
|
||||||
public StaticContentInfoEventArgs(string oldValue, string newValue, string type)
|
|
||||||
{
|
|
||||||
_OldValue = oldValue;
|
|
||||||
_NewValue = newValue;
|
|
||||||
_Type = type;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1119,27 +971,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string LastChangedString
|
public string LastChangedString => FormatByteArray(_LastChanged);
|
||||||
{
|
|
||||||
get { return ContentInfo.FormatByteArray(_LastChanged); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public Int64 LastChangedInt64
|
public long LastChangedInt64 => Convert.ToInt64(LastChangedString, 16);
|
||||||
{
|
public static bool IsInCache(int contentID) => _CacheByPrimaryKey.ContainsKey(contentID.ToString());
|
||||||
get { return Convert.ToInt64(LastChangedString, 16); }
|
public static event StaticContentInfoEvent StaticContentInfoChange;
|
||||||
}
|
// B2018-002 - Invalid Transitions - Changed to Public
|
||||||
public static bool IsInCache(int contentID)
|
public static void OnStaticContentInfoChange(object sender, StaticContentInfoEventArgs args) => StaticContentInfoChange?.Invoke(sender, args);
|
||||||
{
|
public string MyContentMessage = string.Empty;
|
||||||
return _CacheByPrimaryKey.ContainsKey(contentID.ToString());
|
|
||||||
}
|
|
||||||
public static event StaticContentInfoEvent StaticContentInfoChange;
|
|
||||||
// B2018-002 - Invalid Transitions - Changed to Public
|
|
||||||
public static void OnStaticContentInfoChange(object sender, StaticContentInfoEventArgs args)
|
|
||||||
{
|
|
||||||
if (StaticContentInfoChange != null)
|
|
||||||
StaticContentInfoChange(sender, args);
|
|
||||||
}
|
|
||||||
public string MyContentMessage = string.Empty;
|
|
||||||
public string MyGridMessage = string.Empty;
|
public string MyGridMessage = string.Empty;
|
||||||
public bool InList(params int[] IDs)
|
public bool InList(params int[] IDs)
|
||||||
{
|
{
|
||||||
@@ -1150,22 +989,13 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
public void FixTransitionText(TransitionInfo tran, TransitionLookup tranLookup, ItemInfo ii)
|
public void FixTransitionText(TransitionInfo tran, TransitionLookup tranLookup, ItemInfo ii) => FixTransitionText(tran, tranLookup, ii, "");
|
||||||
{
|
|
||||||
FixTransitionText(tran, tranLookup, ii, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void FixTransitionText(TransitionInfo tran, ItemInfo ii)
|
public void FixTransitionText(TransitionInfo tran, ItemInfo ii) => FixTransitionText(tran, ii, "");
|
||||||
{
|
|
||||||
FixTransitionText(tran, ii, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void FixTransitionText(TransitionInfo tran, ItemInfo ii, string forceConvertToText)
|
public void FixTransitionText(TransitionInfo tran, ItemInfo ii, string forceConvertToText) => FixTransitionText(tran, null, ii, forceConvertToText);
|
||||||
{
|
|
||||||
FixTransitionText(tran, null, ii, forceConvertToText);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void FixTransitionText(TransitionInfo tran, TransitionLookup tranLookup, ItemInfo ii, string forceConvertToText)
|
public void FixTransitionText(TransitionInfo tran, TransitionLookup tranLookup, ItemInfo ii, string forceConvertToText)
|
||||||
{
|
{
|
||||||
string newvalue;
|
string newvalue;
|
||||||
MyContentMessage = string.Empty;
|
MyContentMessage = string.Empty;
|
||||||
@@ -1199,7 +1029,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
myLength += m.Groups[3].Length;
|
myLength += m.Groups[3].Length;
|
||||||
}
|
}
|
||||||
string gg = Text.Substring(myIndex, myLength);
|
string gg = Text.Substring(myIndex, myLength);
|
||||||
MyContentMessage = string.Format("ContentExt.ContentInfo:Content:{0}, {1}, {2}", this.ContentID, tran.TransitionID, gg);
|
MyContentMessage = string.Format("ContentExt.ContentInfo:Content:{0}, {1}, {2}", ContentID, tran.TransitionID, gg);
|
||||||
newvalue = newvalue.Replace("{", @"\{").Replace("}", @"\}");
|
newvalue = newvalue.Replace("{", @"\{").Replace("}", @"\}");
|
||||||
if ((gg.Replace(@"\u8209?", "-").Replace(@"\u9586?", @"\\")) != (newvalue.Replace("\\u8209?", "-").Replace(@"\u9586?", @"\\")) || newvalue == "?") // B2017-165 added check of newvalue
|
if ((gg.Replace(@"\u8209?", "-").Replace(@"\u9586?", @"\\")) != (newvalue.Replace("\\u8209?", "-").Replace(@"\u9586?", @"\\")) || newvalue == "?") // B2017-165 added check of newvalue
|
||||||
{
|
{
|
||||||
@@ -1230,66 +1060,57 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// see if there is a grid to update too.
|
// see if there is a grid to update too.
|
||||||
if (tran.MyContent.MyGrid != null)
|
if (tran.MyContent.MyGrid != null)
|
||||||
{
|
{
|
||||||
//string lookForXml = string.Format(@"<START\](\\[^v \\]+)*\\v0(\\[^v \\]+)* ([^#]*?)(\\[^v'? \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
MyGridMessage = string.Empty;
|
||||||
//Match mg = Regex.Match(MyGrid.Data, lookForXml);
|
string findLinkXml = @"<START\].*?\[END>";
|
||||||
//if (mg != null && mg.Groups.Count > 1)
|
string lookForXml = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}} \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
||||||
//{
|
MatchCollection msg = Regex.Matches(MyGrid.Data, findLinkXml);
|
||||||
// System.Text.RegularExpressions.Group g = mg.Groups[3];
|
foreach (Match mmg in msg)
|
||||||
// //if (g.ToString() != transText)
|
{
|
||||||
// // MyGrid.Data = MyGrid.Data.Substring(0, g.Index) + transText + MyGrid.Data.Substring(g.Index + g.Length);
|
Match mg = Regex.Match(mmg.Value, lookForXml);
|
||||||
//}
|
if (mg != null && mg.Groups.Count > 1)
|
||||||
MyGridMessage = string.Empty;
|
{
|
||||||
string findLinkXml = @"<START\].*?\[END>";
|
int myIndex = mg.Groups[4].Index + mmg.Index;
|
||||||
//string lookForXml = string.Format(@"<START\](\\[^v \\]+)*\\v0(\\[^v \\]+)* (.*?)(\\[^v '?\\]+)*\\v(\\[^v \\]+)* #Link:ReferencedObject:{0} .*?\[END>", rousg.ROUsageID);
|
int myLength = mg.Groups[4].Length;
|
||||||
string lookForXml = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}} \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
if (mg.Groups[3].Value != " ")
|
||||||
MatchCollection msg = Regex.Matches(MyGrid.Data, findLinkXml);
|
{
|
||||||
foreach (Match mmg in msg)
|
myIndex = mg.Groups[3].Index + mmg.Index;
|
||||||
{
|
myLength += mg.Groups[3].Length;
|
||||||
Match mg = Regex.Match(mmg.Value, lookForXml);// Regex.Match(MyGrid.Data, lookForXml);
|
}
|
||||||
if (mg != null && mg.Groups.Count > 1)
|
string gg = MyGrid.Data.Substring(myIndex, myLength);
|
||||||
{
|
if (newvalue.Contains(@"\u8209?"))
|
||||||
int myIndex = mg.Groups[4].Index + mmg.Index;
|
{
|
||||||
int myLength = mg.Groups[4].Length;
|
// B2022-058: Printing of '-' in transition in table prints as '?' instead of '-'. Wasn't using correct string to
|
||||||
if (mg.Groups[3].Value != " ")
|
// look for font character (was using newvalue, not gg)
|
||||||
{
|
Match m = Regex.Match(gg, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
||||||
myIndex = mg.Groups[3].Index + mmg.Index;
|
if (m == null)
|
||||||
myLength += mg.Groups[3].Length;
|
newvalue = newvalue.Replace(@"\u8209?", "-");
|
||||||
}
|
else
|
||||||
string gg = MyGrid.Data.Substring(myIndex, myLength);
|
newvalue = newvalue.Replace(@"\u8209?", $@"{m.Groups[1].Value}\u8209?{m.Groups[3].Value}");
|
||||||
if (newvalue.Contains(@"\u8209?"))
|
}
|
||||||
{
|
if (newvalue.Contains(@"\u9586?"))
|
||||||
// B2022-058: Printing of '-' in transition in table prints as '?' instead of '-'. Wasn't using correct string to
|
{
|
||||||
// look for font character (was using newvalue, not gg)
|
Match m = Regex.Match(newvalue, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
||||||
Match m = Regex.Match(gg, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
if (m == null)
|
||||||
if (m == null)
|
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
||||||
newvalue = newvalue.Replace(@"\u8209?", "-");
|
else
|
||||||
else
|
newvalue = newvalue.Replace(@"\u9586?", $@"{m.Groups[1].Value}\u9586?{m.Groups[3].Value}");
|
||||||
newvalue = newvalue.Replace(@"\u8209?", m.Groups[1].Value + @"\u8209?" + m.Groups[3].Value);
|
}
|
||||||
}
|
if (newvalue.Contains(@"\u9586?"))
|
||||||
if (newvalue.Contains(@"\u9586?"))
|
{
|
||||||
{
|
Match m = Regex.Match(newvalue, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
||||||
Match m = Regex.Match(newvalue, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
if (m == null)
|
||||||
if (m == null)
|
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
||||||
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
else
|
||||||
else
|
newvalue = newvalue.Replace(@"\u9586?", $@"{m.Groups[1].Value}\u9586?{m.Groups[3].Value}");
|
||||||
newvalue = newvalue.Replace(@"\u9586?", m.Groups[1].Value + @"\u9586?" + m.Groups[3].Value);
|
}
|
||||||
}
|
MyGridMessage = string.Format("ContentExt.ContentInfo:Grid:{0}, {1}, {2}", ContentID, tran.TransitionID, gg);
|
||||||
if (newvalue.Contains(@"\u9586?"))
|
if (gg != newvalue)
|
||||||
{
|
{
|
||||||
Match m = Regex.Match(newvalue, @"(\\f[0-9]+)(\\u[0-9]{1,4}\?)(\\f[0-9]+ ?)");
|
MyGrid.SetData(MyGrid.Data.Substring(0, myIndex) + newvalue + MyGrid.Data.Substring(myIndex + myLength));
|
||||||
if (m == null)
|
}
|
||||||
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
}
|
||||||
else
|
}
|
||||||
newvalue = newvalue.Replace(@"\u9586?", m.Groups[1].Value + @"\u9586?" + m.Groups[3].Value);
|
}
|
||||||
}
|
|
||||||
MyGridMessage = string.Format("ContentExt.ContentInfo:Grid:{0}, {1}, {2}", this.ContentID, tran.TransitionID, gg);
|
|
||||||
if (gg != newvalue)
|
|
||||||
{
|
|
||||||
MyGrid.SetData(MyGrid.Data.Substring(0, myIndex) + newvalue + MyGrid.Data.Substring(myIndex + myLength));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FixContentText(RoUsageInfo rousg, string value, int rotype, ROFstInfo origROFstInfo, ItemInfo ii)
|
public void FixContentText(RoUsageInfo rousg, string value, int rotype, ROFstInfo origROFstInfo, ItemInfo ii)
|
||||||
@@ -1362,10 +1183,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
newvalue = newvalue.Replace($"{(char)916}", @"\u916?");
|
newvalue = newvalue.Replace($"{(char)916}", @"\u916?");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Debug - jsj 5-19-2017 - left in for initial check-in
|
|
||||||
//string xx_gg = gg_org.Replace(@"\'b0", @"\'B0").Replace(@"\u8209?", "-").Replace(@"\u160?", " ").Replace("\xA0", " ");
|
|
||||||
//string xx_nv = newval_org.Replace(@"\'b0", @"\'B0").Replace(@"\u8209?", "-").Replace(@"\u160?", " ").Replace("\xA0", " ");
|
|
||||||
//Console.WriteLine(xx_gg.CompareTo(xx_nv));
|
|
||||||
OnStaticContentInfoChange(ii, new StaticContentInfoEventArgs(gg, newvalue, "RO"));
|
OnStaticContentInfoChange(ii, new StaticContentInfoEventArgs(gg, newvalue, "RO"));
|
||||||
break; // Text has been processed
|
break; // Text has been processed
|
||||||
}
|
}
|
||||||
@@ -1378,7 +1195,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
if (rotype == (int)E_ROValueType.Table) // if change in rotable data...
|
if (rotype == (int)E_ROValueType.Table) // if change in rotable data...
|
||||||
{
|
{
|
||||||
List<string> retlist = origROFstInfo.OnROTableUpdate(this.Get(), new ROFstInfoROTableUpdateEventArgs(newvalue, MyGrid.Data));
|
List<string> retlist = origROFstInfo.OnROTableUpdate(Get(), new ROFstInfoROTableUpdateEventArgs(newvalue, MyGrid.Data));
|
||||||
if (retlist != null && Text != retlist[0]) _Text = retlist[0]; //B2022-075 added null reference check
|
if (retlist != null && Text != retlist[0]) _Text = retlist[0]; //B2022-075 added null reference check
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1412,7 +1229,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (m.Groups.Count < 3)
|
if (m.Groups.Count < 3)
|
||||||
newvalue = newvalue.Replace(@"\u8209?", "-");
|
newvalue = newvalue.Replace(@"\u8209?", "-");
|
||||||
else
|
else
|
||||||
newvalue = newvalue.Replace(@"\u8209?", m.Groups[1].Value + @"\u8209?" + m.Groups[3].Value);
|
newvalue = newvalue.Replace(@"\u8209?", $@"{m.Groups[1].Value}\u8209?{m.Groups[3].Value}");
|
||||||
}
|
}
|
||||||
//B2024-003, B2023-113, B2024-093 - Updating RO Values inside a text Grid,
|
//B2024-003, B2023-113, B2024-093 - Updating RO Values inside a text Grid,
|
||||||
// This will handle if there is a delta and the column/row of the grid is removed
|
// This will handle if there is a delta and the column/row of the grid is removed
|
||||||
@@ -1425,7 +1242,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
else if (m.Groups.Count < 3)
|
else if (m.Groups.Count < 3)
|
||||||
newvalue = newvalue.Replace(@"\u916?", $"{(char)916}");
|
newvalue = newvalue.Replace(@"\u916?", $"{(char)916}");
|
||||||
else
|
else
|
||||||
newvalue = newvalue.Replace(@"\u916?", m.Groups[1].Value + @"\u916?" + m.Groups[3].Value);
|
newvalue = newvalue.Replace(@"\u916?", $@"{m.Groups[1].Value}\u916?{m.Groups[3].Value}");
|
||||||
}
|
}
|
||||||
if (newvalue.Contains(@"\u8593?"))
|
if (newvalue.Contains(@"\u8593?"))
|
||||||
{
|
{
|
||||||
@@ -1433,7 +1250,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (m.Groups.Count < 3)
|
if (m.Groups.Count < 3)
|
||||||
newvalue = newvalue.Replace(@"\u8593?", "^");
|
newvalue = newvalue.Replace(@"\u8593?", "^");
|
||||||
else
|
else
|
||||||
newvalue = newvalue.Replace(@"\u8593?", m.Groups[1].Value + @"\u8593?" + m.Groups[3].Value);
|
newvalue = newvalue.Replace(@"\u8593?", $@"{m.Groups[1].Value}\u8593?{m.Groups[3].Value}");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newvalue.Contains(@"\u9586?"))
|
if (newvalue.Contains(@"\u9586?"))
|
||||||
@@ -1442,7 +1259,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
if (m.Groups.Count < 3)
|
if (m.Groups.Count < 3)
|
||||||
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
newvalue = newvalue.Replace(@"\u9586?", @"\\");
|
||||||
else
|
else
|
||||||
newvalue = newvalue.Replace(@"\u9586?", m.Groups[1].Value + @"\u9586?" + m.Groups[3].Value);
|
newvalue = newvalue.Replace(@"\u9586?", $@"{m.Groups[1].Value}\u9586?{m.Groups[3].Value}");
|
||||||
}
|
}
|
||||||
// B2022-064: Translate '<' to '<', '<' is xml token, so xml grid string was incorrect for print.
|
// B2022-064: Translate '<' to '<', '<' is xml token, so xml grid string was incorrect for print.
|
||||||
// Note that the '>' symbol was also translated. This method does NOT save the string to database,
|
// Note that the '>' symbol was also translated. This method does NOT save the string to database,
|
||||||
@@ -1469,24 +1286,18 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_Text = "?";
|
_Text = "?";
|
||||||
}
|
}
|
||||||
|
|
||||||
// C2021-018 used to update the content record when displaying Alarm Pont Table information in the step Editor (BNPP alarms)
|
// C2021-018 used to update the content record when displaying Alarm Pont Table information in the step Editor (BNPP alarms)
|
||||||
public void UpdateAlarmTableInfoView(string updateText)
|
public void UpdateAlarmTableInfoView(string updateText) => _Text = updateText;
|
||||||
{
|
|
||||||
_Text = updateText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void LoadNonCachedGrid()
|
public void LoadNonCachedGrid()
|
||||||
{
|
{
|
||||||
_MyGrid = GridInfo.GetNonCached(ContentID);
|
_MyGrid = GridInfo.GetNonCached(ContentID);
|
||||||
//Console.WriteLine("LoadNonCachedGrid {0},{1},{2}",ContentID,_MyGrid==null,_MyContentInfoUnique);
|
//Console.WriteLine("LoadNonCachedGrid {0},{1},{2}",ContentID,_MyGrid==null,_MyContentInfoUnique);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PartInfoList LocalContentParts
|
public PartInfoList LocalContentParts => _ContentParts;
|
||||||
{
|
|
||||||
get { return _ContentParts; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public void AddPart(SafeDataReader dr, ItemInfo itemInfo)
|
public void AddPart(SafeDataReader dr, ItemInfo itemInfo)
|
||||||
{
|
{
|
||||||
if (_ContentParts == null)
|
if (_ContentParts == null)
|
||||||
_ContentParts = new PartInfoList(dr, itemInfo);
|
_ContentParts = new PartInfoList(dr, itemInfo);
|
||||||
@@ -1494,17 +1305,11 @@ namespace VEPROMS.CSLA.Library
|
|||||||
_ContentParts.AddPartInfo(dr, itemInfo);
|
_ContentParts.AddPartInfo(dr, itemInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString() => $"{Number} {Text}";
|
||||||
{
|
|
||||||
return string.Format("{0} {1}", Number, Text);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ShowChange()
|
public void ShowChange() => OnChange();
|
||||||
{
|
|
||||||
OnChange();
|
|
||||||
}
|
|
||||||
|
|
||||||
internal ContentInfo(SafeDataReader dr, bool ForItem)
|
internal ContentInfo(SafeDataReader dr, bool ForItem)
|
||||||
{
|
{
|
||||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentInfo.Constructor", GetHashCode());
|
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ContentInfo.Constructor", GetHashCode());
|
||||||
|
|
||||||
@@ -1587,7 +1392,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
private void DataPortal_Fetch(ContentListCriteria criteria)
|
private void DataPortal_Fetch(ContentListCriteria criteria)
|
||||||
{
|
{
|
||||||
this.RaiseListChangedEvents = false;
|
RaiseListChangedEvents = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
@@ -1604,7 +1409,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -1616,7 +1421,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
Database.LogException("ContentInfoList.DataPortal_Fetch", ex);
|
Database.LogException("ContentInfoList.DataPortal_Fetch", ex);
|
||||||
throw new DbCslaException("ContentInfoList.DataPortal_Fetch", ex);
|
throw new DbCslaException("ContentInfoList.DataPortal_Fetch", ex);
|
||||||
}
|
}
|
||||||
this.RaiseListChangedEvents = true;
|
RaiseListChangedEvents = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ContentInfoList GetChangedList(byte[] lastChanged)
|
public static ContentInfoList GetChangedList(byte[] lastChanged)
|
||||||
@@ -1624,7 +1429,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
ContentInfoList tmp = DataPortal.Fetch<ContentInfoList>(new ChangeListCriteria(lastChanged));
|
ContentInfoList tmp = DataPortal.Fetch<ContentInfoList>(new ChangeListCriteria(lastChanged));
|
||||||
// ContentInfo.AddList(tmp);
|
|
||||||
tmp.AddEvents();
|
tmp.AddEvents();
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
@@ -1651,7 +1455,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
|
|
||||||
private void DataPortal_Fetch(ChangeListCriteria criteria)
|
private void DataPortal_Fetch(ChangeListCriteria criteria)
|
||||||
{
|
{
|
||||||
this.RaiseListChangedEvents = false;
|
RaiseListChangedEvents = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
@@ -1668,7 +1472,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -1680,7 +1484,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
Database.LogException("ContentInfoList.DataPortal_Fetch", ex);
|
Database.LogException("ContentInfoList.DataPortal_Fetch", ex);
|
||||||
throw new DbCslaException("ContentInfoList.DataPortal_Fetch", ex);
|
throw new DbCslaException("ContentInfoList.DataPortal_Fetch", ex);
|
||||||
}
|
}
|
||||||
this.RaiseListChangedEvents = true;
|
RaiseListChangedEvents = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region ClearCBOverride
|
#region ClearCBOverride
|
||||||
@@ -1725,7 +1529,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -1760,29 +1564,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
public ClearOverrideFormatsByDocVersionCriteria(string dvlist, int? formatID, int? newformatID)
|
public ClearOverrideFormatsByDocVersionCriteria(string dvlist, int? formatID, int? newformatID)
|
||||||
{
|
{
|
||||||
_FormatID = formatID;
|
FormatID = formatID;
|
||||||
_DVList = dvlist;
|
DVList = dvlist;
|
||||||
_NewFormatID = newformatID;
|
NewFormatID = newformatID;
|
||||||
}
|
}
|
||||||
private int? _FormatID;
|
|
||||||
public int? FormatID
|
public int? FormatID { get; set; }
|
||||||
{
|
public int? NewFormatID { get; set; }
|
||||||
get { return _FormatID; }
|
public string DVList { get; set; }
|
||||||
set { _FormatID = value; }
|
}
|
||||||
}
|
|
||||||
private int? _NewFormatID;
|
|
||||||
public int? NewFormatID
|
|
||||||
{
|
|
||||||
get { return _NewFormatID; }
|
|
||||||
set { _NewFormatID = value; }
|
|
||||||
}
|
|
||||||
private string _DVList;
|
|
||||||
public string DVList
|
|
||||||
{
|
|
||||||
get { return _DVList; }
|
|
||||||
set { _DVList = value; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DataPortal_Fetch(ClearOverrideFormatsByDocVersionCriteria criteria)
|
private void DataPortal_Fetch(ClearOverrideFormatsByDocVersionCriteria criteria)
|
||||||
{
|
{
|
||||||
@@ -1810,7 +1600,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -1841,29 +1631,15 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
public ClearOverrideFormatsByItemCriteria(int itemID, int? formatID, int? newformatID)
|
public ClearOverrideFormatsByItemCriteria(int itemID, int? formatID, int? newformatID)
|
||||||
{
|
{
|
||||||
_FormatID = formatID;
|
FormatID = formatID;
|
||||||
_NewFormatID = newformatID;
|
NewFormatID = newformatID;
|
||||||
_ItemID = itemID;
|
ItemID = itemID;
|
||||||
}
|
}
|
||||||
private int? _FormatID;
|
|
||||||
public int? FormatID
|
public int? FormatID { get; set; }
|
||||||
{
|
public int? NewFormatID { get; set; }
|
||||||
get { return _FormatID; }
|
public int ItemID { get; set; }
|
||||||
set { _FormatID = value; }
|
}
|
||||||
}
|
|
||||||
private int? _NewFormatID;
|
|
||||||
public int? NewFormatID
|
|
||||||
{
|
|
||||||
get { return _NewFormatID; }
|
|
||||||
set { _NewFormatID = value; }
|
|
||||||
}
|
|
||||||
private int _ItemID;
|
|
||||||
public int ItemID
|
|
||||||
{
|
|
||||||
get { return _ItemID; }
|
|
||||||
set { _ItemID = value; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DataPortal_Fetch(ClearOverrideFormatsByItemCriteria criteria)
|
private void DataPortal_Fetch(ClearOverrideFormatsByItemCriteria criteria)
|
||||||
{
|
{
|
||||||
@@ -1891,7 +1667,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -1975,7 +1751,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -2005,7 +1781,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -2069,7 +1845,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -2146,7 +1922,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
@@ -2222,7 +1998,7 @@ namespace VEPROMS.CSLA.Library
|
|||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
ContentInfo contentInfo = new ContentInfo(dr);
|
ContentInfo contentInfo = new ContentInfo(dr);
|
||||||
this.Add(contentInfo);
|
Add(contentInfo);
|
||||||
}
|
}
|
||||||
IsReadOnly = true;
|
IsReadOnly = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using Csla;
|
using Csla;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user