public new void DesignerDrogAttachmentDelete( DesignerDrogAttachment entity )
        {
            // check permission: admin
            PrincipalPermission permReg = new PrincipalPermission( Thread.CurrentPrincipal.Identity.Name, "Registered" );
            PrincipalPermission permAdmin = new PrincipalPermission( Thread.CurrentPrincipal.Identity.Name, "Administrator" );
            permReg.Union( permAdmin ).Demand();

            TraceCallEnterEvent.Raise();
            try
            {
            FileDataContext fileDataContext = new FileDataContext();
            string ext = Path.GetExtension( entity.Path ).ToLower();
            string fileName = entity.ID.ToString() + ext;
            fileDataContext.DesignerDrogAttachmentDelete( entity.ItemRef, fileName );
            base.DesignerDrogAttachmentDelete( entity );

            BusinessAuditEvent.Success();
            TraceCallReturnEvent.Raise();
            return;
            }
            catch (Exception ex)
            {
            ExceptionManager.Publish( ex );
            BusinessAuditEvent.Fail(
              new EventParameter( "Exception", ex.ToString() )
              );
            TraceCallReturnEvent.Raise( false );
            throw;
            }
        }