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

use lib '/app/tools/common/lib';
use RSApache::Response::XSLT;
use RSApache::Response::XSLTDownload;
use Common::FormObject;

use lib '/app/tools/rps/lib';
use RPS::Mechanical::CA::MechanicalRun;
use RPS::DB::Item::CAMechanicalRun;
use RPS::Mechanical::Command::Show;
use base 'RPS::Mechanical::Command::Show';

sub cmd  { return 'show'; }
sub area { return 'ca_mechanical'; }

sub _template     { return "/app/tools/rps/templates/ca_mechanical/show.xsl"; }
sub _textTemplate { return "/app/tools/rps/templates/ca_mechanical/text/show.xsl"; }

use constant MAX_PAGE_SIZE => 1_000_000_000;
use constant STICKY_PREFIX => 'pe_' . __PACKAGE__->area() . '_';
use constant STICKY_PARAMS => {
    pageSize => 100,
};

sub _maxPageSize       { MAX_PAGE_SIZE }
sub _stickyParamPrefix { STICKY_PREFIX }
sub _stickyParams      { STICKY_PARAMS }

sub _getRunXML {
    my ( $self, $runID, $payorID, $filterBy, $page, $pageSize ) = @_;
    return RPS::Mechanical::CA::MechanicalRun->new(
        mechanicalRunID => $runID,
        payorID         => $payorID,
        filterBy        => $filterBy,
        page            => $page,
        pageSize        => $pageSize,
    );
}

sub _getRunDBItem {
    my ( $self, $runID ) = @_;
    return RPS::DB::Item::CAMechanicalRun->Lookup( ca_mechanical_run_id => $runID );
}

sub _getRunLabel {
    my ( $self, $run ) = @_;
    return RPS::Mechanical::CA::MechanicalRun::GenerateFileLabel($run);
}


1;
