#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::DB::Item::CAMechanicalStatementTrack;
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_track';
use constant kDB => Common::DB::Item::kClientDB();




sub GetByMechanicalStatementIDPublisherID
{
    my ($class, $stmtID, $publisherID) = @_;
    assert($stmtID);
    assert($publisherID);

    my $sql = "SELECT * FROM " . kTable
            . " WHERE ca_mechanical_statement_id=$stmtID"
            . " AND ca_publisher_id=$publisherID";

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



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

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


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

	my $sql = "DELETE FROM " . kTable . " WHERE ca_mechanical_statement_id=$id";
	my $dbo = Common::RSApp::GetClientDB();
    $dbo->DoCmd($sql);
}

sub GetSortedByMechanicalStatementIDPublisherID
{
    my ($class, $stmtID, $publisherID) = @_;
    assert($stmtID);
    assert($publisherID);

    my $sql = "SELECT * FROM ca_mechanical_statement_track, track"
            . " WHERE ca_mechanical_statement_id=$stmtID"
            . " AND ca_publisher_id=$publisherID"
            . " AND ca_mechanical_statement_track.track_id = track.track_id"
            . " ORDER BY track.title";

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

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

	my $sql = "SELECT * FROM ca_mechanical_statement_track, track WHERE ca_mechanical_statement_id=$id and ca_mechanical_statement_track.track_id = track.track_id ORDER BY track.title";

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



1;
