diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs index 375cb7ac..6b567049 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/AnnotationExt.cs @@ -190,13 +190,11 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace); System.Data.SqlClient.SqlException exSQL = SqlException(ex); if (exSQL != null && exSQL.Message.Contains("###Cannot Delete Item###")) - //return false; throw exSQL; - else - throw new DbCslaException("Error on Annotation.Delete", ex); + Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace); + throw new DbCslaException("Error on Annotation.Delete", ex); } } private static System.Data.SqlClient.SqlException SqlException(Exception ex) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs index 16ac84ba..d2e568b6 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemInsertExt.cs @@ -1261,13 +1261,11 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - Console.WriteLine("ItemInsertExt: Stacktrace = {0}", ex.StackTrace); System.Data.SqlClient.SqlException exSQL = SqlException(ex); if (exSQL != null && exSQL.Message.Contains("###Cannot Delete Item###")) - //return false; throw exSQL; - else - throw new DbCslaException("Error on Item.DeleteItemAndChildren", ex); + Console.WriteLine("ItemInsertExt: Stacktrace = {0}", ex.StackTrace); + throw new DbCslaException("Error on Item.DeleteItemAndChildren", ex); } //_MyTimer.ShowElapsedTimes("DeleteItemAndChildren"); } @@ -1319,7 +1317,8 @@ namespace VEPROMS.CSLA.Library } catch (Exception ex) { - if (_MyLog.IsErrorEnabled) _MyLog.Error("Item.DataPortal_Delete", ex); + if (_MyLog.IsErrorEnabled && !ex.Message.Contains("###Cannot Delete Item###")) + _MyLog.Error("Item.DataPortal_Delete", ex); _ErrorMessage = ex.Message; throw new DbCslaException("Item.DataPortal_Delete", ex); } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index eb1a4aca..871cf09f 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -19,7 +19,9 @@ namespace Volian.Controls.Library { #region DelegatesAndEventArgs public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args); - public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); + public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args); + public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args); + public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); @@ -84,6 +86,47 @@ namespace Volian.Controls.Library _MyWatermark = watermark; } } + public partial class vlnTreeTimeEventArgs + { + private TimeSpan _myTimeSpan; + public TimeSpan MyTimeSpan + { + get { return _myTimeSpan; } + set { _myTimeSpan = value; } + } + private string _MyMessage; + public string MyMessage + { + get { return _MyMessage; } + set { _MyMessage = value; } + } + public vlnTreeTimeEventArgs(DateTime dtStart, string message) + { + MyTimeSpan = TimeSpan.FromTicks(DateTime.Now.Ticks - dtStart.Ticks); + MyMessage = message; + } + } + public partial class vlnTreeStatusEventArgs + { + private bool _MyStatus; + public bool MyStatus + { + get { return _MyStatus; } + set { _MyStatus = value; } + } + private string _MyMessage; + public string MyMessage + { + get { return _MyMessage; } + set { _MyMessage = value; } + } + + public vlnTreeStatusEventArgs(bool status, string message) + { + MyStatus = status; + MyMessage = message; + } + } public partial class vlnTreeEventArgs { #region Business Methods @@ -2263,22 +2306,40 @@ namespace Volian.Controls.Library } private bool DeleteItemInfoAndChildren(ItemInfo ii) { + DateTime dtStart = DateTime.Now; try { // send an event to frmVeproms that sends an event to the stepeditor to // do delete using RTBItem - this manages windowing from the step editor. // If the procedure is open & you're deleting procedure, you want to close open // window - this is done in DisplayTabControl-DeleteStepTabItem. + OnProcessing(true,"Deleting"); if (!OnDeleteItemInfo(this, new vlnTreeItemInfoEventArgs(ii))) Item.DeleteItemAndChildren(ii); + OnProcessing(false,"Deleted"); + OnProcessingComplete(dtStart,"Deleted"); return true; } catch (System.Data.SqlClient.SqlException ex) { + OnProcessing(false,"Delete Failed"); + OnProcessingComplete(dtStart,"Delete Failed"); HandleSqlExceptionOnDelete(ex, ii); return false; } } + public event vlnTreeViewTimeEvent ProcessingComplete; + private void OnProcessingComplete(DateTime dtStart, string message) + { + if (ProcessingComplete != null) + ProcessingComplete(this, new vlnTreeTimeEventArgs(dtStart,message)); + } + public event vlnTreeViewStatusEvent Processing; + private void OnProcessing(bool status, string message) + { + if (Processing != null) + Processing(this, new vlnTreeStatusEventArgs(status,message)); + } private void HandleSqlExceptionOnDelete(System.Data.SqlClient.SqlException ex, ItemInfo ii) { if (ex.Message.Contains("has External Transitions and has no next step"))