protected void Page_Command(object sender, CommandEventArgs e)
 {
     try
     {
         Guid gID = Sql.ToGuid(e.CommandArgument);
         if (e.CommandName == "Relationships.MoveUp")
         {
             if (Sql.IsEmptyGuid(gID))
             {
                 throw(new Exception("Unspecified argument"));
             }
             SqlProcs.spDETAILVIEWS_RELATIONSHIPS_MoveUp(gID);
         }
         else if (e.CommandName == "Relationships.MoveDown")
         {
             if (Sql.IsEmptyGuid(gID))
             {
                 throw(new Exception("Unspecified argument"));
             }
             // 09/08/2007 Paul.  The name is not MoveDown because Oracle will truncate to 30 characters
             // and we need to ensure there is no collision with MoveUp.
             SqlProcs.spDETAILVIEWS_RELATIONSHIPS_Down(gID);
         }
         else if (e.CommandName == "Relationships.Disable")
         {
             if (Sql.IsEmptyGuid(gID))
             {
                 throw(new Exception("Unspecified argument"));
             }
             SqlProcs.spDETAILVIEWS_RELATIONSHIPS_Disable(gID);
         }
         else if (e.CommandName == "Relationships.Enable")
         {
             if (Sql.IsEmptyGuid(gID))
             {
                 throw(new Exception("Unspecified argument"));
             }
             SqlProcs.spDETAILVIEWS_RELATIONSHIPS_Enable(gID);
         }
         // 01/04/2005 Paul.  If the list changes, reset the cached values.
         SplendidCache.ClearDetailViewRelationships("vwMODULES_TabMenu");
         DETAILVIEWS_RELATIONSHIPS_BindData(true);
     }
     catch (Exception ex)
     {
         SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex);
         lblError.Text = ex.Message;
     }
 }