Compare commits
17 Commits
F2024-074-
...
C2020-049-
Author | SHA1 | Date | |
---|---|---|---|
fbc446481a | |||
214dd8ec08 | |||
2f974d7b52 | |||
9f1dce896f | |||
a8294bb01a | |||
28e4bdda29 | |||
7d408df904 | |||
caec6adf8d | |||
a38c0dbe33 | |||
d779d4ad50 | |||
9b71ce0fee | |||
8b18005b8e | |||
a550ef1b50 | |||
63a60b32cc | |||
ca4dc8d330 | |||
0a52aa5c53 | |||
591fc03ca2 |
6
.gitattributes
vendored
Normal file
6
.gitattributes
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# ---> 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.
@@ -23,8 +23,8 @@ using System.Runtime.CompilerServices;
|
||||
// Build YYMM (two digit year, two digit month)
|
||||
// Revision DHH (day - no leading zero, two digit hour - military time
|
||||
//
|
||||
[assembly: AssemblyVersion("2.3.2410.815")]
|
||||
[assembly: AssemblyFileVersion("2.3.2410.815")]
|
||||
[assembly: AssemblyVersion("2.3.2410.907")]
|
||||
[assembly: AssemblyFileVersion("2.3.2410.907")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
@@ -93,5 +93,6 @@ using System.Runtime.CompilerServices;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -151,7 +151,7 @@ namespace ROEditor
|
||||
private string origMenuItem;
|
||||
StringBuilder parseerror;
|
||||
private int hi, lo;
|
||||
private Label lb_chkApplc;
|
||||
private Label lb_chkApplc;
|
||||
private int dbtype;
|
||||
// C2021-026 returns true is Parent/Child info was passed into the RO Editor
|
||||
public bool PCApplicabilityEnabled
|
||||
@@ -188,33 +188,33 @@ namespace ROEditor
|
||||
lboxInUse.Visible = true;
|
||||
lb_chkApplc.Visible = false;
|
||||
}
|
||||
if (editlevel==(uint)RecordType.GroupSchema)this.Text = "Subgroup Definition";
|
||||
if (editlevel == (uint)RecordType.GroupSchema) this.Text = "Subgroup Definition";
|
||||
FillInData(grptxt);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </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();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
|
||||
private void FillInAvailable()
|
||||
{
|
||||
ROField rof;
|
||||
|
||||
|
||||
// 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?
|
||||
this.lboxAvail.Items.Add(rof.GetFieldname);
|
||||
}
|
||||
@@ -277,7 +277,7 @@ namespace ROEditor
|
||||
_initializing = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void DoValueTextBoxes()
|
||||
{
|
||||
string menuitm, retval;
|
||||
@@ -297,7 +297,7 @@ namespace ROEditor
|
||||
else
|
||||
parent = null;
|
||||
}
|
||||
if (menuitm !="")
|
||||
if (menuitm != "")
|
||||
this.tbMenuVal.Text = CvtFldToUserFld(menuitm);
|
||||
else
|
||||
this.tbMenuVal.Text = "";
|
||||
@@ -310,21 +310,21 @@ namespace ROEditor
|
||||
this.lblRetVal.Visible = true;
|
||||
VlnXmlElement parent;
|
||||
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
|
||||
if (menuitm == "") menuitm = parent.GetAttribute("MenuItem");
|
||||
if (retval == "") retval = parent.GetAttribute("RetVal");
|
||||
if (parent.Name != "RO_Root")
|
||||
parent = (VlnXmlElement) parent.ParentNode;
|
||||
parent = (VlnXmlElement)parent.ParentNode;
|
||||
else
|
||||
parent = null;
|
||||
}
|
||||
if (menuitm!="")
|
||||
if (menuitm != "")
|
||||
this.tbMenuVal.Text = CvtFldToUserFld(menuitm);
|
||||
else
|
||||
this.tbMenuVal.Text = "";
|
||||
if (retval!="")
|
||||
if (retval != "")
|
||||
this.tbRetVal.Text = CvtFldToUserFld(retval);
|
||||
else
|
||||
this.tbRetVal.Text = "";
|
||||
@@ -332,7 +332,7 @@ namespace ROEditor
|
||||
}
|
||||
|
||||
private void FillInData(string grptxt)
|
||||
{
|
||||
{
|
||||
this.lblGroupText.Text = grptxt;
|
||||
DoValueTextBoxes();
|
||||
SetUpListBoxes();
|
||||
@@ -344,24 +344,27 @@ namespace ROEditor
|
||||
|
||||
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.
|
||||
origRetVal=this.tbRetVal.Text;
|
||||
origMenuItem=this.tbMenuVal.Text;
|
||||
|
||||
origRetVal = this.tbRetVal.Text;
|
||||
origMenuItem = this.tbMenuVal.Text;
|
||||
|
||||
// if this is a database level definition & it's a user defined database,
|
||||
// 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;
|
||||
if (editlevel==(uint)RecordType.Schema)
|
||||
if (editlevel == (uint)RecordType.Schema)
|
||||
attr = elem.GetAttribute("FieldsInUse");
|
||||
else
|
||||
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();
|
||||
this.btnRemove.Enabled = true;
|
||||
@@ -375,7 +378,7 @@ namespace ROEditor
|
||||
this.btnAdd.Enabled = false;
|
||||
this.btnEdit.Enabled = true;
|
||||
}
|
||||
protected void lboxAvail_GotFocus (object sender, EventArgs e)
|
||||
protected void lboxAvail_GotFocus(object sender, EventArgs e)
|
||||
{
|
||||
if (PCApplicabilityEnabled)
|
||||
lboxInUseCB.ClearSelected();
|
||||
@@ -385,6 +388,103 @@ namespace ROEditor
|
||||
this.btnRemove.Enabled = false;
|
||||
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)
|
||||
{
|
||||
//get item in lboxInUse (in use list) and remove it from there
|
||||
@@ -404,7 +504,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
AvailList.Add(copyrof);
|
||||
|
||||
lboxAvail.Items.Add(copyrof.GetFieldname);
|
||||
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
InUseList.RemoveAt(indx);
|
||||
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
|
||||
InUseApplcList.Remove(rof);
|
||||
@@ -427,7 +527,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
AvailList.Add(copyrof);
|
||||
|
||||
lboxAvail.Items.Add(copyrof.GetFieldname);
|
||||
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
InUseList.RemoveAt(indx);
|
||||
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
|
||||
InUseApplcList.Remove(rof);
|
||||
@@ -455,7 +555,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
InUseList.Add(copyrof);
|
||||
|
||||
lboxInUseCB.Items.Add(copyrof.GetFieldname);
|
||||
lboxInUseCB.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
AvailList.RemoveAt(indx);
|
||||
lboxAvail.Refresh();
|
||||
lboxInUseCB.Refresh();
|
||||
@@ -477,7 +577,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
InUseList.Add(copyrof);
|
||||
|
||||
lboxInUse.Items.Add(copyrof.GetFieldname);
|
||||
lboxInUse.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
AvailList.RemoveAt(indx);
|
||||
lboxAvail.Refresh();
|
||||
lboxInUse.Refresh();
|
||||
@@ -640,7 +740,7 @@ namespace ROEditor
|
||||
{
|
||||
ROField rof = (ROField) InUseList[i];
|
||||
rofname = rof.GetFieldname;
|
||||
if (inusename == rofname)
|
||||
if (inusename == rofname || inusename == CvtFldToUserFld(rofname))
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
@@ -745,7 +845,7 @@ namespace ROEditor
|
||||
{
|
||||
ROField rof = (ROField) InUseList[i];
|
||||
rofname = rof.GetFieldname;
|
||||
if (inusename == rofname)
|
||||
if (inusename == rofname || inusename == CvtFldToUserFld(rofname))
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
@@ -1096,7 +1196,8 @@ namespace ROEditor
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
string origname = CvtFldToUserFld(rof.GetFieldname);
|
||||
uint ftype = rof.GetFieldType;
|
||||
if (ftype == (uint)FieldTypes.FrmtSingleTxt || ftype == (uint)FieldTypes.VariableTxt ||
|
||||
ftype == (uint)FieldTypes.SingleTxt || ftype == (uint)FieldTypes.Table ||
|
||||
@@ -1112,6 +1213,10 @@ namespace ROEditor
|
||||
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.
|
||||
if (isInSelList)
|
||||
{
|
||||
@@ -1125,20 +1230,28 @@ namespace ROEditor
|
||||
rof = (ROField) InUseList[i];
|
||||
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
|
||||
if (PCApplicabilityEnabled)
|
||||
{
|
||||
this.lboxInUseCB.Items.Add(rof.GetFieldname);
|
||||
this.lboxInUseCB.Items.Add(fieldname);
|
||||
if (rof.FieldTypeCanDoApplicability())
|
||||
{
|
||||
if (ContainedInUseApplicList(rof))
|
||||
this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(rof.GetFieldname), CheckState.Checked);
|
||||
this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(fieldname), CheckState.Checked);
|
||||
}
|
||||
}
|
||||
else
|
||||
this.lboxInUse.Items.Add(rof.GetFieldname);
|
||||
this.lboxInUse.Items.Add(fieldname);
|
||||
}
|
||||
}
|
||||
|
||||
if (origname != newname)
|
||||
{
|
||||
tbMenuVal.Text = tbMenuVal.Text.Replace($"<{origname}>", $"<{newname}>");
|
||||
tbRetVal.Text = tbRetVal.Text.Replace($"<{origname}>", $"<{newname}>");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1148,7 +1261,7 @@ namespace ROEditor
|
||||
{
|
||||
rof = (ROField) AvailList[i];
|
||||
if (rof.GetFieldname != null)
|
||||
this.lboxAvail.Items.Add(rof.GetFieldname);
|
||||
this.lboxAvail.Items.Add(CvtFldToUserFld(rof.GetFieldname));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1162,8 +1275,11 @@ namespace ROEditor
|
||||
if (rof.GetFieldname != null)
|
||||
{
|
||||
AvailList.Add(rof);
|
||||
lboxAvail.Items.Add(rof.GetFieldname);
|
||||
lboxAvail.Items.Add(CvtFldToUserFld(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
|
||||
private void lboxInUseCB_ItemCheck(object sender, ItemCheckEventArgs e)
|
||||
@@ -1397,6 +1513,7 @@ namespace ROEditor
|
||||
this.btnCancel.Size = new System.Drawing.Size(80, 24);
|
||||
this.btnCancel.TabIndex = 10;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
|
||||
//
|
||||
// RODefFrm
|
||||
//
|
||||
@@ -1419,6 +1536,71 @@ namespace ROEditor
|
||||
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
|
||||
}
|
||||
}
|
||||
|
@@ -339,7 +339,7 @@ namespace RODBInterface
|
||||
public abstract bool RODB_WriteRO(VlnXmlElement ro);
|
||||
public abstract bool RODB_InsertRO(VlnXmlElement ro);
|
||||
public abstract ushort RODB_GetFieldType(VlnXmlElement elem, string TableName, string Fld);
|
||||
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype);
|
||||
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false);
|
||||
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_WriteSchemaPiece(string Recid, string table, string schpiece);
|
||||
@@ -2294,11 +2294,16 @@ namespace RODBInterface
|
||||
}
|
||||
|
||||
// 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)
|
||||
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false)
|
||||
{
|
||||
string table = elem.GetAttribute("Table");
|
||||
if (!FieldDefinitions.ContainsKey(table))
|
||||
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
|
||||
else if (refresh)
|
||||
{
|
||||
FieldDefinitions.Remove(table);
|
||||
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
|
||||
}
|
||||
return FieldDefinitions[table];
|
||||
}
|
||||
private Dictionary<string, ArrayList> _FieldDefinitions = null;
|
||||
|
@@ -1744,13 +1744,18 @@ namespace RODBInterface
|
||||
return ftype;
|
||||
}
|
||||
// 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)
|
||||
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype, bool refresh = false)
|
||||
{
|
||||
string table = elem.GetAttribute("Table");
|
||||
if (!FieldDefinitions.ContainsKey(table))
|
||||
{
|
||||
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
|
||||
}
|
||||
else if (refresh)
|
||||
{
|
||||
FieldDefinitions.Remove(table);
|
||||
FieldDefinitions.Add(table, RODB_GetFieldsFromDB(elem));
|
||||
}
|
||||
return FieldDefinitions[table];
|
||||
}
|
||||
private Dictionary<string, ArrayList> _FieldDefinitions = null;
|
||||
|
@@ -85,7 +85,7 @@ namespace VlnStatus
|
||||
this.lblStatMsg.Name = "lblStatMsg";
|
||||
this.lblStatMsg.Size = new System.Drawing.Size(420, 81);
|
||||
this.lblStatMsg.TabIndex = 0;
|
||||
this.lblStatMsg.Text = "Put Satus Message Here";
|
||||
this.lblStatMsg.Text = "Put Status Message Here";
|
||||
this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// StatusMessageFrm
|
||||
|
@@ -1654,6 +1654,10 @@ namespace VEPROMS
|
||||
// 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
|
||||
// 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)
|
||||
{
|
||||
// B2019-071 dialog to ask user if we are to close one tab or exit
|
||||
@@ -2349,6 +2353,7 @@ namespace VEPROMS
|
||||
|
||||
public void openDisplaytabstate()
|
||||
{
|
||||
// Retrieve edit tab state from database.
|
||||
DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID);
|
||||
|
||||
if (DisPlayTabState.Rows.Count > 0)
|
||||
@@ -2356,11 +2361,11 @@ namespace VEPROMS
|
||||
foreach (DataRow TabState in DisPlayTabState.Rows)
|
||||
{
|
||||
int _ItemID = (int)TabState["ItemID"];
|
||||
//ItemInfoList _Procedures = ItemInfoList.GetList(_ItemID, (int)E_FromType.Procedure));
|
||||
ItemInfo _Procedure = ItemInfo.Get(_ItemID);
|
||||
//ItemInfo.Get
|
||||
//ItemInfo.Get
|
||||
// Open procedure in the editor.
|
||||
OpenItem(_Procedure);
|
||||
// SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work.
|
||||
SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1165,13 +1165,17 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
int sp = odte.Link.IndexOf(" ") + 1; // get past tran type
|
||||
string srecid = odte.Link.Substring(sp, odte.Link.IndexOf(" ", sp) - sp);
|
||||
recid = System.Convert.ToInt32(srecid);
|
||||
foreach (ContentTransition ct in itm.MyContent.ContentTransitions)
|
||||
|
||||
//CSM B2024-078 - when a bad transition link / does not contain a number, simply return the text as-is
|
||||
if (int.TryParse(srecid, out recid))
|
||||
{
|
||||
if (ct.TransitionID == recid)
|
||||
foreach (ContentTransition ct in itm.MyContent.ContentTransitions)
|
||||
{
|
||||
itm.MyContent.ContentTransitions.Remove(ct);
|
||||
break;
|
||||
if (ct.TransitionID == recid)
|
||||
{
|
||||
itm.MyContent.ContentTransitions.Remove(ct);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1656,7 +1660,15 @@ namespace VEPROMS.CSLA.Library
|
||||
private string FixTransition(string link, string 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
|
||||
if (_MyItemInfo.MyContent.ContentTransitionCount <= 0)
|
||||
{
|
||||
|
Reference in New Issue
Block a user