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

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

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

sub cmd  { return 'ca_mechanical_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::CAMechanicalReservePipeline->new( page => $page, runID => $runID, regionID => $regionID );
}

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

sub _getXML {
    my ( $self, $xml, $page ) = @_;
    my $runID = $self->getParam('run_id');

    my $regionList = RPS::DB::Item::ReportQueries::CAMechanicalReservePipeline->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;

