Compare commits

..

7 Commits

Author SHA1 Message Date
b47f9b2606 revert 2b5becfa34
revert F2024-074 (Farley) Include the Cover Page in the total page count of the procedures
2024-10-09 15:49:28 -04:00
2b5becfa34 F2024-074 (Farley) Include the Cover Page in the total page count of the procedures 2024-10-09 15:20:09 -04:00
ce02c3e4bd revert 2ab1856b13
revert F2024-074 (farley)  Include the Cover Page in the total page count of the procedures
2024-10-09 15:09:54 -04:00
2ab1856b13 F2024-074 (farley) Include the Cover Page in the total page count of the procedures 2024-10-09 14:50:55 -04:00
027a9dc729 revert b071db8f60
revert F2024-074 (Farley) Include the Cover Page in the total page count of the procedures
2024-10-09 14:41:45 -04:00
b071db8f60 F2024-074 (Farley) Include the Cover Page in the total page count of the procedures 2024-10-09 14:32:47 -04:00
98d6557cd2 F2024-074 (Farley) Include the Cover Page in the total page count of the procedures 2024-10-09 14:05:20 -04:00
16 changed files with 53 additions and 269 deletions

6
.gitattributes vendored
View File

@@ -1,6 +0,0 @@
# ---> VisualStudio
## Show diffs for xml files in GIT
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitattributes
*.xml text

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -23,8 +23,8 @@ using System.Runtime.CompilerServices;
// Build YYMM (two digit year, two digit month) // Build YYMM (two digit year, two digit month)
// Revision DHH (day - no leading zero, two digit hour - military time // Revision DHH (day - no leading zero, two digit hour - military time
// //
[assembly: AssemblyVersion("2.3.2410.907")] [assembly: AssemblyVersion("2.3.2410.815")]
[assembly: AssemblyFileVersion("2.3.2410.907")] [assembly: AssemblyFileVersion("2.3.2410.815")]
// //
// In order to sign your assembly you must specify a key to use. Refer to the // In order to sign your assembly you must specify a key to use. Refer to the
@@ -93,6 +93,5 @@ using System.Runtime.CompilerServices;

View File

@@ -151,7 +151,7 @@ namespace ROEditor
private string origMenuItem; private string origMenuItem;
StringBuilder parseerror; StringBuilder parseerror;
private int hi, lo; private int hi, lo;
private Label lb_chkApplc; private Label lb_chkApplc;
private int dbtype; private int dbtype;
// C2021-026 returns true is Parent/Child info was passed into the RO Editor // C2021-026 returns true is Parent/Child info was passed into the RO Editor
public bool PCApplicabilityEnabled public bool PCApplicabilityEnabled
@@ -188,33 +188,33 @@ namespace ROEditor
lboxInUse.Visible = true; lboxInUse.Visible = true;
lb_chkApplc.Visible = false; lb_chkApplc.Visible = false;
} }
if (editlevel == (uint)RecordType.GroupSchema) this.Text = "Subgroup Definition"; if (editlevel==(uint)RecordType.GroupSchema)this.Text = "Subgroup Definition";
FillInData(grptxt); FillInData(grptxt);
} }
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
protected override void Dispose(bool disposing) protected override void Dispose( bool disposing )
{ {
if (disposing) if( disposing )
{ {
if (components != null) if(components != null)
{ {
components.Dispose(); components.Dispose();
} }
} }
base.Dispose(disposing); base.Dispose( disposing );
} }
private void FillInAvailable() private void FillInAvailable()
{ {
ROField rof; ROField rof;
// put the items in the AvailList box. // put the items in the AvailList box.
for (int i = 0; i < AvailList.Count; i++) for (int i=0; i< AvailList.Count; i++)
{ {
rof = (ROField)AvailList[i]; rof = (ROField) AvailList[i];
if (rof.GetFieldname != null) // DO YET: Why null? if (rof.GetFieldname != null) // DO YET: Why null?
this.lboxAvail.Items.Add(rof.GetFieldname); this.lboxAvail.Items.Add(rof.GetFieldname);
} }
@@ -277,7 +277,7 @@ namespace ROEditor
_initializing = false; _initializing = false;
} }
private void DoValueTextBoxes() private void DoValueTextBoxes()
{ {
string menuitm, retval; string menuitm, retval;
@@ -297,7 +297,7 @@ namespace ROEditor
else else
parent = null; parent = null;
} }
if (menuitm != "") if (menuitm !="")
this.tbMenuVal.Text = CvtFldToUserFld(menuitm); this.tbMenuVal.Text = CvtFldToUserFld(menuitm);
else else
this.tbMenuVal.Text = ""; this.tbMenuVal.Text = "";
@@ -310,21 +310,21 @@ namespace ROEditor
this.lblRetVal.Visible = true; this.lblRetVal.Visible = true;
VlnXmlElement parent; VlnXmlElement parent;
parent = (VlnXmlElement) elem.ParentNode; parent = (VlnXmlElement) elem.ParentNode;
while (parent != null && (menuitm == "" || retval == "")) while (parent != null && (menuitm == "" || retval==""))
{ {
// walk up tree to get parent and check for data there // walk up tree to get parent and check for data there
if (menuitm == "") menuitm = parent.GetAttribute("MenuItem"); if (menuitm == "") menuitm = parent.GetAttribute("MenuItem");
if (retval == "") retval = parent.GetAttribute("RetVal"); if (retval == "") retval = parent.GetAttribute("RetVal");
if (parent.Name != "RO_Root") if (parent.Name != "RO_Root")
parent = (VlnXmlElement)parent.ParentNode; parent = (VlnXmlElement) parent.ParentNode;
else else
parent = null; parent = null;
} }
if (menuitm != "") if (menuitm!="")
this.tbMenuVal.Text = CvtFldToUserFld(menuitm); this.tbMenuVal.Text = CvtFldToUserFld(menuitm);
else else
this.tbMenuVal.Text = ""; this.tbMenuVal.Text = "";
if (retval != "") if (retval!="")
this.tbRetVal.Text = CvtFldToUserFld(retval); this.tbRetVal.Text = CvtFldToUserFld(retval);
else else
this.tbRetVal.Text = ""; this.tbRetVal.Text = "";
@@ -332,7 +332,7 @@ namespace ROEditor
} }
private void FillInData(string grptxt) private void FillInData(string grptxt)
{ {
this.lblGroupText.Text = grptxt; this.lblGroupText.Text = grptxt;
DoValueTextBoxes(); DoValueTextBoxes();
SetUpListBoxes(); SetUpListBoxes();
@@ -344,27 +344,24 @@ namespace ROEditor
lboxAvail.GotFocus += new EventHandler(this.lboxAvail_GotFocus); lboxAvail.GotFocus += new EventHandler(this.lboxAvail_GotFocus);
lboxInUse.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lboxInUse_MouseUp);
lboxInUseCB.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lboxInUseCB_MouseUp);
// save copies of local data, so if there is a change, we know we must save them. // save copies of local data, so if there is a change, we know we must save them.
origRetVal = this.tbRetVal.Text; origRetVal=this.tbRetVal.Text;
origMenuItem = this.tbMenuVal.Text; origMenuItem=this.tbMenuVal.Text;
// if this is a database level definition & it's a user defined database, // if this is a database level definition & it's a user defined database,
// the okay button is disabled until a field is used. // the okay button is disabled until a field is used.
if (elem.ParentNode.Name == "RO_Root" && dbtype == 3) if (elem.ParentNode.Name == "RO_Root" && dbtype==3)
{ {
string attr; string attr;
if (editlevel == (uint)RecordType.Schema) if (editlevel==(uint)RecordType.Schema)
attr = elem.GetAttribute("FieldsInUse"); attr = elem.GetAttribute("FieldsInUse");
else else
attr = elem.GetAttribute("GroupFieldsInUse"); attr = elem.GetAttribute("GroupFieldsInUse");
if (attr == null || attr == "") btnOK.Enabled = false; if (attr==null || attr=="") btnOK.Enabled=false;
} }
} }
protected void lboxInUse_GotFocus(object sender, EventArgs e) protected void lboxInUse_GotFocus (object sender, EventArgs e)
{ {
lboxAvail.ClearSelected(); lboxAvail.ClearSelected();
this.btnRemove.Enabled = true; this.btnRemove.Enabled = true;
@@ -378,7 +375,7 @@ namespace ROEditor
this.btnAdd.Enabled = false; this.btnAdd.Enabled = false;
this.btnEdit.Enabled = true; this.btnEdit.Enabled = true;
} }
protected void lboxAvail_GotFocus(object sender, EventArgs e) protected void lboxAvail_GotFocus (object sender, EventArgs e)
{ {
if (PCApplicabilityEnabled) if (PCApplicabilityEnabled)
lboxInUseCB.ClearSelected(); lboxInUseCB.ClearSelected();
@@ -388,103 +385,6 @@ namespace ROEditor
this.btnRemove.Enabled = false; this.btnRemove.Enabled = false;
this.btnEdit.Enabled = true; this.btnEdit.Enabled = true;
} }
//CSM C2024-024
//Simple Selection of Fields to add to Return Values and Menu Values.
//Part of 2024 PROMS Upgrades
//Add Context Menu for In Use Listbox
//Will allow user to right click Selected Items
//and add then to the Return Value / Menu Value Text Boxes
//without re-typing them
protected void lboxInUse_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && lboxInUse.SelectedItems.Count > 0)
{
ContextMenuStrip cn = new ContextMenuStrip();
if (tbRetVal.Visible)
{
var AddToReturnItem = new ToolStripMenuItem("Add to Return Value");
AddToReturnItem.Click += new EventHandler(lboxInUse_Click);
AddToReturnItem.Name = "Add to Return Value";
cn.Items.Add(AddToReturnItem);
}
var AddToMenuItem = new ToolStripMenuItem("Add to Menu Value");
AddToMenuItem.Click += new EventHandler(lboxInUse_Click);
AddToMenuItem.Name = "Add to Menu Value";
cn.Items.Add(AddToMenuItem);
this.lboxInUse.ContextMenuStrip = cn;
cn.Show(Control.MousePosition.X, Control.MousePosition.Y);
}
}
private void lboxInUse_Click(object sender, EventArgs e)
{
switch (((ToolStripMenuItem)sender).Name)
{
case "Add to Return Value":
if (tbRetVal.Text == "")
tbRetVal.Text += $"<{lboxInUse.SelectedItem}>";
else
tbRetVal.Text += $" - <{lboxInUse.SelectedItem}>";
break;
case "Add to Menu Value":
if (tbMenuVal.Text == "")
tbMenuVal.Text += $"<{lboxInUse.SelectedItem}>";
else
tbMenuVal.Text += $" - <{lboxInUse.SelectedItem}>";
break;
}
}
//CSM C2024-024
//Simple Selection of Fields to add to Return Values and Menu Values.
//Part of 2024 PROMS Upgrades
//Add Context Menu for In Use ComboBox
//(Replaces In Use Listbox when Applicability
//to allow for selection of items per Unit)
//Will allow user to right click Selected Items
//and add then to the Return Value / Menu Value Text Boxes
//without re-typing them
protected void lboxInUseCB_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && lboxInUseCB.SelectedItems.Count > 0)
{
ContextMenuStrip cn = new ContextMenuStrip();
if (tbRetVal.Visible)
{
var AddToReturnItem = new ToolStripMenuItem("Add to Return Value");
AddToReturnItem.Click += new EventHandler(lboxInUseCB_Click);
AddToReturnItem.Name = "Add to Return Value";
cn.Items.Add(AddToReturnItem);
}
var AddToMenuItem = new ToolStripMenuItem("Add to Menu Value");
AddToMenuItem.Click += new EventHandler(lboxInUseCB_Click);
AddToMenuItem.Name = "Add to Menu Value";
cn.Items.Add(AddToMenuItem);
this.lboxInUseCB.ContextMenuStrip = cn;
cn.Show(Control.MousePosition.X, Control.MousePosition.Y);
}
}
private void lboxInUseCB_Click(object sender, EventArgs e)
{
switch (((ToolStripMenuItem)sender).Name)
{
case "Add to Return Value":
if (tbRetVal.Text == "")
tbRetVal.Text += $"<{lboxInUseCB.SelectedItem}>";
else
tbRetVal.Text += $" - <{lboxInUseCB.SelectedItem}>";
break;
case "Add to Menu Value":
if (tbMenuVal.Text == "")
tbMenuVal.Text += $"<{lboxInUseCB.SelectedItem}>";
else
tbMenuVal.Text += $" - <{lboxInUseCB.SelectedItem}>";
break;
}
}
private void btnRemove_Click(object sender, System.EventArgs e) private void btnRemove_Click(object sender, System.EventArgs e)
{ {
//get item in lboxInUse (in use list) and remove it from there //get item in lboxInUse (in use list) and remove it from there
@@ -504,7 +404,7 @@ namespace ROEditor
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType); ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
AvailList.Add(copyrof); AvailList.Add(copyrof);
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname)); lboxAvail.Items.Add(copyrof.GetFieldname);
InUseList.RemoveAt(indx); InUseList.RemoveAt(indx);
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
InUseApplcList.Remove(rof); InUseApplcList.Remove(rof);
@@ -527,7 +427,7 @@ namespace ROEditor
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType); ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
AvailList.Add(copyrof); AvailList.Add(copyrof);
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname)); lboxAvail.Items.Add(copyrof.GetFieldname);
InUseList.RemoveAt(indx); InUseList.RemoveAt(indx);
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
InUseApplcList.Remove(rof); InUseApplcList.Remove(rof);
@@ -555,7 +455,7 @@ namespace ROEditor
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType); ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
InUseList.Add(copyrof); InUseList.Add(copyrof);
lboxInUseCB.Items.Add(CvtFldToUserFld(copyrof.GetFieldname)); lboxInUseCB.Items.Add(copyrof.GetFieldname);
AvailList.RemoveAt(indx); AvailList.RemoveAt(indx);
lboxAvail.Refresh(); lboxAvail.Refresh();
lboxInUseCB.Refresh(); lboxInUseCB.Refresh();
@@ -577,7 +477,7 @@ namespace ROEditor
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType); ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
InUseList.Add(copyrof); InUseList.Add(copyrof);
lboxInUse.Items.Add(CvtFldToUserFld(copyrof.GetFieldname)); lboxInUse.Items.Add(copyrof.GetFieldname);
AvailList.RemoveAt(indx); AvailList.RemoveAt(indx);
lboxAvail.Refresh(); lboxAvail.Refresh();
lboxInUse.Refresh(); lboxInUse.Refresh();
@@ -740,7 +640,7 @@ namespace ROEditor
{ {
ROField rof = (ROField) InUseList[i]; ROField rof = (ROField) InUseList[i];
rofname = rof.GetFieldname; rofname = rof.GetFieldname;
if (inusename == rofname || inusename == CvtFldToUserFld(rofname)) if (inusename == rofname)
{ {
found = true; found = true;
break; break;
@@ -845,7 +745,7 @@ namespace ROEditor
{ {
ROField rof = (ROField) InUseList[i]; ROField rof = (ROField) InUseList[i];
rofname = rof.GetFieldname; rofname = rof.GetFieldname;
if (inusename == rofname || inusename == CvtFldToUserFld(rofname)) if (inusename == rofname)
{ {
found = true; found = true;
break; break;
@@ -1196,8 +1096,7 @@ namespace ROEditor
return; return;
} }
} }
string origname = CvtFldToUserFld(rof.GetFieldname);
uint ftype = rof.GetFieldType; uint ftype = rof.GetFieldType;
if (ftype == (uint)FieldTypes.FrmtSingleTxt || ftype == (uint)FieldTypes.VariableTxt || if (ftype == (uint)FieldTypes.FrmtSingleTxt || ftype == (uint)FieldTypes.VariableTxt ||
ftype == (uint)FieldTypes.SingleTxt || ftype == (uint)FieldTypes.Table || ftype == (uint)FieldTypes.SingleTxt || ftype == (uint)FieldTypes.Table ||
@@ -1213,10 +1112,6 @@ namespace ROEditor
nwcomb.ShowDialog(); nwcomb.ShowDialog();
} }
//need to refresh pull from table for fields in use.
_ = myrodb.RODB_GetFields(elem, 0, true);
string newname = CvtFldToUserFld(rof.GetFieldname);
// Update Lists & Text boxes to represent any modified text. // Update Lists & Text boxes to represent any modified text.
if (isInSelList) if (isInSelList)
{ {
@@ -1230,28 +1125,20 @@ namespace ROEditor
rof = (ROField) InUseList[i]; rof = (ROField) InUseList[i];
if (rof.GetFieldname != null) if (rof.GetFieldname != null)
{ {
string fieldname = CvtFldToUserFld(rof.GetFieldname);
// C2021-026 if doing Parent/Child enabled RO Editor, put the In Use fields in the Check Box List instead of the normal list // C2021-026 if doing Parent/Child enabled RO Editor, put the In Use fields in the Check Box List instead of the normal list
if (PCApplicabilityEnabled) if (PCApplicabilityEnabled)
{ {
this.lboxInUseCB.Items.Add(fieldname); this.lboxInUseCB.Items.Add(rof.GetFieldname);
if (rof.FieldTypeCanDoApplicability()) if (rof.FieldTypeCanDoApplicability())
{ {
if (ContainedInUseApplicList(rof)) if (ContainedInUseApplicList(rof))
this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(fieldname), CheckState.Checked); this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(rof.GetFieldname), CheckState.Checked);
} }
} }
else else
this.lboxInUse.Items.Add(fieldname); this.lboxInUse.Items.Add(rof.GetFieldname);
} }
} }
if (origname != newname)
{
tbMenuVal.Text = tbMenuVal.Text.Replace($"<{origname}>", $"<{newname}>");
tbRetVal.Text = tbRetVal.Text.Replace($"<{origname}>", $"<{newname}>");
}
} }
else else
{ {
@@ -1261,7 +1148,7 @@ namespace ROEditor
{ {
rof = (ROField) AvailList[i]; rof = (ROField) AvailList[i];
if (rof.GetFieldname != null) if (rof.GetFieldname != null)
this.lboxAvail.Items.Add(CvtFldToUserFld(rof.GetFieldname)); this.lboxAvail.Items.Add(rof.GetFieldname);
} }
} }
} }
@@ -1275,11 +1162,8 @@ namespace ROEditor
if (rof.GetFieldname != null) if (rof.GetFieldname != null)
{ {
AvailList.Add(rof); AvailList.Add(rof);
lboxAvail.Items.Add(CvtFldToUserFld(rof.GetFieldname)); lboxAvail.Items.Add(rof.GetFieldname);
} }
//need to refresh pull from table for fields in use.
_ = myrodb.RODB_GetFields(elem, 0, true);
} }
// C2021-026 Check/un-check field for Parent/Child values // C2021-026 Check/un-check field for Parent/Child values
private void lboxInUseCB_ItemCheck(object sender, ItemCheckEventArgs e) private void lboxInUseCB_ItemCheck(object sender, ItemCheckEventArgs e)
@@ -1513,7 +1397,6 @@ namespace ROEditor
this.btnCancel.Size = new System.Drawing.Size(80, 24); this.btnCancel.Size = new System.Drawing.Size(80, 24);
this.btnCancel.TabIndex = 10; this.btnCancel.TabIndex = 10;
this.btnCancel.Text = "Cancel"; this.btnCancel.Text = "Cancel";
// //
// RODefFrm // RODefFrm
// //
@@ -1536,71 +1419,6 @@ namespace ROEditor
this.PerformLayout(); this.PerformLayout();
} }
//if User clicked save (DialogResult.OK) close the form
//if use did not click save, ask if they are sure they want to close the form
//only close if they say "Yes, they want to"
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (this.DialogResult != System.Windows.Forms.DialogResult.OK && IsPendingChange() && !CloseCancel())
{
e.Cancel = true;
}
}
public static bool CloseCancel()
{
const string message = "Are you sure that you would like to cancel? Information may not be saved.";
const string caption = "Cancel";
var result = MessageBox.Show(message, caption,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
return result == DialogResult.Yes;
}
//return true if a field has been modified
private bool IsPendingChange()
{
if (origRetVal != this.tbRetVal.Text)
return true;
if (origMenuItem != this.tbMenuVal.Text)
return true;
// check if in use records have changed
string inuserecs = null;
ROField rof;
for (int i = 0; i < InUseList.Count; i++)
{
rof = (ROField)InUseList[i];
if (rof.GetFieldname != null) //DO YET: why null?
{
inuserecs = inuserecs + rof.GetRecID;
if (i + 1 < InUseList.Count) inuserecs = inuserecs + " ";
}
}
if (inuserecs != origFieldsInUse)
return true;
//check if applicability fields have changed
string applicfieldrecs = null;
for (int i = 0; i < InUseApplcList.Count; i++)
{
rof = (ROField)InUseApplcList[i];
if (rof.GetFieldname != null)
{
applicfieldrecs = applicfieldrecs + rof.GetRecID;
if (i + 1 < InUseApplcList.Count) applicfieldrecs = applicfieldrecs + " ";
}
}
if (applicfieldrecs != origApplicFields)
return true;
//nothing has changed
return false;
}
#endregion #endregion
} }
} }

View File

@@ -339,7 +339,7 @@ namespace RODBInterface
public abstract bool RODB_WriteRO(VlnXmlElement ro); public abstract bool RODB_WriteRO(VlnXmlElement ro);
public abstract bool RODB_InsertRO(VlnXmlElement ro); public abstract bool RODB_InsertRO(VlnXmlElement ro);
public abstract ushort RODB_GetFieldType(VlnXmlElement elem, string TableName, string Fld); public abstract ushort RODB_GetFieldType(VlnXmlElement elem, string TableName, string Fld);
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false); public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype);
public abstract string RODB_GetSchemaPiece(string Recid, string table); public abstract string RODB_GetSchemaPiece(string Recid, string table);
public abstract bool RODB_NewSchemaPiece(string recid, string parentid, string table, string schpiece, uint rtype); public abstract bool RODB_NewSchemaPiece(string recid, string parentid, string table, string schpiece, uint rtype);
public abstract bool RODB_WriteSchemaPiece(string Recid, string table, string schpiece); public abstract bool RODB_WriteSchemaPiece(string Recid, string table, string schpiece);
@@ -2294,16 +2294,11 @@ namespace RODBInterface
} }
// For the given element's table, get all of the RO fields defined in this table. // For the given element's table, get all of the RO fields defined in this table.
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false) public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype)
{ {
string table = elem.GetAttribute("Table"); string table = elem.GetAttribute("Table");
if (!FieldDefinitions.ContainsKey(table)) if (!FieldDefinitions.ContainsKey(table))
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem)); FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
else if (refresh)
{
FieldDefinitions.Remove(table);
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
}
return FieldDefinitions[table]; return FieldDefinitions[table];
} }
private Dictionary<string, ArrayList> _FieldDefinitions = null; private Dictionary<string, ArrayList> _FieldDefinitions = null;

View File

@@ -1744,18 +1744,13 @@ namespace RODBInterface
return ftype; return ftype;
} }
// For the given element's table, get all of the RO fields defined in this table. // For the given element's table, get all of the RO fields defined in this table.
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false) public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype)
{ {
string table = elem.GetAttribute("Table"); string table = elem.GetAttribute("Table");
if (!FieldDefinitions.ContainsKey(table)) if (!FieldDefinitions.ContainsKey(table))
{ {
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem)); FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
} }
else if (refresh)
{
FieldDefinitions.Remove(table);
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
}
return FieldDefinitions[table]; return FieldDefinitions[table];
} }
private Dictionary<string, ArrayList> _FieldDefinitions = null; private Dictionary<string, ArrayList> _FieldDefinitions = null;

View File

@@ -85,7 +85,7 @@ namespace VlnStatus
this.lblStatMsg.Name = "lblStatMsg"; this.lblStatMsg.Name = "lblStatMsg";
this.lblStatMsg.Size = new System.Drawing.Size(420, 81); this.lblStatMsg.Size = new System.Drawing.Size(420, 81);
this.lblStatMsg.TabIndex = 0; this.lblStatMsg.TabIndex = 0;
this.lblStatMsg.Text = "Put Status Message Here"; this.lblStatMsg.Text = "Put Satus Message Here";
this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// StatusMessageFrm // StatusMessageFrm

View File

@@ -1654,10 +1654,6 @@ namespace VEPROMS
// B2017-214 added a null reference check // B2017-214 added a null reference check
// B2010-071 Since we cannot tell if the user click on the X in Word or the X in PROMS, ask if the current tab // B2010-071 Since we cannot tell if the user click on the X in Word or the X in PROMS, ask if the current tab
// should be closed or if we should exit PROMS or just Cancel to continue working // should be closed or if we should exit PROMS or just Cancel to continue working
if (tc._MyDisplayTabItems.Count < 1) // If all thabs are closed in the editor will indicate that in the database.
{
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
}
if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0) if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0)
{ {
// B2019-071 dialog to ask user if we are to close one tab or exit // B2019-071 dialog to ask user if we are to close one tab or exit
@@ -2353,7 +2349,6 @@ namespace VEPROMS
public void openDisplaytabstate() public void openDisplaytabstate()
{ {
// Retrieve edit tab state from database.
DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID); DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID);
if (DisPlayTabState.Rows.Count > 0) if (DisPlayTabState.Rows.Count > 0)
@@ -2361,11 +2356,11 @@ namespace VEPROMS
foreach (DataRow TabState in DisPlayTabState.Rows) foreach (DataRow TabState in DisPlayTabState.Rows)
{ {
int _ItemID = (int)TabState["ItemID"]; int _ItemID = (int)TabState["ItemID"];
//ItemInfoList _Procedures = ItemInfoList.GetList(_ItemID, (int)E_FromType.Procedure));
ItemInfo _Procedure = ItemInfo.Get(_ItemID); ItemInfo _Procedure = ItemInfo.Get(_ItemID);
// Open procedure in the editor. //ItemInfo.Get
//ItemInfo.Get
OpenItem(_Procedure); OpenItem(_Procedure);
// SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work.
SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel;
} }
} }
} }

View File

@@ -1165,17 +1165,13 @@ namespace VEPROMS.CSLA.Library
{ {
int sp = odte.Link.IndexOf(" ") + 1; // get past tran type int sp = odte.Link.IndexOf(" ") + 1; // get past tran type
string srecid = odte.Link.Substring(sp, odte.Link.IndexOf(" ", sp) - sp); string srecid = odte.Link.Substring(sp, odte.Link.IndexOf(" ", sp) - sp);
recid = System.Convert.ToInt32(srecid);
//CSM B2024-078 - when a bad transition link / does not contain a number, simply return the text as-is foreach (ContentTransition ct in itm.MyContent.ContentTransitions)
if (int.TryParse(srecid, out recid))
{ {
foreach (ContentTransition ct in itm.MyContent.ContentTransitions) if (ct.TransitionID == recid)
{ {
if (ct.TransitionID == recid) itm.MyContent.ContentTransitions.Remove(ct);
{ break;
itm.MyContent.ContentTransitions.Remove(ct);
break;
}
} }
} }
} }
@@ -1660,15 +1656,7 @@ namespace VEPROMS.CSLA.Library
private string FixTransition(string link, string text) private string FixTransition(string link, string text)
{ {
if (link.IndexOf("<NewID>") != -1) return text; if (link.IndexOf("<NewID>") != -1) return text;
int transitionID = Convert.ToInt32(link.Split(" ".ToCharArray())[1]);
//CSM B2024-078 - when a bad transition link / does not contain a number, simply return the text as-is
int transitionID;
string[] splt_link = link.Split(' ');
if (splt_link.Length < 2 || !int.TryParse(splt_link[1], out transitionID))
{
return text;
}
// Find the transition // Find the transition
if (_MyItemInfo.MyContent.ContentTransitionCount <= 0) if (_MyItemInfo.MyContent.ContentTransitionCount <= 0)
{ {