#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Statement::Artist::LicenseIncomeItemList;

use strict;
use Carp;
use Data::Dumper;

use lib '/app/tools/common/lib';
use Common::Timer;

use lib '/app/tools/rps/lib';
use RPS::Statement::Artist::LicenseIncomeItem;
use RPS::DB::Item::ArtistRoyaltyLicenseIncomeItem;

use Common::FormObject;
use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;
    my $timer = Common::Timer->new();

    $self->SUPER::_init(%args);

    my $albumID          = $args{albumID};
    my $statementID      = $args{artistRoyaltyStatementID};
    my $artistContractID = $args{artistContractID};

    $self->{IncomeItem} = [];

    my $collection;
    if ($artistContractID) {
        $collection =
          RPS::DB::Item::ArtistRoyaltyLicenseIncomeItem->GetByAlbumStatementContract( $albumID, $statementID, $artistContractID );
    } else {
        $collection = RPS::DB::Item::ArtistRoyaltyLicenseIncomeItem->GetByAlbumAndStatement( $albumID, $statementID );
    }

    while ( $collection->hasNext() ) {
        my $obj = $collection->next();

        push @{ $self->{LicenseIncomeItem} }, RPS::Statement::Artist::LicenseIncomeItem->new( _dbItem => $obj );
    }

    # Sort by track title.
    #
    #@{$self->{IncomeItem}} = sort { $a->TrackName() cmp $b->TrackName() } @{$self->{IncomeItem}};

    return $self;
}

sub getList {
    my ($self) = @_;

    return $self->{LicenseIncomeItem};
}

1;
