#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::Catalog::SearchResults::Albums;

use strict;
use warnings;
use Data::Dumper;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::Album;
use RPS::DB::Item::AlbumContract;
use RPS::Catalog::Album;

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


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

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

	my $contractID = $args{contractID};
	my $artistID = $args{artistID};
	my $query = $args{query};
    $self->{Album} = [];

	my $albumCollection;
	if($query)
	{
		$albumCollection = RPS::DB::Item::Album->SearchTitleAndCatalogNumber(searchTerm => $args{query}, limit => $args{limit}, contractID => $args{contractID});

	}
	elsif($contractID)
	{
		$albumCollection = RPS::DB::Item::AlbumContract::GetByContractID($contractID);

	}
	elsif($artistID)
	{
		$albumCollection = RPS::DB::Item::Album->GetByArtistID($artistID);
	}
	else
	{
		$albumCollection = RPS::DB::Item::Album->GetAll();
	}


	while ($albumCollection && $albumCollection->hasNext())
	{
		my $albumObj = $albumCollection->next();
		push @{$self->{Album}}, RPS::Catalog::Album->new(albumID => $albumObj->album_id, loadSubs => 0);
	}

    return $self;
}


sub _listProperties
{
    return
    {
        Album => 1
    };
}


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

	return $self->{Album};
}

1;
