Reduced debug output for external transtion issues.

Added processing status output for Deletes
This commit is contained in:
Rich 2015-08-12 22:15:45 +00:00
parent 312b0e4e2d
commit efe327a28f
3 changed files with 68 additions and 10 deletions

View File

@ -190,12 +190,10 @@ 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
Console.WriteLine("AnnotationExt: Stacktrace = {0}", ex.StackTrace);
throw new DbCslaException("Error on Annotation.Delete", ex);
}
}

View File

@ -1261,12 +1261,10 @@ 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
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);
}

View File

@ -19,6 +19,8 @@ namespace Volian.Controls.Library
{
#region DelegatesAndEventArgs
public delegate void vlnTreeViewEvent(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);
@ -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"))