#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Publisher::US::IndirectAccountForm;

use strict;
use warnings;

use lib '/app/tools/common/lib';
use Common::Assert;
use Common::Util;

use lib '/app/tools/rps/lib';
use RPS::Publisher::US::IndirectAccountList;
use RPS::Publisher::US::PublisherAccount;
use RPS::Publisher::US::Publisher;
use RPS::Publisher::US::IndirectPublisherAccount;
use RPS::RoyaltyRun::RoyaltyRunStatusList;
use RPS::DB::Item::TrackLicense;
use RPS::DB::Item::PublisherIndirectBalanceAccount;

use base 'RPS::Publisher::BaseIndirectAccountForm';

sub _publisherObj         { return "RPS::Publisher::US::Publisher"; }
sub _publisherAccount     { return "RPS::Publisher::US::IndirectPublisherAccount"; }
sub _publisherAccountDB   { return "RPS::DB::Item::PublisherIndirectBalanceAccount"; }
sub _royaltyRunStatusList { return RPS::RoyaltyRun::RoyaltyRunStatusList->new( usMechanical => 1 ); }
sub _trackLicense         { return "RPS::DB::Item::TrackLicense"; }
sub _accountList          { return "RPS::Publisher::US::IndirectAccountList"; }

sub GetNumIndirectLicenses {
    my ( $publisherID, $payorID ) = @_;

    my $collection = RPS::DB::Item::TrackLicense->GetIndirectByPublisherIDPayorID( $publisherID, $payorID );
    return $collection->size();
}

###
1;    #
###
