/**
  * update order points for member
  * both they points they earned and the points they spent
  * @param DataObject $order Order
  * @return Boolean
  **/
 public function doStep($order)
 {
     if (!DataObject::get_one("OrderStep_UpdateMemberPoints_Log", "\"OrderID\" = " . $order->ID)) {
         $member = $order->Member();
         $before = $member->PointsBalance;
         $member->PointsBalance += $order->PointsTotal;
         $member->PointsBalance -= $order->RewardsTotal;
         $member->write();
         $log = new OrderStep_UpdateMemberPoints_Log();
         $log->Before = $before;
         $log->PointsTotal = $order->PointsTotal;
         $log->RewardsTotal = $order->RewardsTotal;
         $log->After = $member->PointsBalance;
         $log->OrderID = $order->ID;
         $log->MemberID = $order->MemberID;
         $log->write();
     }
     return TRUE;
 }