#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Report::Command::ArtistReservePipeline;
use strict;
use warnings;


use lib '/app/tools/rps/lib';
use RPS::Report::ArtistReservePipeline;
use RPS::Report::Command::BaseReport;

use base 'RPS::Report::Command::BaseReport';

sub cmd  { return 'artist_reserve_pipeline'; }
sub area { return 'report'; }

sub _getReport
{
    my ($self, $page) = @_;

    my $runID = $self->getParam('run_id');
    my $regionID = $self->getParam('region_id');
    return RPS::Report::ArtistReservePipeline->new(page => $page, runID => $runID, regionID => $regionID);
}


sub _getFilenamePrefix
{
    my ($self) = @_;
    my $runID = $self->getParam('run_id');
    return "Reserve_Pipeline_Artist_Run_$runID";
}


sub _getXML
{
    my ($self, $xml, $page) = @_;
    my $runID = $self->getParam('run_id');
        
		my $regionList = RPS::DB::Item::ReportQueries::ArtistReservePipeline->GetDistinctRegions($runID);
		
    while (my $region = $regionList->next())
    {
        push @{$self->{xml}{RegionList}->{Region}}, _dataToHash($region);
    }		
    
    return $self->SUPER::_getXML($xml, $page);
}

sub _dataToHash
{
    my ($data) = @_;

    my %hash;
    $hash{Name}      			= $data->region_name;
    $hash{RegionID}      				= $data->region_id;
    
    return \%hash;
}

1;

