public void Close()
{
if ( !m_Valid )
return;
m_From.Mobile.Send( new CloseSecureTrade( m_From.Container ) );
m_To.Mobile.Send( new CloseSecureTrade( m_To.Container ) );
m_Valid = false;
NetState ns = m_From.Mobile.NetState;
if ( ns != null )
ns.RemoveTrade( this );
ns = m_To.Mobile.NetState;
if ( ns != null )
ns.RemoveTrade( this );
Timer.DelayCall( TimeSpan.Zero, delegate{ m_From.Container.Delete(); } );
Timer.DelayCall( TimeSpan.Zero, delegate{ m_To.Container.Delete(); } );
}