Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
4ca3697845 | |||
37626d8f45 | |||
f95369d3a4 | |||
aa00891f8e | |||
d44f9ba2b6 | |||
c3b7b1e5a4 | |||
f3309e4a40 | |||
8fa059c186 | |||
96e61aea2b | |||
565779c9c8 | |||
b4ccd682c3 | |||
dba1331556 | |||
8803ae2274 | |||
69d09b7fc2 | |||
8ddfc8654e | |||
7a3243e882 | |||
4fc3b89e06 | |||
a17419ac12 | |||
88905132e7 | |||
111bed58d6 | |||
bed61324d6 | |||
1a889352b8 |
@@ -1154,7 +1154,10 @@ namespace ROEditor
|
||||
tbtnCancel.Enabled = true;
|
||||
tbtnSave.Enabled = true;
|
||||
tbtnRestore.Enabled = true;
|
||||
tbtnSaveAs.Enabled = true;
|
||||
if (newone == null)
|
||||
{ tbtnSaveAs.Enabled = true; }
|
||||
else
|
||||
{ tbtnSaveAs.Enabled = false; }
|
||||
}
|
||||
menuROSave.Enabled = tbtnSave.Enabled;
|
||||
}
|
||||
@@ -1170,7 +1173,10 @@ namespace ROEditor
|
||||
|
||||
tbtnSave.Enabled = true;
|
||||
tbtnRestore.Enabled = true;
|
||||
tbtnSaveAs.Enabled = true;
|
||||
if (newone == null)
|
||||
{ tbtnSaveAs.Enabled = true; }
|
||||
else
|
||||
{ tbtnSaveAs.Enabled = false; }
|
||||
tbtnCancel.Enabled = true;
|
||||
menuROSave.Enabled = tbtnSave.Enabled;
|
||||
//B2021-080 set the mysavexml flag to true to ensure the text change will be saved
|
||||
@@ -2392,20 +2398,26 @@ namespace ROEditor
|
||||
*/
|
||||
private void menuRODelete_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
bool success=false;
|
||||
XmlNode nd = (XmlNode) roTreeView.SelectedNode.Tag;
|
||||
if (nd.ParentNode.Name == "RO_Root")
|
||||
success = myrodb.RODB_DeleteGroup(nd,null,null);
|
||||
else
|
||||
success = myrodb.RODB_DeleteRO(nd);
|
||||
if (success == true)
|
||||
string msgstr = "It is recommended that you may wish to create a backup zip of your RO folder prior to performing deletions.\n\nAre you sure you wish to delete the selected RO/RO Group?";
|
||||
|
||||
DialogResult AnswerYN = MessageBox.Show(msgstr, "Deleting ROs/RO Group", MessageBoxButtons.YesNo);
|
||||
if (AnswerYN == DialogResult.Yes)
|
||||
{
|
||||
// remove from xml tree & the tree control
|
||||
XmlNode parent = nd.ParentNode;
|
||||
parent.RemoveChild(nd);
|
||||
updateRoListView(roTreeView.SelectedNode.Parent);
|
||||
roTreeView.SelectedNode.Remove();
|
||||
roTreeView.Refresh();
|
||||
bool success = false;
|
||||
XmlNode nd = (XmlNode)roTreeView.SelectedNode.Tag;
|
||||
if (nd.ParentNode.Name == "RO_Root")
|
||||
success = myrodb.RODB_DeleteGroup(nd, null, null);
|
||||
else
|
||||
success = myrodb.RODB_DeleteRO(nd);
|
||||
if (success == true)
|
||||
{
|
||||
// remove from xml tree & the tree control
|
||||
XmlNode parent = nd.ParentNode;
|
||||
parent.RemoveChild(nd);
|
||||
updateRoListView(roTreeView.SelectedNode.Parent);
|
||||
roTreeView.SelectedNode.Remove();
|
||||
roTreeView.Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2616,7 +2628,6 @@ namespace ROEditor
|
||||
success = ctlXMLEdit2.SaveData();
|
||||
if (!success)
|
||||
{
|
||||
MessageBox.Show("Save Failed");
|
||||
return false;
|
||||
}
|
||||
VlnXmlElement myro;
|
||||
@@ -2732,7 +2743,6 @@ namespace ROEditor
|
||||
if (!success)
|
||||
{
|
||||
tbtnRestore.Enabled = false; // old data may not be around
|
||||
MessageBox.Show("Save Failed");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -324,29 +324,17 @@ namespace ctlXMLEditLib
|
||||
string ROINI = Directory.GetCurrentDirectory()+ "\\ROAPP.INI";
|
||||
|
||||
// Get the default file extension for graphic files
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention","",5,"ROAPP.INI");
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention","",5,"ROAPP.INI");
|
||||
// Bug fix: B2006-025
|
||||
// needed to pass the full path of ROAPP.INI
|
||||
// B2025-007 only use the default file location (remove 16 bit PROMS location)
|
||||
IniReader in1 = new IniReader(ROINI);
|
||||
DefaultGraphicFileExtension = in1.ReadString("ROApp","Extention","");
|
||||
if (DefaultGraphicFileExtension.Equals(""))
|
||||
{
|
||||
string ApplPathUp = ApplicationPath.ToUpper();
|
||||
int idx = ApplPathUp.IndexOf("VE-PROMS.NET\\BIN");
|
||||
if (idx >= 0)
|
||||
{
|
||||
string PromsINI = ApplicationPath.Substring(0, idx);
|
||||
PromsINI += "VE-PROMS\\VEPROMS.INI";
|
||||
IniReader in2 = new IniReader(PromsINI);
|
||||
DefaultGraphicFileExtension = in2.ReadString("Graphics", "defaultext", ".TIF");
|
||||
}
|
||||
else
|
||||
DefaultGraphicFileExtension = ".TIF";
|
||||
}
|
||||
// if (File.Exists(PromsINI))
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("Graphics","defaultext",".TIF",5,PromsINI);
|
||||
// if (File.Exists("ROAPP.INI"))
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention",".TIF",5,"ROAPP.INI");
|
||||
DefaultGraphicFileExtension = in1.ReadString("ROApp", "Extention");
|
||||
if (string.IsNullOrEmpty(DefaultGraphicFileExtension)) DefaultGraphicFileExtension = in1.ReadString("ROApp", "Extension", ".TIF");
|
||||
// if (File.Exists(PromsINI))
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("Graphics","defaultext",".TIF",5,PromsINI);
|
||||
// if (File.Exists("ROAPP.INI"))
|
||||
// DefaultGraphicFileExtension = TheIniFile.GetINIKeyValueStr("ROApp","Extention",".TIF",5,"ROAPP.INI");
|
||||
if (!DefaultGraphicFileExtension.StartsWith("."))
|
||||
DefaultGraphicFileExtension = "." + DefaultGraphicFileExtension;
|
||||
|
||||
@@ -784,6 +772,7 @@ namespace ctlXMLEditLib
|
||||
dosaveflag = false;
|
||||
return (true);
|
||||
}
|
||||
MessageBox.Show("Save Failed");
|
||||
return (false);
|
||||
}
|
||||
|
||||
@@ -1129,7 +1118,7 @@ namespace ctlXMLEditLib
|
||||
mylabel.BackColor = chlbckcolor; // PC Applic fields are shaded blue otherwise backcolor is transparent
|
||||
mylabel.Location = new Point(screenx+indent, screeny);
|
||||
mylabel.Name = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName);
|
||||
mylabel.Text = (applicLabel.Length > 0) ? applicLabel : CvtFldToUserFld(element.Name); // C2021-026 applicLabel is the P/C Child name
|
||||
mylabel.Text = (applicLabel.Length > 0) ? applicLabel : CvtFldToUserFld(element.Name).Replace("Image_",""); // C2021-026 applicLabel is the P/C Child name
|
||||
mylabel.AutoSize = true;
|
||||
Controls.Add(mylabel);
|
||||
// add 3 onto screeny so that textbox is slightly below label.
|
||||
@@ -1484,12 +1473,15 @@ namespace ctlXMLEditLib
|
||||
if (fnamebox.Text != "" && fnamebox.Modified == true)
|
||||
{
|
||||
FileInfo ifi = new FileInfo(fnamebox.Text);
|
||||
if (ifi.Exists == false)
|
||||
if (ifi.Exists == false)
|
||||
{
|
||||
MessageBoxButtons buttons = MessageBoxButtons.OK;
|
||||
MessageBox.Show( "File does not exist.",
|
||||
"File Input Error", buttons);
|
||||
return;
|
||||
FileInfo ifi2 = new FileInfo(fnamebox.Text + DefaultGraphicFileExtension);
|
||||
if (!ifi2.Exists)
|
||||
{
|
||||
MessageBox.Show("File does not exist.",
|
||||
"File Input Error", MessageBoxButtons.OK);
|
||||
return;
|
||||
}
|
||||
}
|
||||
bool ok = ValidGraphicsFile(fnamebox.Text);
|
||||
if (ok != true)
|
||||
@@ -1696,7 +1688,7 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
catch (Exception ee)
|
||||
{
|
||||
MessageBox.Show("Invalid Height Input",ee.ToString());
|
||||
MessageBox.Show("The Height and Width cannot be empty fields. Enter a number in either field and the other will automatically adjust to a proportional size.", "Invalid Height Input");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1713,7 +1705,7 @@ namespace ctlXMLEditLib
|
||||
}
|
||||
catch (Exception ee)
|
||||
{
|
||||
MessageBox.Show("Invalid Width Input", ee.ToString());
|
||||
MessageBox.Show("The Height and Width cannot be empty fields. Enter a number in either field and the other will automatically adjust to a proportional size.", "Invalid Width Input");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -8447,97 +8447,7 @@ namespace VEPROMS.CSLA.Library
|
||||
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)
|
||||
{
|
||||
|
@@ -2650,97 +2650,174 @@ namespace VEPROMS.CSLA.Library
|
||||
firstTrans = false;
|
||||
if (!CanDeleteObject())
|
||||
throw new System.Security.SecurityException("User not authorized to remove a Item");
|
||||
// B2016-009 check source and desintation types and display message box if needed
|
||||
// B2016-009 check source and destination types and display message box if needed
|
||||
// C2022-017 moved the CheckSourceDestinationType call to btnPasteReplace_Click in StepTabRibbon
|
||||
// B2023-101 Handle Paste Replace when procedure to be replaced has Incoming Transitions, i.e. do a separate try/catch for this case
|
||||
ItemInfo newItemInfo = null;
|
||||
try
|
||||
using (ItemInfo copyItemInfo = ItemInfo.Get(copyStartID))
|
||||
{
|
||||
// C2017-031: Support for paste/replace an enhanced step, if this is replacing enhanced, do a specific query
|
||||
if (itemInfo.IsEnhancedStep)
|
||||
try
|
||||
{
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceEnhancedItemInfoFetch(copyStartID, itemInfo);
|
||||
if (newItemInfo == null) return null;
|
||||
// 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;
|
||||
}
|
||||
//C2025-003 Enhanced Copy/Paste Upgrade - Added support for paste/replace on a master step
|
||||
else if (itemInfo.HasEnhancedLinkedStep || copyItemInfo.HasEnhancedLinkedStep)
|
||||
{
|
||||
DialogResult rslt = DialogResult.No;
|
||||
|
||||
SectionConfig secCfg = itemInfo.ActiveSection.MyConfig as SectionConfig;
|
||||
if (copyItemInfo.HasEnhancedLinkedStep && secCfg.MyEnhancedDocuments.Count > 0)
|
||||
rslt = FlexibleMessageBox.Show("The step you are copying contains linked background documents." +
|
||||
"\r\n\r\nDo you also wish to make a copy of the background documents?",
|
||||
"Paste background documents", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
|
||||
//unlink and remove any background documents attached to where you are copying to
|
||||
//and then delete them
|
||||
//if selected want to replace BG step (DialogResult.Yes)
|
||||
if (itemInfo.HasEnhancedLinkedStep && rslt == DialogResult.Yes)
|
||||
{
|
||||
foreach (EnhancedDocument ed in itemInfo.GetMyEnhancedDocuments())
|
||||
{
|
||||
using (ItemInfo exEnh = ItemInfo.Get(ed.ItemID))
|
||||
{
|
||||
exEnh.DoUnlinkEnhanced(exEnh, 0, false);
|
||||
DeleteItemAndChildren(exEnh);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//do copy/paste replace of the master step
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo);
|
||||
if (newItemInfo == null) return null;
|
||||
|
||||
//copy any background documents
|
||||
//if selected want to replace BG step (DialogResult.Yes)
|
||||
if (copyItemInfo.HasEnhancedLinkedStep && rslt == DialogResult.Yes)
|
||||
{
|
||||
foreach (EnhancedDocument ed in copyItemInfo.GetMyEnhancedDocuments())
|
||||
{
|
||||
using (ItemInfo exEnh = newItemInfo.DoAddMissingEnhancedItems(ed.Type))
|
||||
{
|
||||
PasteReplace(exEnh, ed.ItemID, chgid, ref firstTrans);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (rslt == DialogResult.No)
|
||||
{
|
||||
//if selected didn't want to copy BG documents (DialogResult.No)
|
||||
//need to unlink BG doc from old removed content (what was pasted over top of)
|
||||
//re-link BG document to new paste replace master doc
|
||||
//this should also auto update the text of the main linked item
|
||||
//to match the new master doc wording
|
||||
|
||||
//get original BG documents
|
||||
EnhancedDocuments orig_eds = itemInfo.GetMyEnhancedDocuments();
|
||||
|
||||
//remove link from pre-existing BG docs
|
||||
foreach (EnhancedDocument ed in orig_eds)
|
||||
{
|
||||
using (ItemInfo exEnh = ItemInfo.Get(ed.ItemID))
|
||||
{ exEnh.DoUnlinkEnhanced(exEnh, 0, false); }
|
||||
}
|
||||
|
||||
//remove link from steps just copied
|
||||
ItemInfo.PasteClearEnhanced(newItemInfo);
|
||||
|
||||
//re-link pre-existing BG docs to newly replaced master step
|
||||
foreach (EnhancedDocument ed in orig_eds)
|
||||
{
|
||||
using (ItemInfo orig_ed_item = ItemInfo.Get(ed.ItemID))
|
||||
{ newItemInfo.DoCreateLinksEnhancedSingleItem(orig_ed_item, ed.Type); }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); if (newItemInfo == null) return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
catch (Exception ex1)
|
||||
{
|
||||
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); if (newItemInfo == null) return null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex1)
|
||||
{
|
||||
if (ex1.Message.Contains("has External Transitions and has no next step")
|
||||
if (ex1.Message.Contains("has External Transitions and has no next step")
|
||||
|| ex1.Message.Contains("has External Transitions to Procedure")
|
||||
|| ex1.Message.Contains("has External Transitions to it's children"))
|
||||
|
||||
{
|
||||
FlexibleMessageBox.Show("This procedure has external transition references to it that must be resolved before doing the Paste/Replace.\r\nRight Click on the procedure and select the Incoming Transitions menu option to find these references and resolve them.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
||||
return null;
|
||||
{
|
||||
FlexibleMessageBox.Show("This procedure has external transition references to it that must be resolved before doing the Paste/Replace.\r\nRight Click on the procedure and select the Incoming Transitions menu option to find these references and resolve them.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
// Delete business objects, including remove from tree
|
||||
ItemInfo.DeleteItemInfoAndChildren(itemInfo.ItemID); // Dispose ItemInfo and Children
|
||||
using (Item item = Get(newItemInfo.ItemID)) ItemInfo.Refresh(item);
|
||||
ItemInfo.PasteSetChangeId(newItemInfo, chgid);
|
||||
ItemInfo.PasteClearEnhanced(newItemInfo);
|
||||
if (newItemInfo.NextItem != null) using (Item item = newItemInfo.NextItem.Get()) ItemInfo.Refresh(item);
|
||||
newItemInfo.RefreshNextItems();
|
||||
// if inserting after a caution or note, refreshes tabs. This will adjust bullets
|
||||
// of any previous cautions or notes.
|
||||
if (newItemInfo.IsCaution || newItemInfo.IsNote) newItemInfo.ResetOrdinal();
|
||||
newItemInfo.UpdateTransitionText();
|
||||
newItemInfo.UpdateROText();
|
||||
newItemInfo.UpdatePastedStepTransitionText();
|
||||
try
|
||||
{
|
||||
// Delete business objects, including remove from tree
|
||||
ItemInfo.DeleteItemInfoAndChildren(itemInfo.ItemID); // Dispose ItemInfo and Children
|
||||
using (Item item = Get(newItemInfo.ItemID)) ItemInfo.Refresh(item);
|
||||
ItemInfo.PasteSetChangeId(newItemInfo, chgid);
|
||||
if (!copyItemInfo.HasEnhancedLinkedStep && !itemInfo.HasEnhancedLinkedStep) ItemInfo.PasteClearEnhanced(newItemInfo);
|
||||
if (newItemInfo.NextItem != null) using (Item item = newItemInfo.NextItem.Get()) ItemInfo.Refresh(item);
|
||||
newItemInfo.RefreshNextItems();
|
||||
// if inserting after a caution or note, refreshes tabs. This will adjust bullets
|
||||
// of any previous cautions or notes.
|
||||
if (newItemInfo.IsCaution || newItemInfo.IsNote) newItemInfo.ResetOrdinal();
|
||||
newItemInfo.UpdateTransitionText();
|
||||
newItemInfo.UpdateROText();
|
||||
newItemInfo.UpdatePastedStepTransitionText();
|
||||
|
||||
// Add to tree
|
||||
if (newItemInfo.NextItem != null)
|
||||
{
|
||||
using (ItemInfo itm = ItemInfo.GetNonCached(newItemInfo.NextItem.ItemID))
|
||||
// Add to tree
|
||||
if (newItemInfo.NextItem != null)
|
||||
{
|
||||
itm.OnNewSiblingBefore(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Before));
|
||||
using (ItemInfo itm = ItemInfo.GetNonCached(newItemInfo.NextItem.ItemID))
|
||||
{
|
||||
itm.OnNewSiblingBefore(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Before));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (newItemInfo.PreviousID != null)
|
||||
{
|
||||
using (ItemInfo itm2 = ItemInfo.GetNonCached((int)newItemInfo.PreviousID))
|
||||
else if (newItemInfo.PreviousID != null)
|
||||
{
|
||||
itm2.OnNewSiblingAfter(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.After));
|
||||
using (ItemInfo itm2 = ItemInfo.GetNonCached((int)newItemInfo.PreviousID))
|
||||
{
|
||||
itm2.OnNewSiblingAfter(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.After));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// B2024-045, 049 and 050: if not a single procedure replace, update user interface by using the 'OnNewChild'. Single
|
||||
// procedure's MyParent is null because its parent is a working draft (docversion) since MyParent's type is iteminfo.
|
||||
// For the single procedure case, the user interface code in vlntreeview will update the tree.
|
||||
if (newItemInfo.MyParent != null)
|
||||
newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
|
||||
}
|
||||
return newItemInfo;
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
// B2024-045, 049 and 050: if not a single procedure replace, update user interface by using the 'OnNewChild'. Single
|
||||
// procedure's MyParent is null because its parent is a working draft (docversion) since MyParent's type is iteminfo.
|
||||
// For the single procedure case, the user interface code in vlntreeview will update the tree.
|
||||
if (newItemInfo.MyParent != null)
|
||||
newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
|
||||
ItemInfo iii = itemInfo.HandleSqlExceptionOnDelete(ex);
|
||||
if (iii == itemInfo) return null;// If self returned then return null
|
||||
if (iii != null)
|
||||
{
|
||||
firstTrans = true; // B2017-179 set the firstTrans to true and return the itminfo of the first transition location that needs resolved
|
||||
return iii;
|
||||
}
|
||||
if (!HandleSqlExceptionOnCopy(ex))
|
||||
{
|
||||
if (ex.Message.Contains("has External Transitions and has no next step")
|
||||
|| ex.Message.Contains("has External Transitions to Procedure")
|
||||
|| ex.Message.Contains("has External Transitions to it's children")
|
||||
|| ex.Message.Contains("This step has been deleted"))
|
||||
throw ex;
|
||||
|
||||
FlexibleMessageBox.Show("Details were written to the Error Log.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
||||
return itemInfo;
|
||||
}
|
||||
else
|
||||
return itemInfo;
|
||||
}
|
||||
return newItemInfo;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ItemInfo iii = itemInfo.HandleSqlExceptionOnDelete(ex);
|
||||
if (iii == itemInfo) return null;// If self returned then return null
|
||||
if (iii != null)
|
||||
{
|
||||
firstTrans = true; // B2017-179 set the firstTrans to true and return the itminfo of the first transition location that needs resolved
|
||||
return iii;
|
||||
}
|
||||
if (!HandleSqlExceptionOnCopy(ex))
|
||||
{
|
||||
if (ex.Message.Contains("has External Transitions and has no next step")
|
||||
|| ex.Message.Contains("has External Transitions to Procedure")
|
||||
|| ex.Message.Contains("has External Transitions to it's children")
|
||||
|| ex.Message.Contains("This step has been deleted")
|
||||
)
|
||||
throw ex;
|
||||
FlexibleMessageBox.Show("Details were written to the Error Log.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
|
||||
return itemInfo;
|
||||
}
|
||||
else
|
||||
return itemInfo;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
@@ -1148,8 +1148,7 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
Database.LogException("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1176,8 +1175,7 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.AddDisplayTabsState", ex);
|
||||
throw new DbCslaException("ItemExt.AddDisplayTabsState", ex);
|
||||
Database.LogException("ItemExt.AddDisplayTabsState", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1194,13 +1192,8 @@ namespace VEPROMS.CSLA.Library
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "GetDisplayTabdata";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
//cm.ExecuteNonQuery();
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||
//da.Fill(dt);
|
||||
//cn.Close();
|
||||
//da.Dispose();
|
||||
//return dt; // fix
|
||||
|
||||
SqlDataReader reader = cm.ExecuteReader();
|
||||
DataTable dt = new DataTable();
|
||||
@@ -1210,8 +1203,10 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
throw new DbCslaException("ItemExt.DeactivateStateDisplayTabTmp", ex);
|
||||
//B2025-004
|
||||
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||
//instead of crashing
|
||||
return new DataTable();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -48,7 +48,6 @@ namespace VEPROMS.CSLA.Library
|
||||
catch (Exception ex)
|
||||
{
|
||||
Database.LogException("UserSettings_GetData", ex);
|
||||
throw new DbCslaException("UserSettings_GetData", ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -587,6 +587,13 @@ namespace Volian.Controls.Library
|
||||
|
||||
if (forceReload || RoTreeNeedsReloaded || tvROFST.Nodes == null || tvROFST.Nodes.Count <= 0)
|
||||
{
|
||||
//B2025-008
|
||||
//in cases where a RO table is clicked on
|
||||
//it will refresh the list
|
||||
//temp store what the ROID was before the list refreshes
|
||||
//so can go to it after the refresh
|
||||
string tmpROID = CurROLink?.ROID;
|
||||
|
||||
ROFSTLookup.rodbi[] dbs = MyROFSTLookup.GetRODatabaseList(true);
|
||||
|
||||
// B2022-123: RO Tab Treeview not showing correct RO values when switching between procedures.
|
||||
@@ -609,6 +616,8 @@ namespace Volian.Controls.Library
|
||||
_currDocVersionID = null;
|
||||
|
||||
if(_docVersionInfo != null) _currDocVersionID = (int?)_docVersionInfo.VersionID;
|
||||
|
||||
if (tmpROID != null) ExpandNode(ROFSTLookup.FormatRoidKey(tmpROID, true));
|
||||
}
|
||||
|
||||
var unitInfoNode = tvROFST.Nodes.Cast<TreeNode>().Where(x => x.Text == "Unit Information").FirstOrDefault();
|
||||
|
@@ -1806,7 +1806,7 @@ namespace Volian.Controls.Library
|
||||
//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;
|
||||
}
|
||||
private void SetPasteButtonEnabled()
|
||||
{
|
||||
@@ -1866,25 +1866,6 @@ namespace Volian.Controls.Library
|
||||
if (stepToCfg.MyEnhancedDocuments != null && stepToCfg.MyEnhancedDocuments.Count > 0 && stepToCfg.MyEnhancedDocuments[0].Type != 0) toSourceHasEnhancedLinks = true;
|
||||
}
|
||||
}
|
||||
// enhanced: if 'from' step is not enhanced, only allow paste before/after
|
||||
if (MyItemInfo.IsHigh && !MyItemInfo.IsEnhancedStep)
|
||||
{
|
||||
stepToCfg = MyItemInfo.MyConfig as StepConfig;
|
||||
if (stepToCfg.MyEnhancedDocuments != null && stepToCfg.MyEnhancedDocuments.Count > 0 && stepToCfg.MyEnhancedDocuments[0].Type != 0)
|
||||
{
|
||||
// Current selected step is source (i.e. has enhanced links to enhanced steps)
|
||||
// check if 'from' step is non. If so, allow paste before/after but not replace
|
||||
if (tmp.MyDisplayTabControl.MyCopyStep.IsHigh)
|
||||
{
|
||||
StepConfig fromCfg = tmp.MyDisplayTabControl.MyCopyStep.MyConfig as StepConfig;
|
||||
if (fromCfg != null && (fromCfg.MyEnhancedDocuments==null || fromCfg.MyEnhancedDocuments.Count==0))
|
||||
{
|
||||
btnPasteReplace.Enabled = btnCMPasteReplace.Enabled = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//copy item is high level step
|
||||
// Allow a High Level step to be pasted to a sub-step, but not to a table, figure, section or procedure type
|
||||
if (tmp.MyDisplayTabControl.MyCopyStep.IsHigh && (MyItemInfo.IsTable || MyItemInfo.IsFigure || MyItemInfo.IsSection || MyItemInfo.IsProcedure))
|
||||
|
@@ -409,7 +409,7 @@ namespace Volian.Print.Library
|
||||
else if (cai.Type > 20099) // B2020-054: Always put out 'Equation' (removed checking for null text)
|
||||
txt = "Equation";
|
||||
else
|
||||
txt = ItemInfo.ConvertToDisplayText(cai.Text);
|
||||
txt = ItemInfo.ConvertToDisplayText(cai.Text).Replace("Go to \u25cf", "Go to ?");
|
||||
if (MyProc.MyDocVersion.MultiUnitCount > 1)
|
||||
{
|
||||
System.Xml.XmlNode nd;
|
||||
@@ -1570,7 +1570,7 @@ namespace Volian.Print.Library
|
||||
else if (cai.Type > 20099)
|
||||
txt = "Equation";
|
||||
else
|
||||
txt = ItemInfo.ConvertToDisplayText(cai.Text);
|
||||
txt = ItemInfo.ConvertToDisplayText(cai.Text).Replace("Go to \u25cf", "Go to ?");
|
||||
// Add Parent/Child information if applicable
|
||||
// We were doing this for the Chronology report so I added the same logic here for the Summary report
|
||||
if (MyProc.MyDocVersion.MultiUnitCount > 1)
|
||||
|
Reference in New Issue
Block a user