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

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

use lib '/app/tools/common/lib';

use lib '/app/tools/rps/lib';
use RPS::Statement::Artist::IncomeItem;
use RPS::DB::Item::ArtistRoyaltyIncomeItem;

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

sub _init
{
    my ($self, %args) = @_;

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

	my $royaltyAlbumID = $args{artistRoyaltyAlbumID};

    $self->{IncomeItem} = [];
	if ($royaltyAlbumID)
	{
        my $collection = RPS::DB::Item::ArtistRoyaltyIncomeItem->GetByArtistRoyaltyAlbumID($royaltyAlbumID);

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

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

        # Sort by track title.
        #
        @{$self->{IncomeItem}} = sort 
        { 
            my $r = $a->TrackName() cmp $b->TrackName();
            if (! $r)
            {
                $r = $a->IncomeSourceID() cmp $b->IncomeSourceID();
            }
            if (! $r)
            {
                $r = $a->RegionID() cmp $b->RegionID();
            }

            $r;
        } @{$self->{IncomeItem}};
	}

    return $self;
}


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

    return $self->{IncomeItem};
}

1;
