#------------------------------------------------------------
# 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;
