#---------------------------------------------------------------
# ____                   _ _         ____  _                    
#|  _ \ ___  _   _  __ _| | |_ _   _/ ___|| |__   __ _ _ __ ___ 
#| |_) / _ \| | | |/ _` | | __| | | \___ \| '_ \ / _` | '__/ _ \
#|  _ < (_) | |_| | (_| | | |_| |_| |___) | | | | (_| | | |  __/
#|_| \_\___/ \__, |\__,_|_|\__|\__, |____/|_| |_|\__,_|_|  \___|
#            |___/             |___/                            
#
# Copyright (C) 2007 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#---------------------------------------------------------------

package RPS::DB::Item::CAMechanicalStatementLicenseTransaction;
use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::Assert;
use Common::DB::Item;
use base 'Common::DB::Item';

use constant kTable => 'ca_mechanical_statement_license_transaction';
use constant kDB => Common::DB::Item::kClientDB();



sub GetByMechanicalStatementLicenseID
{
    my ($class, $id) = @_;
    assert($id);

    my $sql = "SELECT * FROM " . kTable
            . " WHERE ca_mechanical_statement_license_id=$id";
    return $class->GetAll($sql);
}



# !!! It will be most convenient to delete based on the statement id, rather
# !!! than the statement license id.  However, this won't work if you delete the
# !!! statement first...
#
sub DeleteByMechanicalStatementID
{
    my ($class, $id) = @_;

	my $sql = "DELETE from " . kTable . " WHERE ca_mechanical_statement_license_id in "
     . " (select ca_mechanical_statement_license_id from ca_mechanical_statement_license where ca_mechanical_statement_id=$id)";
	my $dbo = Common::RSApp::GetClientDB();
    $dbo->DoCmd($sql);
}


sub GetByMechanicalStatementID
{
    my ($class, $id) = @_;
    my $sql = "SELECT * FROM ".kTable." WHERE ca_mechanical_statement_license_id IN "
     . "(SELECT ca_mechanical_statement_license_id FROM ca_mechanical_statement_license where ca_mechanical_statement_id=$id)";

    return $class->GetAll($sql);
}
1;
