Compare commits
1 Commits
74c2a303da
...
B2024-062_
Author | SHA1 | Date | |
---|---|---|---|
e5d5528b19 |
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.
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.
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.
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.907")]
|
||||
[assembly: AssemblyFileVersion("2.3.2410.907")]
|
||||
[assembly: AssemblyVersion("2.3.2404.1611")]
|
||||
[assembly: AssemblyFileVersion("2.3.2404.1611")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
@@ -91,8 +91,6 @@ using System.Runtime.CompilerServices;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -377,7 +377,6 @@ namespace ROEditor
|
||||
this.btnOK.TabIndex = 3;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
@@ -554,7 +553,6 @@ namespace ROEditor
|
||||
// update the local/internal copy of the schema.
|
||||
if (success != true)
|
||||
{
|
||||
this.DialogResult = DialogResult.Cancel;
|
||||
return; // DO YET process an error.
|
||||
}
|
||||
else
|
||||
|
@@ -266,7 +266,6 @@ namespace ROEditor
|
||||
|
||||
if (success != true)
|
||||
{
|
||||
this.DialogResult = DialogResult.Cancel;
|
||||
return; // DO YET process an error.
|
||||
}
|
||||
else
|
||||
@@ -368,7 +367,6 @@ namespace ROEditor
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOK.Location = new System.Drawing.Point(216, 72);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(88, 24);
|
||||
|
@@ -220,7 +220,6 @@ namespace ROEditor
|
||||
return;
|
||||
}
|
||||
|
||||
string origFieldName = myrof.GetFieldname;
|
||||
myrof.SetFieldname(this.tbFieldName.Text);
|
||||
uint ftype=0;
|
||||
if (this.rbSingleLine.Checked == true)
|
||||
@@ -248,7 +247,6 @@ namespace ROEditor
|
||||
|
||||
if (success != true)
|
||||
{
|
||||
this.DialogResult = DialogResult.Cancel;
|
||||
return; // DO YET process an error.
|
||||
}
|
||||
return;
|
||||
@@ -272,9 +270,7 @@ namespace ROEditor
|
||||
}
|
||||
myrof.SetFieldType(ftype);
|
||||
FieldTextFrm ftxt = new FieldTextFrm(myrof, myrodb, myelem, original_type, editlevel, origname, avlist, iulist);
|
||||
if (ftxt.ShowDialog() == DialogResult.Cancel)
|
||||
myrof.SetFieldname(origFieldName);
|
||||
|
||||
ftxt.ShowDialog();
|
||||
this.Close();
|
||||
}
|
||||
#region Windows Form Designer generated code
|
||||
|
@@ -100,7 +100,6 @@ using System.Text;
|
||||
using RODBInterface;
|
||||
using ROFields;
|
||||
using VlnStatus;
|
||||
using System.Linq;
|
||||
|
||||
namespace ROEditor
|
||||
{
|
||||
@@ -246,37 +245,6 @@ namespace ROEditor
|
||||
return CvtFldToUserFld(origGroup);
|
||||
}
|
||||
}
|
||||
|
||||
//CSM C2024-023
|
||||
//Part of 2024 PROMS Upgrades
|
||||
//When the Overall Form is activated
|
||||
//if there are any items that are Fields that are in use
|
||||
//add them as auto-complete options to the
|
||||
//Accessory Page Access - Value Textbox
|
||||
//Typing < will bring up the auto-complete options
|
||||
protected void tbValue_AddAutoComplete(object sender, EventArgs e)
|
||||
{
|
||||
string dummy = ""; // need for RODB_GetFIeldsInUse call, won't be used.
|
||||
ArrayList AvailList, InUseList;
|
||||
//first see if it is a valid 'InUse' Field.
|
||||
AvailList = myrodb.RODB_GetFields(elem, (uint)RecordType.Schema);
|
||||
InUseList = myrodb.RODB_GetFieldsInUse(elem, AvailList, "FieldsInUse", ref dummy, false);
|
||||
|
||||
//if any ROField items are in use,
|
||||
//use LINQ to get a string array of the FieldNames
|
||||
if (InUseList.Count > 0)
|
||||
{
|
||||
string[] InUseListFieldNames = InUseList.OfType<ROField>().Select(x => $"<{x.GetFieldname}>").ToArray();
|
||||
AutoCompleteStringCollection allowedTypes = new AutoCompleteStringCollection();
|
||||
allowedTypes.AddRange(InUseListFieldNames);
|
||||
tbValue.AutoCompleteCustomSource = allowedTypes;
|
||||
tbValue.AutoCompleteMode = AutoCompleteMode.Suggest;
|
||||
tbValue.AutoCompleteSource = AutoCompleteSource.CustomSource;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void FillInData()
|
||||
{
|
||||
this.tbGroup.Text = DetermineGroupName();
|
||||
@@ -433,7 +401,6 @@ namespace ROEditor
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.btnOK.Location = new System.Drawing.Point(24, 248);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(144, 24);
|
||||
@@ -465,7 +432,6 @@ namespace ROEditor
|
||||
this.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.Name = "GroupDefFrm";
|
||||
this.Text = "Group Definition";
|
||||
this.Activated += new EventHandler(tbValue_AddAutoComplete);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
|
@@ -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,27 +344,24 @@ 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;
|
||||
@@ -378,7 +375,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();
|
||||
@@ -388,103 +385,6 @@ 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
|
||||
@@ -504,7 +404,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
AvailList.Add(copyrof);
|
||||
|
||||
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
lboxAvail.Items.Add(copyrof.GetFieldname);
|
||||
InUseList.RemoveAt(indx);
|
||||
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
|
||||
InUseApplcList.Remove(rof);
|
||||
@@ -527,7 +427,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
AvailList.Add(copyrof);
|
||||
|
||||
lboxAvail.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
lboxAvail.Items.Add(copyrof.GetFieldname);
|
||||
InUseList.RemoveAt(indx);
|
||||
if (InUseApplcList.Contains(rof)) // C2021-026 remove from the field applicability list
|
||||
InUseApplcList.Remove(rof);
|
||||
@@ -555,7 +455,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
InUseList.Add(copyrof);
|
||||
|
||||
lboxInUseCB.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
lboxInUseCB.Items.Add(copyrof.GetFieldname);
|
||||
AvailList.RemoveAt(indx);
|
||||
lboxAvail.Refresh();
|
||||
lboxInUseCB.Refresh();
|
||||
@@ -577,7 +477,7 @@ namespace ROEditor
|
||||
ROField copyrof = new ROField(rof.GetFieldname, rof.GetRecID, rof.GetMasterRecID, rof.GetFieldType);
|
||||
InUseList.Add(copyrof);
|
||||
|
||||
lboxInUse.Items.Add(CvtFldToUserFld(copyrof.GetFieldname));
|
||||
lboxInUse.Items.Add(copyrof.GetFieldname);
|
||||
AvailList.RemoveAt(indx);
|
||||
lboxAvail.Refresh();
|
||||
lboxInUse.Refresh();
|
||||
@@ -740,7 +640,7 @@ namespace ROEditor
|
||||
{
|
||||
ROField rof = (ROField) InUseList[i];
|
||||
rofname = rof.GetFieldname;
|
||||
if (inusename == rofname || inusename == CvtFldToUserFld(rofname))
|
||||
if (inusename == rofname)
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
@@ -845,7 +745,7 @@ namespace ROEditor
|
||||
{
|
||||
ROField rof = (ROField) InUseList[i];
|
||||
rofname = rof.GetFieldname;
|
||||
if (inusename == rofname || inusename == CvtFldToUserFld(rofname))
|
||||
if (inusename == rofname)
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
@@ -1196,8 +1096,7 @@ 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 ||
|
||||
@@ -1213,10 +1112,6 @@ 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)
|
||||
{
|
||||
@@ -1230,31 +1125,20 @@ 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(fieldname);
|
||||
this.lboxInUseCB.Items.Add(rof.GetFieldname);
|
||||
if (rof.FieldTypeCanDoApplicability())
|
||||
{
|
||||
if (ContainedInUseApplicList(rof))
|
||||
this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(fieldname), CheckState.Checked);
|
||||
this.lboxInUseCB.SetItemCheckState(lboxInUseCB.Items.IndexOf(rof.GetFieldname), CheckState.Checked);
|
||||
}
|
||||
}
|
||||
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}>");
|
||||
//CSM-C2024-035 This is needed for items like Setpoint Value that may have commas with field lengths in them
|
||||
tbMenuVal.Text = tbMenuVal.Text.Replace($"<{origname},", $"<{newname},");
|
||||
tbRetVal.Text = tbRetVal.Text.Replace($"<{origname},", $"<{newname},");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1264,7 +1148,7 @@ namespace ROEditor
|
||||
{
|
||||
rof = (ROField) AvailList[i];
|
||||
if (rof.GetFieldname != null)
|
||||
this.lboxAvail.Items.Add(CvtFldToUserFld(rof.GetFieldname));
|
||||
this.lboxAvail.Items.Add(rof.GetFieldname);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1278,11 +1162,8 @@ namespace ROEditor
|
||||
if (rof.GetFieldname != null)
|
||||
{
|
||||
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
|
||||
private void lboxInUseCB_ItemCheck(object sender, ItemCheckEventArgs e)
|
||||
@@ -1516,7 +1397,6 @@ namespace ROEditor
|
||||
this.btnCancel.Size = new System.Drawing.Size(80, 24);
|
||||
this.btnCancel.TabIndex = 10;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
|
||||
//
|
||||
// RODefFrm
|
||||
//
|
||||
@@ -1539,71 +1419,6 @@ 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
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -125,7 +125,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACE
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -175,7 +175,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAe
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CwAAAk1TRnQBSQFMAgEBBgEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
@@ -336,10 +336,10 @@ namespace RODBInterface
|
||||
public abstract bool RODB_GetChildData(VlnXmlElement node, bool CheckChildCount);
|
||||
public abstract bool IsDuplicateAccPageID(VlnXmlElement ro, string newacc);
|
||||
public abstract VlnXmlElement RODB_ReadRO(string tbl, string recid);
|
||||
public abstract bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false);
|
||||
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, bool refresh = false);
|
||||
public abstract ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype);
|
||||
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);
|
||||
@@ -2120,7 +2120,7 @@ namespace RODBInterface
|
||||
return retele;
|
||||
}
|
||||
|
||||
public override bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false)
|
||||
public override bool RODB_WriteRO(VlnXmlElement ro)
|
||||
{
|
||||
bool success;
|
||||
if (ro.Name == "vlnGroup")
|
||||
@@ -2140,13 +2140,6 @@ namespace RODBInterface
|
||||
string dt = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
|
||||
string xmlstr = GenerateXmlString(ro, false);
|
||||
string strUpdate = "UPDATE " + ro.GetAttribute("Table") + " SET Info = '" + xmlstr + "'";
|
||||
if (movedRO)
|
||||
{
|
||||
VlnXmlElement parent = (VlnXmlElement)ro.ParentNode;
|
||||
ro.SetAttribute("ParentID", parent.GetAttribute("RecID"));
|
||||
strUpdate += ", ParentID = '" + ro.GetAttribute("ParentID") + "'";
|
||||
}
|
||||
|
||||
strUpdate = strUpdate + ", ModDateTime = '" + dt + "', AccPageID = '" + wraccid + "' WHERE RecID='" + ro.GetAttribute("RecID") + "'";
|
||||
try
|
||||
{
|
||||
@@ -2199,8 +2192,6 @@ namespace RODBInterface
|
||||
ro.SetAttribute("HasChild", "False");
|
||||
if (ro.HasAttribute("AccPageID"))
|
||||
{
|
||||
// Code is never reached, but this was noticed - this next line should likely be:
|
||||
// strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, AccPageID, ModDateTime, Info ) ";
|
||||
strInsert = "INSERT INTO " + parent.GetAttribute("Table") + "( RecID, RecType, ParentID, ModDateTime, AccPageID, Info ) ";
|
||||
strInsert = strInsert + " VALUES ('" + ro.GetAttribute("RecID") + "'," + (uint)RecordType.Group + ",'" + ro.GetAttribute("ParentID");
|
||||
strInsert = strInsert + "','" + wraccid + "','" + dt + "','" + xmlstr + "');";
|
||||
@@ -2303,16 +2294,11 @@ 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, bool refresh = false)
|
||||
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype)
|
||||
{
|
||||
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;
|
||||
@@ -2405,7 +2391,7 @@ namespace RODBInterface
|
||||
Info = null;
|
||||
DBE.ReaderClose();
|
||||
DBE.CommandDispose();
|
||||
return Info?.Replace("'", "\'");
|
||||
return Info.Replace("'", "\'");
|
||||
}
|
||||
|
||||
public override bool RODB_NewSchemaPiece(string recid, string parentid, string table, string schpiece, uint rtype)
|
||||
@@ -2667,9 +2653,8 @@ namespace RODBInterface
|
||||
bool isused = RODB_CheckForStandardName(oldname);
|
||||
if (isused == true)
|
||||
{
|
||||
DialogResult result = MessageBox.Show($"The field name is used to define new Setpoints or Graphics Database.\n\n The update will be for this local (database) group only.\n\n Select OK to update local definition for all items in that table ({GetTopParentName(myelem)}).", "Field name modification.", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
||||
MessageBox.Show("The field name is used to define new Setpoints or Graphics Database.\n The update will be for this local (database) group only.", "Field name modification.");
|
||||
changegeneric = false;
|
||||
if(result == DialogResult.Cancel) return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2681,8 +2666,8 @@ namespace RODBInterface
|
||||
// Generic definition, i.e. all Groups, and No updates only Local definition, i.e. just this Group Added a
|
||||
// Cancel button to Cancel from this dialog and return to previous dialog. Added more information to the
|
||||
// dialog to inform user of this
|
||||
string dmsg = $"Update Generic definition?\r\n\r\n Yes - updates Generic definitions, \r\n No - updates Local definitions, \r\n Cancel - returns to previous dialog." +
|
||||
$"\r\n\r\n 'Generic' updates definition in ALL groups that use the name\r\n 'Local' updates definition only in the selected group, and will change the definition for all items in that table ({GetTopParentName(myelem)}).";
|
||||
string dmsg = "Update Generic definition?\r\n\r\n Yes - updates Generic definitions, \r\n No - updates Local definitions, \r\n Cancel - returns to previous dialog." +
|
||||
"\r\n\r\n 'Generic' updates definition in ALL groups that use the name\r\n 'Local' updates definition only in the selected group.";
|
||||
System.Windows.Forms.DialogResult result = MessageBox.Show(dmsg, "Referenced Object Definition", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
|
||||
if (result == DialogResult.Cancel) return false;
|
||||
if (result == DialogResult.No) changegeneric = false;
|
||||
@@ -2787,19 +2772,6 @@ namespace RODBInterface
|
||||
return success;
|
||||
}
|
||||
|
||||
//CSM-C2024-030
|
||||
//Explain that Local is local to that table (and include Table name in wording displayed to user)
|
||||
public string GetTopParentName(VlnXmlElement elem)
|
||||
{
|
||||
VlnXmlElement nodetocheck = elem;
|
||||
while (nodetocheck.GetAttribute("ParentID") != "00000000" && nodetocheck.ParentNode != null)
|
||||
{
|
||||
nodetocheck = (VlnXmlElement) nodetocheck.ParentNode;
|
||||
}
|
||||
|
||||
return nodetocheck.FirstChild.InnerText;
|
||||
}
|
||||
|
||||
public override XmlSchema RODB_GetGroupSchema(VlnXmlElement elem)
|
||||
{
|
||||
XmlSchema myschema;
|
||||
|
@@ -1557,7 +1557,7 @@ namespace RODBInterface
|
||||
}
|
||||
return retele;
|
||||
}
|
||||
public override bool RODB_WriteRO(VlnXmlElement ro, bool movedRO = false)
|
||||
public override bool RODB_WriteRO(VlnXmlElement ro)
|
||||
{
|
||||
bool success;
|
||||
if (ro.Name == "vlnGroup")
|
||||
@@ -1589,13 +1589,6 @@ namespace RODBInterface
|
||||
command.Parameters.AddWithValue("@ModDateTime", dt);
|
||||
command.Parameters.AddWithValue("@AccPageID", wraccid); // B2020-003: set accpageid to correct value
|
||||
command.Parameters.AddWithValue("@RecID", ro.GetAttribute("RecID"));
|
||||
if (movedRO)
|
||||
{
|
||||
VlnXmlElement parent = (VlnXmlElement)ro.ParentNode;
|
||||
ro.SetAttribute("ParentID", parent.GetAttribute("RecID"));
|
||||
command.Parameters.AddWithValue("@ParentID", ro.GetAttribute("ParentID"));
|
||||
}
|
||||
|
||||
using (SqlDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
success = true;
|
||||
@@ -1751,18 +1744,13 @@ 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, bool refresh = false)
|
||||
public override ArrayList RODB_GetFields(VlnXmlElement elem, uint rtype)
|
||||
{
|
||||
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;
|
||||
@@ -1921,7 +1909,7 @@ namespace RODBInterface
|
||||
command.Parameters.AddWithValue("@RecID", Recid);
|
||||
using (SqlDataReader reader = command.ExecuteReader())
|
||||
{
|
||||
if (reader.Read())
|
||||
if (DBE.Read())
|
||||
Info = reader.GetString(0);
|
||||
else
|
||||
Info = 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 Status Message Here";
|
||||
this.lblStatMsg.Text = "Put Satus Message Here";
|
||||
this.lblStatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// StatusMessageFrm
|
||||
|
@@ -231,6 +231,7 @@ namespace VEPROMS
|
||||
cbxOpenAfterCreate2.Visible = oneProcedure;
|
||||
cbxOpenAfterCreate2.Checked = false;
|
||||
cbxOverwritePDF2.Visible = oneProcedure;
|
||||
cbxOverwritePDF2.Checked = true;
|
||||
gpnlDebug.Visible = Volian.Base.Library.VlnSettings.DebugMode;
|
||||
swtbtnGeneratePlacekeeper.Value = false;
|
||||
cbxGenerateConActSum.Checked = false;
|
||||
@@ -1205,23 +1206,18 @@ namespace VEPROMS
|
||||
private bool validateDate(TextBox txtDate)
|
||||
{
|
||||
DateTime dDate;
|
||||
if (!(txtDate.Text == ""))
|
||||
if (DateTime.TryParse(txtDate.Text, out dDate))
|
||||
{
|
||||
|
||||
if (DateTime.TryParse(txtDate.Text, out dDate))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
string txtDate2 = txtDate.Text;
|
||||
string message = String.Format("Date {0} in wrong format" + System.Environment.NewLine + "Correct the revision date.", txtDate2);
|
||||
string txtTitle = "Invalid Format";
|
||||
MessageBox.Show(message, txtTitle);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
string txtDate2 = txtDate.Text;
|
||||
string message = String.Format("Date {0} in wrong format" + System.Environment.NewLine + "Correct the revision date.", txtDate2);
|
||||
string txtTitle = "Invalid Format";
|
||||
MessageBox.Show(message, txtTitle);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void txbRevDate_Enter(object sender, EventArgs e)
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -674,8 +674,7 @@ CREATE PROCEDURE [dbo].[updateInfoAccidByRecid]
|
||||
@RecID char(8),
|
||||
@AccPageID char(32),
|
||||
@Info nvarchar(max),
|
||||
@ModDateTime char(14),
|
||||
@ParentID varchar(8) = NULL
|
||||
@ModDateTime char(14)
|
||||
)
|
||||
WITH EXECUTE AS OWNER
|
||||
AS
|
||||
@@ -685,8 +684,7 @@ BEGIN TRY -- Try Block
|
||||
SET
|
||||
[Info]=@Info,
|
||||
[ModDateTime]=@ModDateTime,
|
||||
[AccPageID]=@AccPageID,
|
||||
[ParentID]=ISNULL(@ParentID, ParentID)
|
||||
[AccPageID]=@AccPageID
|
||||
WHERE [ROTable]=@ROTable AND [RecID]=@RecID
|
||||
IF @@ROWCOUNT = 0
|
||||
BEGIN
|
||||
|
@@ -163,12 +163,6 @@
|
||||
<Compile Include="dlgCheckedOutProcedure.designer.cs">
|
||||
<DependentUpon>dlgCheckedOutProcedure.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgCheckOpenTabs.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="dlgCheckOpenTabs.Designer.cs">
|
||||
<DependentUpon>dlgCheckOpenTabs.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DlgCloseTabsOrExit.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -330,9 +324,6 @@
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="dlgCheckOpenTabs.resx">
|
||||
<DependentUpon>dlgCheckOpenTabs.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DlgCloseTabsOrExit.resx">
|
||||
<DependentUpon>DlgCloseTabsOrExit.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -635,4 +626,4 @@
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>cmd /c "$(ProjectDir)FixRev.bat"</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@@ -1,116 +0,0 @@
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
partial class dlgCheckOpenTabs
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.labelX1 = new DevComponents.DotNetBar.LabelX();
|
||||
this.cbRemember = new DevComponents.DotNetBar.Controls.CheckBoxX();
|
||||
this.btnOpenTabs = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnNoTabs = new DevComponents.DotNetBar.ButtonX();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// labelX1
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.labelX1.Location = new System.Drawing.Point(23, 2);
|
||||
this.labelX1.Name = "labelX1";
|
||||
this.labelX1.Size = new System.Drawing.Size(363, 78);
|
||||
this.labelX1.TabIndex = 0;
|
||||
this.labelX1.Text = "Would you like for PROMS to reopen the tabs that you had open during your last se" +
|
||||
"ssion?";
|
||||
this.labelX1.WordWrap = true;
|
||||
//
|
||||
// cbRemember
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.cbRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.cbRemember.Location = new System.Drawing.Point(23, 75);
|
||||
this.cbRemember.Name = "cbRemember";
|
||||
this.cbRemember.Size = new System.Drawing.Size(376, 47);
|
||||
this.cbRemember.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.cbRemember.TabIndex = 1;
|
||||
this.cbRemember.Text = "Check this box to not be prompted in the future when opening PROMS. \nNote that th" +
|
||||
"ese settings can be adjusted at any time from the \nOPTIONS menu for PROMS.";
|
||||
//
|
||||
// btnOpenTabs
|
||||
//
|
||||
this.btnOpenTabs.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnOpenTabs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnOpenTabs.DialogResult = System.Windows.Forms.DialogResult.Yes;
|
||||
this.btnOpenTabs.Location = new System.Drawing.Point(23, 139);
|
||||
this.btnOpenTabs.Name = "btnOpenTabs";
|
||||
this.btnOpenTabs.Size = new System.Drawing.Size(150, 42);
|
||||
this.btnOpenTabs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnOpenTabs.TabIndex = 2;
|
||||
this.btnOpenTabs.Text = "Yes, Open Tabs from Last Session";
|
||||
this.btnOpenTabs.Click += new System.EventHandler(this.btnTabs_Click);
|
||||
//
|
||||
// btnNoTabs
|
||||
//
|
||||
this.btnNoTabs.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnNoTabs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnNoTabs.DialogResult = System.Windows.Forms.DialogResult.No;
|
||||
this.btnNoTabs.Location = new System.Drawing.Point(216, 139);
|
||||
this.btnNoTabs.Name = "btnNoTabs";
|
||||
this.btnNoTabs.Size = new System.Drawing.Size(150, 42);
|
||||
this.btnNoTabs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnNoTabs.TabIndex = 3;
|
||||
this.btnNoTabs.Text = "No, Do Not Open Tabs from Previous Session";
|
||||
this.btnNoTabs.Click += new System.EventHandler(this.btnTabs_Click);
|
||||
//
|
||||
// dlgCheckOpenTabs
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(411, 193);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.btnNoTabs);
|
||||
this.Controls.Add(this.btnOpenTabs);
|
||||
this.Controls.Add(this.cbRemember);
|
||||
this.Controls.Add(this.labelX1);
|
||||
this.Name = "dlgCheckOpenTabs";
|
||||
this.Text = "Open Tabs from Previous Session";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevComponents.DotNetBar.LabelX labelX1;
|
||||
private DevComponents.DotNetBar.Controls.CheckBoxX cbRemember;
|
||||
private DevComponents.DotNetBar.ButtonX btnOpenTabs;
|
||||
private DevComponents.DotNetBar.ButtonX btnNoTabs;
|
||||
}
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
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
|
||||
{
|
||||
public partial class dlgCheckOpenTabs : Form
|
||||
{
|
||||
public dlgCheckOpenTabs()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public bool Remember { get; set; } = false;
|
||||
|
||||
private void btnTabs_Click(object sender, EventArgs e)
|
||||
{
|
||||
Remember = this.cbRemember.Checked;
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,120 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
@@ -425,9 +425,9 @@ namespace VEPROMS
|
||||
MessageBox.Show(msg, "Import Completed", MessageBoxButtons.OK, MessageBoxIcon.Information); // C2020-042 changed mesage box title
|
||||
//MessageBox.Show(string.Format("Finished Importing:\n\n{0}", txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\") + 1)), "Import", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
if (canceledPressed || !isImported)
|
||||
if (canceledPressed)
|
||||
{
|
||||
MessageBox.Show(string.Format("Cancelling the import of:\n\n{0}", txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\") + 1)), "Cancelling Import", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
MessageBox.Show(string.Format("Canceling the import of:\n\n{0}", txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\") + 1)), "Import", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
btnCloseImport.PerformClick();
|
||||
}
|
||||
}
|
||||
@@ -906,8 +906,8 @@ namespace VEPROMS
|
||||
// C2020-032: Import Procedure set when existing name exists, allow user to import with 'Copy (#) of'.
|
||||
// This is similar functionality to the import of a procedure without the overwrite part.
|
||||
string msg = string.Format("The procedure set you are importing, {0}, already exists.\n\nDo you want to import {0} as a COPY of the existing set?\n\nThis will prefix the name with \"Copy (#) of\"", name);
|
||||
DialogResult dr = MessageBox.Show(this, msg, "Create Copy Of Existing Procedure Set", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop);
|
||||
if (dr == DialogResult.OK)
|
||||
DialogResult dr = MessageBox.Show(this, msg, "Create Copy Of Existing Procedure Set", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop);
|
||||
if (dr == DialogResult.Yes)
|
||||
{
|
||||
string number = "";
|
||||
int max = -1;
|
||||
@@ -931,11 +931,6 @@ namespace VEPROMS
|
||||
|
||||
ff = AddFolder(Folder.Get(MyFolder.FolderID), xd, name);
|
||||
}
|
||||
//else if (dr == System.Windows.Forms.DialogResult.Cancel)
|
||||
//{
|
||||
// //canceledPressed = true;
|
||||
// //resolvedProcNum = false;
|
||||
//}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
@@ -11,7 +11,6 @@ using Volian.Controls.Library;
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Controls.Library;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
@@ -1800,21 +1799,6 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
|
||||
//B2024-074 If only deleting annotations from an individual procedure, verify can check out procedure.
|
||||
string msgpi = string.Empty;
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
{
|
||||
//LINQ used for 1st check of if statement
|
||||
//basically check if procedure was already part of a docVersionsFolder
|
||||
//before checking if procedure was checked out already
|
||||
//to avoid duplicate messages for checked out procedures
|
||||
if (!dvil.Any(x => x.Procedures.Any(y => y.ItemID == pi.ItemID)) && !MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msgpi))
|
||||
{
|
||||
sbDocVersions.AppendLine(msgpi);
|
||||
cancelledOut = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (cancelledOut)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
2293
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
2293
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@ using DevComponents.DotNetBar;
|
||||
using VEPROMS.Properties;
|
||||
using Volian.Base.Library;
|
||||
using DescriptiveEnum;
|
||||
using VEPROMS.CSLA.Library;
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
@@ -25,9 +24,6 @@ namespace VEPROMS
|
||||
get { return _CanChangeSeparateWindowsSetting; }
|
||||
set { _CanChangeSeparateWindowsSetting = value; }
|
||||
}
|
||||
|
||||
private UserSettings _usersettings;
|
||||
|
||||
public frmSysOptions()
|
||||
{
|
||||
_initializing = true;
|
||||
@@ -93,13 +89,6 @@ namespace VEPROMS
|
||||
break;
|
||||
}
|
||||
|
||||
//CSM - C2024-031 - Getting User Settings
|
||||
//and set checkboxes based on what they are set to
|
||||
_usersettings = new UserSettings(VlnSettings.UserID);
|
||||
cbOTRemember.Checked = _usersettings.UserSetting_OpenTabs_Remember;
|
||||
cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbOTRemember.Checked;
|
||||
cbOTAutoOpen.Checked = _usersettings.UserSetting_OpenTabs_AutoOpen || !cbOTRemember.Checked;
|
||||
|
||||
}
|
||||
private void cbEnhancedDocumentSync_CheckedChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
@@ -162,15 +151,6 @@ namespace VEPROMS
|
||||
Settings.Default.PropPageStyle = 3;
|
||||
|
||||
Settings.Default.Save();
|
||||
//CSM - C2024-031 - Save User Settings
|
||||
//based on what checkboxes are set to
|
||||
bool? OTAuto = null;
|
||||
if (cbOTRemember.Checked)
|
||||
{
|
||||
OTAuto = cbOTAutoOpen.Checked;
|
||||
}
|
||||
_usersettings.SetUserSettings(cbOTRemember.Checked, OTAuto);
|
||||
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
@@ -344,10 +324,5 @@ namespace VEPROMS
|
||||
Settings.Default.UCFImportOpt = 4;
|
||||
}
|
||||
}
|
||||
|
||||
private void cbOTRemember_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbOTRemember.Checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -112,20 +112,21 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="colorPickerButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
|
||||
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAKklE
|
||||
QVQ4T2P4//8/RRhCAClyMIoBIJoUPGrAqAEgPBwNIAfDDSAf/2cAALEslYfUgx+eAAAAAElFTkSuQmCC
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA
|
||||
EnEB89x6jgAAACpJREFUOE9j+P//P0UYQgApcjCKASCaFDxqwKgBIDwcDSAHww0gH/9nAACxLJWH1IMf
|
||||
ngAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
@@ -1654,10 +1654,6 @@ 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
|
||||
@@ -1674,38 +1670,16 @@ namespace VEPROMS
|
||||
return;
|
||||
}
|
||||
|
||||
string stk = Volian.Base.Library.vlnStackTrace.StackToString();
|
||||
string stk = Volian.Base.Library.vlnStackTrace.StackToString();
|
||||
|
||||
if (!stk.Contains("Exception"))
|
||||
{
|
||||
// B2018-091 Allow PROMS to close if only MSWord sections have been opened.
|
||||
// B2019-071 we will now close one or all of the tabs (even step editor ones)
|
||||
if (_WeAreExitingPROMS)
|
||||
{
|
||||
string DisplayTabID = "";
|
||||
int pos;
|
||||
int TabItemID;
|
||||
string DisplayTabName = "";
|
||||
int cnt = 0;
|
||||
// Deactivate previous procedure tab state by user
|
||||
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
|
||||
// Save current procedure tab state
|
||||
foreach (KeyValuePair<string, DisplayTabItem> pgTab in tc._MyDisplayTabItems)
|
||||
{
|
||||
cnt++;
|
||||
DisplayTabID = pgTab.Key;
|
||||
TabItemID = Int32.Parse(DisplayTabID.Substring(DisplayTabID.IndexOf("Item - ") + 7));
|
||||
DisplayTabName = pgTab.Value.ToString();
|
||||
//tc.SelectedDisplayTabItem.MyStepTabPanel.ToString()
|
||||
VEPROMS.CSLA.Library.Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
|
||||
}
|
||||
}
|
||||
|
||||
int n = tc._MyDisplayTabItems.Count;
|
||||
|
||||
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
|
||||
{
|
||||
|
||||
tc.CloseTabItem(tc.SelectedDisplayTabItem);
|
||||
|
||||
// B2019-071 close just the current tab and continue working
|
||||
@@ -2346,48 +2320,6 @@ namespace VEPROMS
|
||||
CurrentID = txtSearch.Text;
|
||||
}
|
||||
}
|
||||
|
||||
// Add retrieve displaytabs state here.
|
||||
openDisplaytabstate();
|
||||
}
|
||||
|
||||
public void openDisplaytabstate()
|
||||
{
|
||||
// Retrieve edit tab state from database.
|
||||
DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID);
|
||||
|
||||
//CSM - C2024-031 - Getting User Settings
|
||||
//and set checkboxes based on what they are set to
|
||||
UserSettings usersettings = new UserSettings(VlnSettings.UserID);
|
||||
|
||||
if (DisPlayTabState.Rows.Count > 0 && (usersettings.UserSetting_OpenTabs_AutoOpen || !usersettings.UserSetting_OpenTabs_Remember))
|
||||
{
|
||||
//will open tabs by default / ask by default
|
||||
DialogResult result = DialogResult.Yes;
|
||||
if (!usersettings.UserSetting_OpenTabs_Remember)
|
||||
{
|
||||
dlgCheckOpenTabs checkOpenTabs = new dlgCheckOpenTabs();
|
||||
result = checkOpenTabs.ShowDialog();
|
||||
|
||||
//if checkbox was checked in form, then update User Settings in database
|
||||
if (checkOpenTabs.Remember)
|
||||
usersettings.SetUserSettings(true, result == DialogResult.Yes);
|
||||
}
|
||||
|
||||
|
||||
if (result == DialogResult.Yes)
|
||||
{
|
||||
foreach (DataRow TabState in DisPlayTabState.Rows)
|
||||
{
|
||||
int _ItemID = (int)TabState["ItemID"];
|
||||
ItemInfo _Procedure = ItemInfo.Get(_ItemID);
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void tc_RefreshEnhancedDocument(object sender, ItemSelectedChangedEventArgs args)
|
||||
|
@@ -511,7 +511,7 @@ namespace VEPROMS
|
||||
|
||||
private void btnPC_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show(this, "Are you sure you want to add Applicability to this Working Draft?", "Add Applicability", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) == DialogResult.Yes)
|
||||
if (MessageBox.Show(this, "Are you sure you want to add Applicability to this Working Draft?", "Add Applicability", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop) == DialogResult.Yes)
|
||||
{
|
||||
btnApplicability.Visible = true;
|
||||
tiApplicability.Visible = true;
|
||||
|
@@ -474,25 +474,6 @@ namespace VEPROMS.CSLA.Library
|
||||
OnPropertyChanged("Step_FixedTblForSrch");
|
||||
}
|
||||
}
|
||||
//CSM F2024-080: For South Texas - Ability to toggle off Initial Line
|
||||
public bool Step_DisableInitialLine
|
||||
{
|
||||
get
|
||||
{
|
||||
string s = _Xp["Step", "DisableInitialLine"];
|
||||
|
||||
if (s == string.Empty) return false;
|
||||
if (s == "True") return true;
|
||||
return false;
|
||||
}
|
||||
set
|
||||
{
|
||||
string s = _Xp["Step", "DisableInitialLine"];
|
||||
if (value.ToString() == s) return;
|
||||
_Xp["Step", "DisableInitialLine"] = value.ToString();
|
||||
OnPropertyChanged("Step_DisableInitialLine");
|
||||
}
|
||||
}
|
||||
#region RO image sizing
|
||||
// if the RO image (figure) is resized, save it in the step config, not in the ROImageConfig. If stored in ROImageConfig
|
||||
// the size is set for ALL uses.
|
||||
|
@@ -1165,17 +1165,13 @@ 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);
|
||||
|
||||
//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))
|
||||
recid = System.Convert.ToInt32(srecid);
|
||||
foreach (ContentTransition ct in itm.MyContent.ContentTransitions)
|
||||
{
|
||||
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)
|
||||
{
|
||||
if (link.IndexOf("<NewID>") != -1) return text;
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
int transitionID = Convert.ToInt32(link.Split(" ".ToCharArray())[1]);
|
||||
// Find the transition
|
||||
if (_MyItemInfo.MyContent.ContentTransitionCount <= 0)
|
||||
{
|
||||
|
@@ -4251,13 +4251,6 @@ namespace VEPROMS.CSLA.Library
|
||||
if (tbformat.Contains("{!.+?}"))
|
||||
tstr = tbformat.Replace("{!.+?}", " "); // Comanche Peak Indented Paragraph
|
||||
_MyTab.Text = tstr;
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
if (!string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled)
|
||||
{
|
||||
if (tstr.StartsWith(" "))
|
||||
tstr = tstr.Substring(1);
|
||||
tstr = FormatStepData.TabData.MacroEditTag + tstr;
|
||||
}
|
||||
_MyTab.CleanText = tstr;
|
||||
return;
|
||||
}
|
||||
@@ -4348,73 +4341,25 @@ namespace VEPROMS.CSLA.Library
|
||||
incSub = (ord + 1).ToString();
|
||||
if (MyParent.MyTab.CleanText.Trim().EndsWith(")"))
|
||||
{
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
string tstr = MyParent.MyTab.CleanText.Trim() + "." + incSub;
|
||||
if (!string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled && !tstr.StartsWith("_"))
|
||||
{
|
||||
if (tstr.StartsWith(" "))
|
||||
tstr = tstr.Substring(1);
|
||||
tstr = FormatStepData.TabData.MacroEditTag + tstr;
|
||||
}
|
||||
else if (IsInitialLineDisabled && tstr.StartsWith("_"))
|
||||
tstr = tstr.Substring(1);
|
||||
|
||||
_MyTab.CleanText = tstr;
|
||||
_MyTab.CleanText = MyParent.MyTab.CleanText.Trim() + "." + incSub;
|
||||
_MyTab.Text = _MyTab.CleanText;
|
||||
return;
|
||||
}
|
||||
if (MyParent.MyTab.CleanText.Contains(ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IdentB))
|
||||
{
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
string tstr = MyParent.MyTab.CleanText.Trim() + "." + incSub + " ";
|
||||
if (!string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled && !tstr.StartsWith("_"))
|
||||
{
|
||||
if (tstr.StartsWith(" "))
|
||||
tstr = tstr.Substring(1);
|
||||
tstr = FormatStepData.TabData.MacroEditTag + tstr;
|
||||
}
|
||||
else if(IsInitialLineDisabled && tstr.StartsWith("_"))
|
||||
tstr = tstr.Substring(1);
|
||||
|
||||
_MyTab.CleanText = tstr;
|
||||
_MyTab.CleanText = MyParent.MyTab.CleanText.Trim() + "." + incSub + " ";
|
||||
_MyTab.Text = _MyTab.CleanText;
|
||||
return;
|
||||
}
|
||||
string tmprnotab = MyParent.MyTab.CleanText.Substring(0, MyParent.MyTab.CleanText.IndexOf(".") + 1) + incSub;
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
tmprnotab = tmprnotab.TrimStart();
|
||||
if (!string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled && !tmprnotab.StartsWith("_"))
|
||||
{
|
||||
if (tmprnotab.StartsWith(" "))
|
||||
tmprnotab = tmprnotab.Substring(1);
|
||||
tmprnotab = FormatStepData.TabData.MacroEditTag + tmprnotab;
|
||||
}
|
||||
else if (IsInitialLineDisabled && tmprnotab.StartsWith("_"))
|
||||
tmprnotab = tmprnotab.Substring(1);
|
||||
|
||||
_MyTab.CleanText = tmprnotab;
|
||||
_MyTab.Text = tmprnotab;
|
||||
_MyTab.CleanText = tmprnotab.TrimStart();
|
||||
_MyTab.Text = tmprnotab.TrimStart();
|
||||
return;
|
||||
}
|
||||
if ((((ItemInfo)ActiveParent).IsHigh && FormatStepData.NumberHighLevel) || ((!((ItemInfo)ActiveParent).IsHigh) && ((tbformat == null || tbformat == "") && (RNOLevel <= ColumnMode))))
|
||||
{
|
||||
_MyTab.CleanText = ((ItemInfo)ActiveParent).MyTab.CleanText;
|
||||
_MyTab.Text = ((ItemInfo)ActiveParent).MyTab.Text;
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
if (!string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled && !_MyTab.CleanText.StartsWith("_"))
|
||||
{
|
||||
if (_MyTab.CleanText.StartsWith(" "))
|
||||
_MyTab.CleanText = _MyTab.CleanText.Substring(1);
|
||||
_MyTab.CleanText = FormatStepData.TabData.MacroEditTag + _MyTab.CleanText;
|
||||
}
|
||||
if (IsInitialLineDisabled && _MyTab.CleanText.StartsWith("_"))
|
||||
{
|
||||
_MyTab.CleanText = _MyTab.CleanText.Substring(1);
|
||||
}
|
||||
if (IsInitialLineDisabled && _MyTab.Text.StartsWith("_"))
|
||||
{
|
||||
_MyTab.Text = _MyTab.Text.Substring(1);
|
||||
}
|
||||
_MyTab.RNOTabWidthAdjust = ((ItemInfo)ActiveParent).FormatStepData.TabData.RNOAdjustTabSize ?? 0;
|
||||
if (((ItemInfo)ActiveParent).MyTab.Offset != 0) _MyTab.Offset = ((ItemInfo)ActiveParent).MyTab.Offset;
|
||||
if (((ItemInfo)ActiveParent).FormatStepData.TabData.RNOExcludeMacros)
|
||||
@@ -4771,15 +4716,6 @@ namespace VEPROMS.CSLA.Library
|
||||
cltext = cltext + " ";
|
||||
}
|
||||
}
|
||||
//CSM F2024 - 080: For South Texas - if format contains initial line and it is not disabled, show an initial line
|
||||
else if (macroindx == -1 && !string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroList != null && FormatStepData.TabData.MacroList.Count > 0 && !(this.IsRNOPart && FormatStepData.TabData.MacroList[0].NotInRNO) && !IsInitialLineDisabled)
|
||||
{
|
||||
if (cltext == null)
|
||||
cltext = tbformat;
|
||||
if (cltext.StartsWith(" "))
|
||||
cltext = cltext.Substring(1);
|
||||
cltext = FormatStepData.TabData.MacroEditTag + cltext;
|
||||
}
|
||||
}
|
||||
macroindx = tbformat.IndexOf("{!diamond1}");
|
||||
if (macroindx > -1) //i found it
|
||||
@@ -5584,32 +5520,15 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
if (count <= macro.Grouping) addToList = false;
|
||||
}
|
||||
|
||||
//CSM F2024 - 080: For South Texas - if initial line is disabled for this step, do not add the macro
|
||||
if (macro.Name.ToUpper() == "CHECKOFF" && ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ShowInitialLineDisable && !string.IsNullOrEmpty(FormatStepData.TabData.MacroEditTag) && FormatStepData.TabData.MacroEditTag == "_" && IsInitialLineDisabled)
|
||||
addToList = false;
|
||||
|
||||
if (addToList) tmp.Add(macro);
|
||||
}
|
||||
if (tmp.Count > 0) _MyMacros = tmp;
|
||||
}
|
||||
#endregion
|
||||
#region UseSmartTemplate
|
||||
|
||||
//CSM F2024 - 080: For South Texas - check if initial line is disabled for this step
|
||||
public bool IsInitialLineDisabled
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!IsStep) return false;
|
||||
StepConfig sc = MyConfig as StepConfig;
|
||||
return sc.Step_DisableInitialLine;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region UseSmartTemplate
|
||||
|
||||
// TemplateIndex is for Calvert only:
|
||||
private int _TemplateIndex = -2; // -2 not set; -1 not a template
|
||||
// TemplateIndex is for Calvert only:
|
||||
private int _TemplateIndex = -2; // -2 not set; -1 not a template
|
||||
public int TemplateIndex
|
||||
{
|
||||
get
|
||||
@@ -8085,171 +8004,6 @@ namespace VEPROMS.CSLA.Library
|
||||
MyContent.Config = _ProcedureConfig.ToString();
|
||||
}
|
||||
#endregion
|
||||
public class DisplayTabs
|
||||
{
|
||||
private int _ItemID;
|
||||
public int ItemID
|
||||
{
|
||||
get { return _ItemID; }
|
||||
set { _ItemID = value; }
|
||||
|
||||
}
|
||||
private string _DisplayTabID;
|
||||
public string DisplayTabID
|
||||
{
|
||||
get { return _DisplayTabID; }
|
||||
set { _DisplayTabID = value; }
|
||||
}
|
||||
private string _DisplayTabName;
|
||||
public string DisplayTabName
|
||||
{
|
||||
get { return _DisplayTabName; }
|
||||
set { _DisplayTabName = value; }
|
||||
}
|
||||
|
||||
public SafeDataReader Dr { get; }
|
||||
|
||||
public DisplayTabs()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DisplayTabs(int itemID, String displayTabID, String displayTabName)
|
||||
{
|
||||
_ItemID = itemID;
|
||||
_DisplayTabID = displayTabID;
|
||||
_DisplayTabName = displayTabName;
|
||||
}
|
||||
|
||||
public DisplayTabs(SafeDataReader dr)
|
||||
{
|
||||
Dr = dr;
|
||||
}
|
||||
}
|
||||
public static DataTable GetDisplayTabs(int itemID) //, string displayTabID, string displayTabName)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataTable tmp = DataPortal.Fetch<DataTable>(new DisplayTabs(itemID, "", "")); //, displayTabID, displayTabName));
|
||||
//ItemInfo.AddList(tmp);
|
||||
//tmp.AddEvents();
|
||||
return tmp;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new DbCslaException("Error on ItemInfoList.GetChildren", ex);
|
||||
}
|
||||
}
|
||||
private DataTable dt = new DataTable();
|
||||
private DataTable DataPortal_Fetch(DisplayTabs criteria)
|
||||
{
|
||||
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "GetDisplayTabData";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||
da.Fill(dt);
|
||||
cn.Close();
|
||||
da.Dispose();
|
||||
return dt;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex);
|
||||
throw new DbCslaException("ItemExt.DataPortal_Fetch", ex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// //DisplayTabs tmp =
|
||||
// DataPortal.Fetch<DisplayTabs>(new DisplayTabs(itemID, displayTabID, displayTabName)); //, displayTabID, displayTabName));
|
||||
// //ItemInfo.AddList(tmp);
|
||||
// //tmp.AddEvents();
|
||||
// //return tmp;
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// throw new DbCslaException("Error on ItemInfoList.GetChildren", ex);
|
||||
// }
|
||||
//}
|
||||
//private DataTable dt = new DataTable();
|
||||
//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
|
||||
//{
|
||||
|
||||
// using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
// {
|
||||
// using (SqlCommand cm = cn.CreateCommand())
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// cm.CommandType = CommandType.StoredProcedure;
|
||||
// cm.CommandText = "AddDisplayTabState";
|
||||
// cm.CommandTimeout = Database.DefaultTimeout;
|
||||
// cm.Parameters.AddWithValue("@ItemID", ItemID);
|
||||
// cm.Parameters.AddWithValue("@displayTabID", displayTabID);
|
||||
// cm.Parameters.AddWithValue("@displayTabName", displayTabName);
|
||||
// cm.ExecuteNonQuery();
|
||||
// //SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||
// //da.Fill(dt);
|
||||
// //cn.Close();
|
||||
// //da.Dispose();
|
||||
// //return dt; // fix
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// //if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DataPortal_Fetch", ex);
|
||||
// throw new DbCslaException("ItemExt.DataPortal_Fetch", ex);
|
||||
// }
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName)
|
||||
//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
|
||||
{
|
||||
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "AddDisplayTabState";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@ItemID", itemID);
|
||||
cm.Parameters.AddWithValue("@displayTabID", displayTabID);
|
||||
cm.Parameters.AddWithValue("@displayTabName", displayTabName);
|
||||
cm.ExecuteNonQuery();
|
||||
//SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||
//da.Fill(dt);
|
||||
//cn.Close();
|
||||
//da.Dispose();
|
||||
//return dt; // fix
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex);
|
||||
throw new DbCslaException("ItemExt.AddDisplayTabsState", ex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region SectionInfo
|
||||
|
@@ -1876,10 +1876,6 @@ namespace VEPROMS.CSLA.Library
|
||||
if (IsCaution) enhType = 20006;
|
||||
return enhType;
|
||||
}
|
||||
|
||||
// B2024-075: Paste Before/After with Enhanced Documents is creating situation
|
||||
//where Background item is linked to Source but Source is not linked to Background
|
||||
//When Fixing the linking, need to not create a duplicate link if one already exists
|
||||
public void DoCreateLinksEnhancedSingleItem(ItemInfo enhii, int enhtype)
|
||||
{
|
||||
// Link the 2 items, srcII & enhii:
|
||||
@@ -1897,15 +1893,12 @@ namespace VEPROMS.CSLA.Library
|
||||
using (Item ei = Item.Get(enhii.ItemID))
|
||||
{
|
||||
StepConfig sc = enhii.MyConfig as StepConfig;
|
||||
if (!sc.MyEnhancedDocuments.Exists(x => x.Type == 0))
|
||||
{
|
||||
sc.AddEnhancedDocument(0, this.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ei.MyContent.Text = DisplayText;
|
||||
ei.MyContent.Config = sc.ToString();
|
||||
ei.Save();
|
||||
enhii.RefreshConfig();
|
||||
}
|
||||
sc.AddEnhancedDocument(0, this.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ei.MyContent.Text = DisplayText;
|
||||
ei.MyContent.Config = sc.ToString();
|
||||
ei.Save();
|
||||
enhii.RefreshConfig();
|
||||
}
|
||||
}
|
||||
else if (IsSection)
|
||||
@@ -1923,15 +1916,12 @@ namespace VEPROMS.CSLA.Library
|
||||
using (Item ei = Item.Get(enhii.ItemID))
|
||||
{
|
||||
SectionConfig sc = enhii.MyConfig as SectionConfig;
|
||||
if (!sc.MyEnhancedDocuments.Exists(x => x.Type == 0))
|
||||
{
|
||||
sc.AddEnhancedDocument(0, this.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ei.MyContent.Text = DisplayText;
|
||||
ei.MyContent.Config = sc.ToString();
|
||||
ei.Save();
|
||||
enhii.RefreshConfig();
|
||||
}
|
||||
sc.AddEnhancedDocument(0, this.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ei.MyContent.Text = DisplayText;
|
||||
ei.MyContent.Config = sc.ToString();
|
||||
ei.Save();
|
||||
enhii.RefreshConfig();
|
||||
}
|
||||
}
|
||||
else if (IsProcedure)
|
||||
@@ -1952,66 +1942,16 @@ namespace VEPROMS.CSLA.Library
|
||||
using (Item ii = this.Get())
|
||||
{
|
||||
ProcedureConfig sc = this.MyConfig as ProcedureConfig;
|
||||
if (!sc.MyEnhancedDocuments.Exists(x => x.Type == 0))
|
||||
{
|
||||
sc.AddEnhancedDocument(enhtype, enhii.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ii.MyContent.Config = sc.ToString();
|
||||
ii.Save();
|
||||
RefreshConfig();
|
||||
}
|
||||
sc.AddEnhancedDocument(enhtype, enhii.ItemID);
|
||||
sc.SaveEnhancedDocuments();
|
||||
ii.MyContent.Config = sc.ToString();
|
||||
ii.Save();
|
||||
RefreshConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region DataPortal
|
||||
// C2017-031: Support for paste/replace an enhanced step
|
||||
private void DataPortal_Fetch(PastingPartEnhancedCriteria criteria)
|
||||
{
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.DataPortal_Fetch", GetHashCode());
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
Csla.ApplicationContext.LocalContext["cn"] = cn;
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.Parameters.AddWithValue("@StartItemID", criteria.StartItemID); // copy children
|
||||
cm.Parameters.AddWithValue("@ItemID", criteria.ItemID); //copy to
|
||||
cm.Parameters.AddWithValue("@Type", criteria.Type);
|
||||
cm.Parameters.AddWithValue("@DTS", criteria.DTS);
|
||||
cm.Parameters.AddWithValue("@UserID", criteria.UserID);
|
||||
SqlParameter param_ContentID = new SqlParameter("@NewItemID", SqlDbType.Int);
|
||||
param_ContentID.Direction = ParameterDirection.Output;
|
||||
cm.Parameters.Add(param_ContentID);
|
||||
cm.CommandText = "PasteItemEnhancedReplace";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
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 (Csla.ApplicationContext.ExecutionLocation == Csla.ApplicationContext.ExecutionLocations.Client)
|
||||
Csla.ApplicationContext.LocalContext.Remove("cn");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!ex.Message.Contains("This step has been deleted") && !ex.Message.Contains("This current step has been deleted in another session"))
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfo.DataPortal_Fetch", ex);
|
||||
}
|
||||
_ErrorMessage = ex.Message;
|
||||
throw new DbCslaException("ItemInfo.DataPortal_Fetch", ex);
|
||||
}
|
||||
}
|
||||
private void DataPortal_Fetch(PastingPartCriteria criteria)
|
||||
{
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.DataPortal_Fetch", GetHashCode());
|
||||
@@ -2133,72 +2073,9 @@ namespace VEPROMS.CSLA.Library
|
||||
throw new DbCslaException("ItemInfo.DataPortal_Fetch", ex);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region PastingPartEnhancedCriteria
|
||||
// C2017-031: Support for paste/replace an enhanced step
|
||||
[Serializable()]
|
||||
public class PastingPartEnhancedCriteria
|
||||
{
|
||||
#region Properties
|
||||
private int _StartItemID;
|
||||
public int StartItemID
|
||||
{
|
||||
get { return _StartItemID; }
|
||||
set { _StartItemID = value; }
|
||||
}
|
||||
private int _ItemID; // paste relative to this itemid
|
||||
public int ItemID
|
||||
{
|
||||
get { return _ItemID; }
|
||||
set { _ItemID = value; }
|
||||
}
|
||||
private EAddpingPart _AddType;
|
||||
public EAddpingPart AddType
|
||||
{
|
||||
get { return _AddType; }
|
||||
set { _AddType = value; }
|
||||
}
|
||||
private int? _FromType = null;
|
||||
public int? FromType
|
||||
{
|
||||
get { return _FromType; }
|
||||
set { _FromType = value; }
|
||||
}
|
||||
private int? _Type = null;
|
||||
public int? Type
|
||||
{
|
||||
get { return _Type; }
|
||||
set { _Type = value; }
|
||||
}
|
||||
private DateTime _DTS;
|
||||
public DateTime DTS
|
||||
{
|
||||
get { return _DTS; }
|
||||
set { _DTS = value; }
|
||||
}
|
||||
private string _UserID;
|
||||
public string UserID
|
||||
{
|
||||
get { return _UserID; }
|
||||
set { _UserID = value; }
|
||||
}
|
||||
#endregion
|
||||
#region Constructor
|
||||
public PastingPartEnhancedCriteria(int startItemid, int itemID, EAddpingPart addType, int? type, int? fromType, DateTime dts, string userID)
|
||||
{
|
||||
_StartItemID = startItemid;
|
||||
_ItemID = itemID;
|
||||
_AddType = addType;
|
||||
_Type = type;
|
||||
_FromType = fromType;
|
||||
_DTS = dts;
|
||||
_UserID = userID;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
#endregion
|
||||
#region PastingPartCriteria
|
||||
[Serializable()]
|
||||
#region PastingPartCriteria
|
||||
[Serializable()]
|
||||
public class PastingPartCriteria
|
||||
{
|
||||
#region Properties
|
||||
@@ -2487,14 +2364,6 @@ namespace VEPROMS.CSLA.Library
|
||||
_MyPrevious = null; // Reset list so that the next line gets a new list
|
||||
if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value
|
||||
}
|
||||
// C2017-031: Support for paste/replace an enhanced step
|
||||
internal static ItemInfo CopyPasteReplaceEnhancedItemInfoFetch(int copyStartID, ItemInfo itemInfo)
|
||||
{
|
||||
ItemInfo tmp = null;
|
||||
tmp = DataPortal.Fetch<StepInfo>(new ItemInfo.PastingPartEnhancedCriteria(copyStartID, itemInfo.ItemID, ItemInfo.EAddpingPart.Replace, itemInfo.MyContent.Type, itemInfo.MyContent.Type, DateTime.Now, Volian.Base.Library.VlnSettings.UserID));
|
||||
AddToCache(tmp);
|
||||
return tmp;
|
||||
}
|
||||
internal static ItemInfo CopyPasteReplaceItemInfoFetch(int copyStartID, ItemInfo itemInfo) // int itemID, int? type, int? fromType)
|
||||
{
|
||||
ItemInfo tmp = null;
|
||||
@@ -2656,16 +2525,8 @@ namespace VEPROMS.CSLA.Library
|
||||
ItemInfo newItemInfo = null;
|
||||
try
|
||||
{
|
||||
// C2017-031: Support for paste/replace an enhanced step, if this is replacing enhanced, do a specific query
|
||||
if (itemInfo.IsEnhancedStep)
|
||||
{
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceEnhancedItemInfoFetch(copyStartID, itemInfo);
|
||||
if (newItemInfo == null) return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); if (newItemInfo == null) return null;
|
||||
}
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); //itemInfo.ItemID, itemInfo.MyContent.Type, itemInfo.MyContent.Type);
|
||||
if (newItemInfo == null) return null;
|
||||
}
|
||||
catch (Exception ex1)
|
||||
{
|
||||
|
@@ -156,38 +156,32 @@ namespace VEPROMS.CSLA.Library
|
||||
SessionInfoList sil = DataPortal.Fetch<SessionInfoList>(new SessionInfoList.CanCheckOutItemCriteria(objectID, objectType));
|
||||
if (sil.Count == 0)
|
||||
return true;
|
||||
if (objectType == CheckOutType.Session)
|
||||
{
|
||||
if (sil.Count == 1)
|
||||
{
|
||||
OwnerInfoList oil = OwnerInfoList.GetBySessionID(sil[0].SessionID);
|
||||
if (oil.Count == 0)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
message = "Export Procedure Set and Import Procedure Set are not available because you have open procedures or documents";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
message = "Export Procedure Set and Import Procedure Set are not available because there are other sessions open in the database";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (objectType == CheckOutType.Session)
|
||||
{
|
||||
if (sil.Count == 1)
|
||||
{
|
||||
OwnerInfoList oil = OwnerInfoList.GetBySessionID(sil[0].SessionID);
|
||||
if (oil.Count == 0)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
message = "Export Procedure Set and Import Procedure Set are not available because you have open procedures or documents";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
message = "Export Procedure Set and Import Procedure Set are not available because there are other sessions open in the database";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
bool rv = true;
|
||||
// C2015-022 part of separate windows logic, check the processID instead of the sessionID
|
||||
foreach (SessionInfo si in sil)
|
||||
{
|
||||
if (si.ProcessID != this.ProcessID && objectType == CheckOutType.Procedure)
|
||||
{
|
||||
//B2024-074 If no Number for Procedure, Display Title
|
||||
ProcedureInfo tmpproc = ItemInfo.Get(objectID).MyProcedure;
|
||||
string name = tmpproc.DisplayNumber;
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{ name = tmpproc.DisplayText; }
|
||||
|
||||
message = string.Format("The procedure {0} is already checked out to {1}", name, si.UserID);
|
||||
message = string.Format("The procedure {0} is already checked out to {1}", ItemInfo.Get(objectID).MyProcedure.DisplayNumber, si.UserID);
|
||||
rv = rv && false;
|
||||
}
|
||||
else if (si.ProcessID != this.ProcessID && objectType == CheckOutType.Document)
|
||||
@@ -201,16 +195,8 @@ namespace VEPROMS.CSLA.Library
|
||||
OwnerInfo oi = OwnerInfo.GetBySessionIDandVersionID(si.SessionID, objectID);
|
||||
if (oi == null)
|
||||
message = message + string.Format("The working draft is already checked out to {0}", si.UserID) + Environment.NewLine;
|
||||
else if (oi.OwnerType == 0)
|
||||
{
|
||||
//B2024-074 If no Number for Procedure, Display Title
|
||||
ProcedureInfo tmpproc = ItemInfo.Get(oi.OwnerItemID).MyProcedure;
|
||||
string name = tmpproc.DisplayNumber;
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{ name = tmpproc.DisplayText; }
|
||||
|
||||
message = message + string.Format("The procedure {0} is already checked out to {1}", name, si.UserID) + Environment.NewLine;
|
||||
}
|
||||
else if(oi.OwnerType == 0)
|
||||
message = message + string.Format("The procedure {0} is already checked out to {1}", ItemInfo.Get(oi.OwnerItemID).MyProcedure.DisplayNumber, si.UserID) + Environment.NewLine;
|
||||
else if (oi.OwnerType == 1)
|
||||
message = message + string.Format("The document {0} is already checked out to {1}", DocumentInfo.Get(oi.OwnerItemID).DocumentEntries[0].MyContent.Text, si.UserID) + Environment.NewLine;
|
||||
else if (oi.OwnerType == 2)
|
||||
@@ -225,15 +211,7 @@ namespace VEPROMS.CSLA.Library
|
||||
if (oi != null)
|
||||
{
|
||||
if (oi.OwnerType == 0)
|
||||
{
|
||||
//B2024-074 If no Number for Procedure, Display Title
|
||||
ProcedureInfo tmpproc = ItemInfo.Get(oi.OwnerItemID).MyProcedure;
|
||||
string name = tmpproc.DisplayNumber;
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{ name = tmpproc.DisplayText; }
|
||||
|
||||
message = message + string.Format("The procedure {0} is already checked out to {1}", name, si.UserID) + Environment.NewLine;
|
||||
}
|
||||
message = message + string.Format("The procedure {0} is already checked out to {1}", ItemInfo.Get(oi.OwnerItemID).MyProcedure.DisplayNumber, si.UserID) + Environment.NewLine;
|
||||
else if (oi.OwnerType == 1)
|
||||
message = message + string.Format("The document {0} is already checked out to {1}", DocumentInfo.Get(oi.OwnerItemID).DocumentEntries[0].MyContent.Text, si.UserID) + Environment.NewLine;
|
||||
else if (oi.OwnerType == 2)
|
||||
|
@@ -676,47 +676,37 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
public void AppendPrefix()
|
||||
{
|
||||
if (Prefix == null) return; // no Prefix text to add
|
||||
if (HasText)
|
||||
if (HasText && Prefix != null)
|
||||
{
|
||||
if (!_Results.ToString().EndsWith(_Prefix)) //existing transition text does not end with Prefix text, OK to append
|
||||
if (!_Results.ToString().EndsWith(_Prefix))
|
||||
_Results.Append(Prefix);
|
||||
_Prefix = null;
|
||||
}
|
||||
else if (_TranType == 4 && _ToItem.MoreThanOneStepSection())
|
||||
{
|
||||
// WEP (Point Beach) is no longer a customer - commented out
|
||||
//if (!HasText && Prefix.ToUpper().StartsWith(", STEP")
|
||||
// && _FromItem.ActiveFormat.Name.StartsWith("WEP"))
|
||||
//{
|
||||
// Console.WriteLine("Format,'{0}'", _FromItem.ActiveFormat.Name);
|
||||
// _Prefix = null;
|
||||
// return;
|
||||
//}
|
||||
if (!HasText && Prefix != null && Prefix.ToUpper().StartsWith(", STEP")
|
||||
&& _FromItem.ActiveFormat.Name.StartsWith("WEP"))
|
||||
{
|
||||
Console.WriteLine("Format,'{0}'", _FromItem.ActiveFormat.Name);
|
||||
_Prefix = null;
|
||||
return;
|
||||
}
|
||||
_Results.Append(Prefix);
|
||||
_Prefix = null;
|
||||
}
|
||||
else if (_TranType == 5 && Prefix != null)
|
||||
{
|
||||
if (!HasText && Prefix.StartsWith(", "))
|
||||
_Results.Append(Prefix.TrimStart(", ".ToCharArray()));
|
||||
else
|
||||
_Results.Append(Prefix);
|
||||
_Prefix = null;
|
||||
}
|
||||
// If the prefix contains an open paren, we want to add the open paren regardless
|
||||
// of whether there already is text in the resulting string.
|
||||
else if (!HasText && Prefix.Contains("("))
|
||||
else if (!HasText && Prefix != null && Prefix.Contains("("))
|
||||
{
|
||||
_Results.Append(Prefix.TrimStart(" ".ToCharArray())); // since no text in result, trim starting space.
|
||||
_Prefix = null;
|
||||
}
|
||||
else if (!HasText && Prefix.StartsWith(", "))
|
||||
{
|
||||
_Results.Append(Prefix.TrimStart(", ".ToCharArray()));// no preceeding text, remove comma and space
|
||||
_Prefix = null;
|
||||
}
|
||||
else if (!HasText && Prefix.StartsWith(","))
|
||||
{
|
||||
_Results.Append(Prefix.TrimStart(",".ToCharArray())); // no preceeding text, remove comma
|
||||
_Prefix = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
_Results.Append(Prefix); // append prefix as is
|
||||
_Prefix = null;
|
||||
}
|
||||
}
|
||||
public string OverridePrefix
|
||||
|
@@ -3175,17 +3175,6 @@ namespace VEPROMS.CSLA.Library
|
||||
return LazyLoad(ref _ChangeFontUpperCaseIinArial, "@ChangeFontUpperCaseIinArial");
|
||||
}
|
||||
}
|
||||
|
||||
// F2024-080 South Texas
|
||||
// Used to show if "Initial Line Disable" checkbox should show in the DisplayTab
|
||||
private LazyLoad<bool> _ShowInitialLineDisable;
|
||||
public bool ShowInitialLineDisable
|
||||
{
|
||||
get
|
||||
{
|
||||
return LazyLoad(ref _ShowInitialLineDisable, "@ShowInitialLineDisable");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion - StepSectionData
|
||||
#region TextTypeValue
|
||||
@@ -6407,7 +6396,7 @@ public StepData Equation // equation has a parent of embedded object.
|
||||
}
|
||||
public TransData(XmlNode xmlNode) : base(xmlNode) { }
|
||||
|
||||
// a character that is placed before and after the procedure title that's in the transition text
|
||||
// a character that is placed before and after the title that's in the transition text
|
||||
private LazyLoad<string> _DelimiterForTransitionTitle;
|
||||
public string DelimiterForTransitionTitle
|
||||
{
|
||||
@@ -6684,9 +6673,7 @@ public StepData Equation // equation has a parent of embedded object.
|
||||
}
|
||||
}
|
||||
|
||||
// Holdover from 16bit, used to define whether transitions are range (types 2 & 3).
|
||||
// This is used in the logic for transitions with page numbers. This gets defined as "Type" in the code for the transition class.
|
||||
// NOTE: the TransType you see in the code is actually the index into the list of transition definitions for given format.
|
||||
// holdover from 16bit, used to define whether transitions are range (types 2 & 3). this is used in the logic for transitions with page numbers
|
||||
private LazyLoad<int?> _Type;
|
||||
public int? Type
|
||||
{
|
||||
|
@@ -1132,91 +1132,6 @@ namespace VEPROMS.CSLA.Library
|
||||
throw new DbCslaException("Item.Add", ex);
|
||||
}
|
||||
}
|
||||
public static void DeactivateStateDisplayTabTmp(string UserID)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "DeactivateStateDisplayTabTmp";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
public static void AddDisplayTabsState(int itemID, string displayTabID, string displayTabName, string UserID, int order)
|
||||
//private void DataPortal_Fetch(int itemID, string displayTabID, string displayTabName)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "AddDisplayTabState";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@ItemID", itemID);
|
||||
cm.Parameters.AddWithValue("@displayTabID", displayTabID);
|
||||
cm.Parameters.AddWithValue("@displayTabName", displayTabName);
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
cm.Parameters.AddWithValue("@order", order);
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex);
|
||||
throw new DbCslaException("ItemExt.AddDisplayTabsState", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public static DataTable GetDisplayTabs(string UserID) //, string displayTabID, string displayTabName)
|
||||
//public static void DeactivateStateDisplayTabTmp(string UserID)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "GetDisplayTabdata";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
//cm.ExecuteNonQuery();
|
||||
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||
//da.Fill(dt);
|
||||
//cn.Close();
|
||||
//da.Dispose();
|
||||
//return dt; // fix
|
||||
|
||||
SqlDataReader reader = cm.ExecuteReader();
|
||||
DataTable dt = new DataTable();
|
||||
dt.Load(reader);
|
||||
return dt;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
[Transactional(TransactionalTypes.TransactionScope)]
|
||||
protected override void DataPortal_Update()
|
||||
{
|
||||
|
@@ -1,91 +0,0 @@
|
||||
using System;
|
||||
using Csla.Data;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
//CSM - C2024-031 - Minimal Class for Saving / Getting User Settings
|
||||
//For Use with getting / saving if a User wishes to have tabs kept open
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public class UserSettings
|
||||
{
|
||||
#region Private Properties
|
||||
private readonly string _userid;
|
||||
#endregion
|
||||
|
||||
#region Public Properties
|
||||
public bool UserSetting_OpenTabs_Remember { get; protected set; } = false;
|
||||
public bool UserSetting_OpenTabs_AutoOpen { get; protected set; } = true;
|
||||
#endregion
|
||||
|
||||
|
||||
#region Constructor
|
||||
public UserSettings(string UserID)
|
||||
{
|
||||
_userid = UserID;
|
||||
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.Text;
|
||||
cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs FROM Users where UserID = @UID";
|
||||
cm.Parameters.AddWithValue("@UID", _userid);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
if (dr.Read())
|
||||
{
|
||||
UserSetting_OpenTabs_Remember = (bool) dr.GetValue("RememberOpenTabs");
|
||||
UserSetting_OpenTabs_AutoOpen = (bool) dr.GetValue("AutoOpenTabs");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Database.LogException("UserSettings_GetData", ex);
|
||||
throw new DbCslaException("UserSettings_GetData", ex);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Save Properties
|
||||
public void SetUserSettings(bool OpenTabs_Remember, bool? OpenTabs_AutoOpen = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "vesp_UpdateUserSettings";
|
||||
cm.Parameters.AddWithValue("@UID", _userid);
|
||||
UserSetting_OpenTabs_Remember = OpenTabs_Remember;
|
||||
cm.Parameters.AddWithValue("@Remember", OpenTabs_Remember);
|
||||
if (OpenTabs_AutoOpen != null)
|
||||
{
|
||||
UserSetting_OpenTabs_AutoOpen = (bool) OpenTabs_AutoOpen;
|
||||
cm.Parameters.AddWithValue("@AutoOpen", OpenTabs_AutoOpen);
|
||||
}
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Database.LogException("UserSettings_SetUserSettings", ex);
|
||||
throw new DbCslaException("UserSettings_SetUserSettings", ex);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
@@ -380,7 +380,6 @@
|
||||
<Compile Include="Generated\ZContentInfo.cs" />
|
||||
<Compile Include="Generated\ZTransition.cs" />
|
||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||
<Compile Include="Minimal\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||
<Compile Include="VEObjects\VETreeNode.cs" />
|
||||
|
@@ -277,27 +277,17 @@ namespace Volian.Controls.Library
|
||||
|
||||
private void btnRemoveAnnotation_Click(object sender, EventArgs e)
|
||||
{
|
||||
// CSM B2024-068 / B2024-069 - check if current annotation is not selected before removal of annotation
|
||||
if (CurrentAnnotation != null)
|
||||
{
|
||||
//using (Annotation annotation = CurrentAnnotation.Get())
|
||||
//{
|
||||
// annotation.Delete();
|
||||
_AnnotationSearch.LoadingList = true;
|
||||
Annotation.DeleteAnnotation(CurrentAnnotation);
|
||||
// annotation.Save();
|
||||
_AnnotationSearch.LoadingList = false;
|
||||
CurrentAnnotation = null;
|
||||
UpdateAnnotationGrid();
|
||||
_AnnotationSearch.UpdateAnnotationSearchResults(); // B2019-004: update search results list when an annotation is removed.
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
FlexibleMessageBox.Show("You Must Select an Annotation To Remove", "Annotation Not Selected", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
return;
|
||||
}
|
||||
|
||||
//using (Annotation annotation = CurrentAnnotation.Get())
|
||||
//{
|
||||
// annotation.Delete();
|
||||
_AnnotationSearch.LoadingList = true;
|
||||
Annotation.DeleteAnnotation(CurrentAnnotation);
|
||||
// annotation.Save();
|
||||
_AnnotationSearch.LoadingList = false;
|
||||
CurrentAnnotation = null;
|
||||
UpdateAnnotationGrid();
|
||||
_AnnotationSearch.UpdateAnnotationSearchResults(); // B2019-004: update search results list when an annotation is removed.
|
||||
//}
|
||||
}
|
||||
|
||||
private void btnSaveAnnotation_Click(object sender, EventArgs e)
|
||||
@@ -684,15 +674,12 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
using (Annotation annotation = CurrentAnnotation.Get())
|
||||
{
|
||||
if (annotation != null) // B2024-061 check for null reference
|
||||
{
|
||||
annotation.RtfText = rtxbComment.Rtf;
|
||||
annotation.SearchText = rtxbComment.Text;
|
||||
annotation.MyAnnotationType = annotationType;
|
||||
annotation.DTS = DateTime.Now;
|
||||
annotation.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
annotation.Save();
|
||||
}
|
||||
annotation.RtfText = rtxbComment.Rtf;
|
||||
annotation.SearchText = rtxbComment.Text;
|
||||
annotation.MyAnnotationType = annotationType;
|
||||
annotation.DTS = DateTime.Now;
|
||||
annotation.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
annotation.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -503,7 +503,7 @@ namespace Volian.Controls.Library
|
||||
this.cbxSortBySetpointID.Size = new System.Drawing.Size(121, 23);
|
||||
this.cbxSortBySetpointID.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.cbxSortBySetpointID.TabIndex = 11;
|
||||
this.cbxSortBySetpointID.Text = "Sort By Setpoint ID";
|
||||
this.cbxSortBySetpointID.Text = "Sort By Sepoint ID";
|
||||
this.cbxSortBySetpointID.Visible = false;
|
||||
//
|
||||
// DisplayReports
|
||||
@@ -511,8 +511,8 @@ namespace Volian.Controls.Library
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.btnPrintReport);
|
||||
this.Controls.Add(this.xpSelROs);
|
||||
this.Controls.Add(this.xpSetToReport);
|
||||
this.Controls.Add(this.xpSelROs);
|
||||
this.Controls.Add(this.tctrlReports);
|
||||
this.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.Name = "DisplayReports";
|
||||
|
@@ -270,7 +270,7 @@ namespace Volian.Controls.Library
|
||||
this.cbxTranCategory.Name = "cbxTranCategory";
|
||||
this.cbxTranCategory.Size = new System.Drawing.Size(215, 21);
|
||||
this.cbxTranCategory.TabIndex = 1;
|
||||
this.cbxTranCategory.WatermarkText = "Select Category of Transitions";
|
||||
this.cbxTranCategory.WatermarkText = "Select Cateogry of Transitions";
|
||||
//
|
||||
// lblTranCategory
|
||||
//
|
||||
@@ -402,7 +402,7 @@ namespace Volian.Controls.Library
|
||||
this.cbxTranCategory.Name = "cbxTranCategory";
|
||||
this.cbxTranCategory.Size = new System.Drawing.Size(215, 21);
|
||||
this.cbxTranCategory.TabIndex = 1;
|
||||
this.cbxTranCategory.WatermarkText = "Select Category of Transitions";
|
||||
this.cbxTranCategory.WatermarkText = "Select Cateogry of Transitions";
|
||||
//
|
||||
// lblTranCategory
|
||||
//
|
||||
@@ -658,7 +658,7 @@ namespace Volian.Controls.Library
|
||||
this.superTooltip1.SetSuperTooltip(this.cmboTreeROs, new DevComponents.DotNetBar.SuperTooltipInfo("Select the RO to Search", "", "Select the Referenced Object to search for.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray));
|
||||
this.cmboTreeROs.TabIndex = 1;
|
||||
this.cmboTreeROs.ThemeAware = true;
|
||||
this.cmboTreeROs.WatermarkText = "Select an RO to search";
|
||||
this.cmboTreeROs.WatermarkText = "Select an RO to seach";
|
||||
this.cmboTreeROs.SelectedIndexChanged += new System.EventHandler(this.cmboTreeROs_SelectedIndexChanged);
|
||||
//
|
||||
// tabROSearch
|
||||
|
1419
PROMS/Volian.Controls.Library/DisplayTags.Designer.cs
generated
1419
PROMS/Volian.Controls.Library/DisplayTags.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -103,7 +103,7 @@ namespace Volian.Controls.Library
|
||||
public string TbFSwd
|
||||
{
|
||||
get {return tbFSWd.Text;}
|
||||
set { tbFSWd.Text = value; tbFSWd.Refresh(); } // trBarFS.Value = Convert.ToInt32(value);
|
||||
set { tbFSWd.Text = value; tbFSWd.Refresh(); trBarFS.Value = Convert.ToInt32(value); }
|
||||
}
|
||||
|
||||
public string TbFSht
|
||||
@@ -111,7 +111,7 @@ namespace Volian.Controls.Library
|
||||
get { return tbFSHt.Text; }
|
||||
set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); }
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
#region Constructor
|
||||
public DisplayTags()
|
||||
@@ -142,8 +142,6 @@ namespace Volian.Controls.Library
|
||||
tbChgID.Enabled = false;
|
||||
lblChgId.Visible = tbChgID.Visible = false;
|
||||
CurItemInfo = null;
|
||||
cbInitialLine.Visible = cbInitialLine.Enabled = false;
|
||||
|
||||
}
|
||||
private bool StepOverRide()
|
||||
{
|
||||
@@ -555,16 +553,6 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//CSM F2024 - 080: For South Texas (HLP formats), enable the initial line checkbox if it is in the formats
|
||||
//Also, they want disable being selected to impact substeps - so do not show toggle if selected on a parent step
|
||||
cbInitialLine.Visible = cbInitialLine.Enabled = false;
|
||||
if (CurItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.ShowInitialLineDisable && !string.IsNullOrEmpty(CurItemInfo.FormatStepData.TabData.MacroEditTag) && CurItemInfo.FormatStepData.TabData.MacroEditTag == "_" && CurItemInfo.FormatStepData.TabData.MacroList != null && CurItemInfo.FormatStepData.TabData.MacroList.Count > 0 && !(CurItemInfo.IsRNOPart && CurItemInfo.FormatStepData.TabData.MacroList[0].NotInRNO))
|
||||
{
|
||||
cbInitialLine.Visible = cbInitialLine.Enabled = true;
|
||||
cbInitialLine.Checked = sc.Step_DisableInitialLine;
|
||||
}
|
||||
|
||||
_Initalizing = false;
|
||||
}
|
||||
public void SetFigure(double wd, double wd2)
|
||||
@@ -981,42 +969,25 @@ namespace Volian.Controls.Library
|
||||
sc.Step_PreferredPagebreak = cbPrefPageBreak.Checked;
|
||||
MyEditItem.ChangeBarForConfigItemChange = true;
|
||||
}
|
||||
//private void txbxAltConActSumText_Leave(object sender, EventArgs e)
|
||||
//{
|
||||
// // User left Atlernate Continuous Action Text field. If text changed, then prompt
|
||||
// // to see if save should occur.
|
||||
// StepConfig sc = CurItemInfo.MyConfig as StepConfig;
|
||||
// if (sc == null) return;
|
||||
// bool bothEmpty = (sc.Step_AlternateContActSumText == null || sc.Step_AlternateContActSumText == "") && (txbxAltConActSumText.Text == null || txbxAltConActSumText.Text == "");
|
||||
// if (!bothEmpty && sc.Step_AlternateContActSumText != txbxAltConActSumText.Text)
|
||||
// {
|
||||
// if (MessageBox.Show(this, "Do you want to save the Alternate Continuous Action Text?", "Confirm Save", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
// {
|
||||
// MyEditItem.SaveContents();
|
||||
// sc.Step_AlternateContActSumText = txbxAltConActSumText.Text; // this actually saves the config
|
||||
// }
|
||||
// else
|
||||
// txbxAltConActSumText.Text = sc.Step_AlternateContActSumText;
|
||||
// }
|
||||
|
||||
private void cbInitialLine_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_Initalizing) return;
|
||||
MyEditItem.SaveContents();
|
||||
StepConfig sc = CurItemInfo.MyConfig as StepConfig;
|
||||
if (sc == null) return;
|
||||
MyEditItem.ChangeBarForConfigItemChange = false;
|
||||
sc.Step_DisableInitialLine = cbInitialLine.Checked;
|
||||
MyEditItem.ChangeBarForConfigItemChange = true;
|
||||
//}
|
||||
|
||||
//needed to refresh display changing
|
||||
MyEditItem.RefreshContent();
|
||||
MyEditItem.SetAllTabs();
|
||||
|
||||
}
|
||||
|
||||
//private void txbxAltConActSumText_Leave(object sender, EventArgs e)
|
||||
//{
|
||||
// // User left Atlernate Continuous Action Text field. If text changed, then prompt
|
||||
// // to see if save should occur.
|
||||
// StepConfig sc = CurItemInfo.MyConfig as StepConfig;
|
||||
// if (sc == null) return;
|
||||
// bool bothEmpty = (sc.Step_AlternateContActSumText == null || sc.Step_AlternateContActSumText == "") && (txbxAltConActSumText.Text == null || txbxAltConActSumText.Text == "");
|
||||
// if (!bothEmpty && sc.Step_AlternateContActSumText != txbxAltConActSumText.Text)
|
||||
// {
|
||||
// if (MessageBox.Show(this, "Do you want to save the Alternate Continuous Action Text?", "Confirm Save", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
// {
|
||||
// MyEditItem.SaveContents();
|
||||
// sc.Step_AlternateContActSumText = txbxAltConActSumText.Text; // this actually saves the config
|
||||
// }
|
||||
// else
|
||||
// txbxAltConActSumText.Text = sc.Step_AlternateContActSumText;
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -9,7 +9,6 @@ using System.Text.RegularExpressions;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using Volian.Base.Library;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Linq;
|
||||
|
||||
namespace Volian.Controls.Library
|
||||
{
|
||||
@@ -286,7 +285,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
public EditItem ActiveParent
|
||||
{
|
||||
get { return _MyParentEditItem != null ? _MyParentEditItem : _MyPreviousEditItem?.ActiveParent; }
|
||||
get { return _MyParentEditItem != null ? _MyParentEditItem : _MyPreviousEditItem.ActiveParent; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Return the Parent EditItem
|
||||
@@ -894,18 +893,6 @@ namespace Volian.Controls.Library
|
||||
b4topadjust -= newFocus.Top;
|
||||
TopMostYBefore -= b4topadjust;
|
||||
|
||||
//B2024-075: If Deleting an item in a Source Document that is unlinked
|
||||
//and the overall procedure has connected Background Documents
|
||||
//and a window is open containing the background documents
|
||||
//then need to force a refresh on that window as
|
||||
//step numbering will shift
|
||||
EnhancedDocuments ProcEnh = MyItemInfo.MyProcedure.GetMyEnhancedDocuments();
|
||||
if (ProcEnh.Count > 0)
|
||||
{
|
||||
DisplayTabItem wndowToRefresh = MyStepPanel.MyStepTabPanel.MyDisplayTabControl.MyBar.Items.Cast<DisplayTabItem>().FirstOrDefault(x => x.MyKey == $"Item - {ProcEnh[0].ItemID}");
|
||||
wndowToRefresh?.MyStepTabPanel.MyStepPanel.Reset(wndowToRefresh.MyItemInfo);
|
||||
}
|
||||
|
||||
//_MyTimer.ActiveProcess = "Dispose";
|
||||
Dispose();
|
||||
//_MyTimer.ActiveProcess = "SetAllTabs";
|
||||
@@ -1647,54 +1634,10 @@ namespace Volian.Controls.Library
|
||||
MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OnItemPaste(this, new vlnTreeItemInfoPasteEventArgs(newItemInfo, copyStartID, ItemInfo.EAddpingPart.Before, newItemInfo.MyContent.Type));
|
||||
|
||||
// MyItemInfo is the 'paste from' item, if it has enhanced need to copy and paste the steps in enhanced.
|
||||
//if doing a paste before/after and item being copied is unlinked, item pasted should also be unlinked.
|
||||
ItemInfo tmpCopyStartSourceItem = ItemInfo.Get(copyStartID);
|
||||
ItemInfo newEnh = null;
|
||||
if (tmpCopyStartSourceItem.GetMyEnhancedDocuments().Count > 0)
|
||||
{
|
||||
newEnh = newItemInfo.EnhancedPasteItem(copyStartID, MyItemInfo, ItemInfo.EAddpingPart.Before, GetChangeId(MyItemInfo));
|
||||
}
|
||||
|
||||
//B2024-075: When doing Paste Before / After with Enhanced Documents only link from Background document to source was created
|
||||
//since source is done first
|
||||
//this is so that after the steps are created in the enhanced, go back and update the link in the source to point to the correct item
|
||||
if (newEditItem != null && newEnh != null)
|
||||
{
|
||||
FixEnhanceLinkOnSource(newEditItem.MyItemInfo, newEnh, MyItemInfo.GetMyEnhancedDocuments());
|
||||
}
|
||||
else if (newEnh == null && newEditItem != null && newEditItem.MyItemInfo.IsEnhancedStep)
|
||||
{
|
||||
UnlinkEnhanced(newEditItem);
|
||||
}
|
||||
else if (newEnh == null && newEditItem != null)
|
||||
{
|
||||
//if did a paste before/after in a source document that contains enhanced steps
|
||||
//but step being pasted was non-enhanced (unlinked)
|
||||
//then look to see if the background page is open
|
||||
//and if it is, do a refresh so that step numbers update appropriately
|
||||
//without having to close and re-open the background steps
|
||||
foreach (EnhancedDocument edSource in MyItemInfo.GetMyEnhancedDocuments())
|
||||
{
|
||||
ItemInfo exEnh = ItemInfo.Get(edSource.ItemID);
|
||||
DisplayTabItem wndowToRefresh = newEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.MyBar.Items.Cast<DisplayTabItem>().FirstOrDefault(x => x.MyKey == $"Item - {exEnh.MyProcedure.ItemID}");
|
||||
wndowToRefresh?.MyStepTabPanel.MyStepPanel.Reset(wndowToRefresh.MyItemInfo);
|
||||
}
|
||||
}
|
||||
|
||||
ItemInfo newEnh = newItemInfo.EnhancedPasteItem(copyStartID, MyItemInfo, ItemInfo.EAddpingPart.Before, GetChangeId(MyItemInfo));
|
||||
// if enhanced items were created, then see if they need displayed:
|
||||
if (newEnh != null) AddAllEnhancedItemsToDisplay(newItemInfo);
|
||||
}
|
||||
|
||||
//B2024-075: When doing Paste Before / After with Enhanced Documents only link from Background document to source was created
|
||||
//since source is done first
|
||||
//this is so that after the steps are created in the enhanced, go back and update the link in the source to point to the correct item
|
||||
//if enhanced document wasn't created then paste happened inside a enhanced Step/background step - so remove any links that shouldn't be there
|
||||
//and don't have a corresponding spot in the Source
|
||||
private void FixEnhanceLinkOnSource(ItemInfo SourceItem, ItemInfo newEnhItem, EnhancedDocuments enhancedDocuments)
|
||||
{
|
||||
if (enhancedDocuments.Count > 0)
|
||||
CreateLinksEnhancedSingleItem(SourceItem, newEnhItem, enhancedDocuments[0].Type);
|
||||
}
|
||||
private void AddAllEnhancedItemsToDisplay(ItemInfo newItemInfo)
|
||||
{
|
||||
EnhancedDocuments eds = newItemInfo.GetMyEnhancedDocuments();
|
||||
@@ -1741,15 +1684,12 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
public void UnlinkEnhanced(EditItem enhII)
|
||||
public void UnlinkEnhanced(ItemInfo enhII)
|
||||
{
|
||||
// B2022-049: Copy/paste of enhanced procedure and bad links between source and enhanced
|
||||
// Pass in to unlink as before this change
|
||||
// B2024 - 075: Change made to pass in an EditTem instead of a ItemInfo
|
||||
//so can refresh the UI
|
||||
enhII.MyItemInfo.DoUnlinkEnhanced(enhII.MyItemInfo, 0, false);
|
||||
enhII.DoUnlinkEnhanced(enhII, 0, false);
|
||||
SetFocus();
|
||||
enhII.MyStepPanel.Reset(enhII.MyItemInfo); //need to reset parts so refreshes display to show as unlinked
|
||||
}
|
||||
public ItemInfo AddMissingEnhancedStep(ItemInfo ii, int EnhType)
|
||||
{
|
||||
@@ -1813,42 +1753,7 @@ namespace Volian.Controls.Library
|
||||
MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OnItemPaste(this, new vlnTreeItemInfoPasteEventArgs(newItemInfo, copyStartID, ItemInfo.EAddpingPart.After, newItemInfo.MyContent.Type));
|
||||
|
||||
// MyItemInfo is the 'paste from' item, if it has enhanced need to copy and paste the steps in enhanced.
|
||||
//if doing a paste before/after and item being copied is unlinked, item pasted should also be unlinked.
|
||||
ItemInfo tmpCopyStartSourceItem = ItemInfo.Get(copyStartID);
|
||||
ItemInfo newEnh = null;
|
||||
if (tmpCopyStartSourceItem.GetMyEnhancedDocuments().Count > 0)
|
||||
{
|
||||
newEnh = newItemInfo.EnhancedPasteItem(copyStartID, MyItemInfo, ItemInfo.EAddpingPart.After, GetChangeId(MyItemInfo));
|
||||
}
|
||||
|
||||
//B2024-075: When doing Paste Before / After with Enhanced Documents only link from Background document to source was created
|
||||
//since source is done first
|
||||
//this is so that after the steps are created in the enhanced, go back and update the link in the source to point to the correct item
|
||||
//if enhanced document wasn't created then paste happened inside a enhanced Step/background step - so remove any links that shouldn't be there
|
||||
//and don't have a cooresponding spot in the Source
|
||||
if (newEditItem != null && newEnh != null)
|
||||
{
|
||||
FixEnhanceLinkOnSource(newEditItem.MyItemInfo, newEnh, MyItemInfo.GetMyEnhancedDocuments());
|
||||
}
|
||||
else if (newEnh == null && newEditItem != null && newEditItem.MyItemInfo.IsEnhancedStep)
|
||||
{
|
||||
UnlinkEnhanced(newEditItem);
|
||||
}
|
||||
else if (newEnh == null && newEditItem != null)
|
||||
{
|
||||
//if did a paste before/after in a source document that contains enhanced steps
|
||||
//but step being pasted was non-enhanced (unlinked)
|
||||
//then look to see if the background page is open
|
||||
//and if it is, do a refresh so that step numbers update appropriately
|
||||
//without having to close and re-open the background steps
|
||||
foreach (EnhancedDocument edSource in MyItemInfo.GetMyEnhancedDocuments())
|
||||
{
|
||||
ItemInfo exEnh = ItemInfo.Get(edSource.ItemID);
|
||||
DisplayTabItem wndowToRefresh = newEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.MyBar.Items.Cast<DisplayTabItem>().FirstOrDefault(x => x.MyKey == $"Item - {exEnh.MyProcedure.ItemID}");
|
||||
wndowToRefresh?.MyStepTabPanel.MyStepPanel.Reset(wndowToRefresh.MyItemInfo);
|
||||
}
|
||||
}
|
||||
|
||||
ItemInfo newEnh = newItemInfo.EnhancedPasteItem(copyStartID, MyItemInfo, ItemInfo.EAddpingPart.After, GetChangeId(MyItemInfo));
|
||||
if (newEnh != null) AddAllEnhancedItemsToDisplay(newItemInfo);
|
||||
}
|
||||
public void PasteChild(int copyStartID)
|
||||
@@ -2039,8 +1944,7 @@ namespace Volian.Controls.Library
|
||||
sia.IdentifyChildren(highlight);
|
||||
}
|
||||
}
|
||||
// C2017-031: Support for paste/replace an enhanced step: don't identify/copy before items, i.e. notes/cautions
|
||||
if (MyBeforeEditItems != null && !MyItemInfo.IsEnhancedStep)
|
||||
if (MyBeforeEditItems != null)
|
||||
{
|
||||
foreach (EditItem sib in MyBeforeEditItems)
|
||||
{
|
||||
|
@@ -256,8 +256,7 @@ namespace Volian.Controls.Library
|
||||
private int _origCfgHt = 0; // keep track if original size was stored in cfg
|
||||
private int _origCfgWd = 0;
|
||||
private bool _pastedNew = false; // need this for flagging newly pasted image (may need to clear cfg)
|
||||
private DisplayTags _displayTags = new DisplayTags();
|
||||
//House myhouse = new House();
|
||||
private DisplayTags _displayTags;
|
||||
|
||||
#endregion
|
||||
#region Constructors
|
||||
@@ -317,11 +316,8 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
private void SetWidthsAndHeights(System.Drawing.Image img)
|
||||
{
|
||||
|
||||
int wd = img.Width * MyStepPanel.DPI / 72; // converts from screen resolution's DPI to image's points (72/inch)
|
||||
int ht = img.Height * MyStepPanel.DPI / 72;
|
||||
|
||||
|
||||
if (MyItemInfo.MyContent.MyImage != null) // image is null if creating new.
|
||||
{
|
||||
ImageConfig ic = new ImageConfig(MyItemInfo.MyContent.MyImage);
|
||||
@@ -344,9 +340,9 @@ namespace Volian.Controls.Library
|
||||
_displayTags.TbFSwd = wd.ToString();
|
||||
_displayTags.TbFSht = ht.ToString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// the following gets called for 'NEW' images
|
||||
private E_ImageSource InsType = E_ImageSource.None;
|
||||
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand, EditItem nextEditItem, ImageItem.E_ImageSource insType, DisplayTags displayTags)
|
||||
|
BIN
PROMS/Volian.Controls.Library/RTBItem.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/RTBItem.designer.cs
generated
Binary file not shown.
@@ -1231,7 +1231,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
public ItemSelectedChangedEventArgs(EditItem myEditItem)
|
||||
{
|
||||
_MyItemInfo = myEditItem?.MyItemInfo;
|
||||
_MyItemInfo = myEditItem.MyItemInfo;
|
||||
_MyEditItem = myEditItem;
|
||||
}
|
||||
}
|
||||
|
@@ -485,8 +485,6 @@ namespace Volian.Controls.Library
|
||||
public void RefreshDisplay(bool activeMode)
|
||||
{
|
||||
if (IsExperimenting) return;
|
||||
if (IsDisposed) return;
|
||||
|
||||
ActiveMode = activeMode;
|
||||
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true));
|
||||
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 2");
|
||||
|
@@ -337,10 +337,8 @@ namespace Volian.Controls.Library
|
||||
else if (btn.Name.Contains("Unlink"))
|
||||
{
|
||||
// C2019=003: add a confirmation dialog before unlinking a step:
|
||||
// B2024 - 075: Change made to pass in an EditTem instead of a ItemInfo
|
||||
//so can refresh the UI
|
||||
if (FlexibleMessageBox.Show(this, "Do you want to unlink this step?", "Confirm Enhanced Step Unlink", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
MyEditItem.UnlinkEnhanced(MyEditItem);
|
||||
MyEditItem.UnlinkEnhanced(MyEditItem.MyItemInfo);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1752,7 +1750,7 @@ namespace Volian.Controls.Library
|
||||
// note in follow if statements, 'setting' == false when in enhanced document:
|
||||
if (setting && MyItemInfo.IsStep && (eds == null || eds.Count == 0)) // this step is in enhanced, but not linked // B2018-112 and is allowed to edit
|
||||
allowDel = true; // allow delete if not linked
|
||||
btnCpyStp.Enabled = MyUserInfo.IsAllowedToEdit(Mydvi); // C2017-031: Support for paste/replace an enhanced step
|
||||
btnCpyStp.Enabled = setting;
|
||||
//B20170-158 Allow a Unlinked Step to be pasted before or after a linked step.
|
||||
StepTabPanel tmp = Parent as StepTabPanel;
|
||||
//B2020-058: crash on null reference
|
||||
@@ -1803,8 +1801,7 @@ namespace Volian.Controls.Library
|
||||
btnPasteAfter.Enabled = btnCMPasteAfter.Enabled = enable;
|
||||
//B20170-158 Don't allow a step to replace a linked step
|
||||
//B2017-180: The fix for B2017-158 also needed the 'HasEnhancedLinkedStep' to check if the copied step is a source step
|
||||
// C2017-031: Support for paste/replace an enhanced step, enable button
|
||||
btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = enable && ((!MyItemInfo.IsEnhancedStep && !MyItemInfo.HasEnhancedLinkedStep) || (MyItemInfo.IsEnhancedStep));
|
||||
btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = enable && !MyItemInfo.IsEnhancedStep && !MyItemInfo.HasEnhancedLinkedStep;
|
||||
}
|
||||
private void SetPasteButtonEnabled()
|
||||
{
|
||||
@@ -4113,19 +4110,9 @@ namespace Volian.Controls.Library
|
||||
// F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format
|
||||
ItemInfo.PasteStepIsWithinDefinedSubStepLevels(tmp.MyDisplayTabControl.MyCopyStep.ItemID, MyItemInfo, true);
|
||||
EditItem oldEditItem = MyEditItem;
|
||||
// C2017-031: Support for paste/replace an enhanced step, if pasting an enhanced, remove its EditItem from the 'cache'. A new EditItem gets created during paste.
|
||||
if (MyEditItem != null && MyEditItem.MyItemInfo.IsEnhancedStep) MyEditItem.MyStepPanel._LookupEditItems.Remove(MyEditItem.MyItemInfo.ItemID);
|
||||
MyEditItem = MyEditItem.PasteReplace(tmp.MyDisplayTabControl.MyCopyStep.ItemID);
|
||||
if (MyEditItem == null) oldEditItem.IdentifyMe(false); // B2017-179 if null then we didn't do the replace but did position to the first transition that needs resolved
|
||||
// C2017-031: Support for paste/replace an enhanced step, add Dispose of old EditItem if enhanced
|
||||
if (MyEditItem != null && ((MyEditItem.MyItemInfo.ItemID != oldEditItem.MyItemInfo.ItemID) || MyEditItem.MyItemInfo.IsEnhancedStep))
|
||||
oldEditItem.Dispose();
|
||||
// C2017-031: Support for paste/replace an enhanced step, refresh ItemInfo's in user interface caches.
|
||||
if (MyEditItem.MyItemInfo.IsEnhancedStep)
|
||||
{
|
||||
MyEditItem.MyItemInfo = ItemInfo.Get(MyEditItem.MyItemInfo.ItemID);
|
||||
tmp.MyStepPanel.SelectedItemInfo = ItemInfo.Get(MyEditItem.MyItemInfo.ItemID);
|
||||
}
|
||||
if (MyEditItem != null && MyEditItem.MyItemInfo.ItemID != oldEditItem.MyItemInfo.ItemID) oldEditItem.Dispose();
|
||||
}
|
||||
|
||||
private void btnPdfCreate_Click(object sender, EventArgs e)
|
||||
|
Reference in New Issue
Block a user