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

use lib '/app/tools/common/lib';
use Common::Client;
use Common::Assert;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::MechanicalStatement;
use RPS::Publisher::US::Publisher;

use RPS::Statement::Mechanical::BaseStatement;
use base 'RPS::Statement::Mechanical::BaseStatement';



sub _propertiesFromDB
{
    my ($self, $hrProperties, $id) = @_;

    my $dbItem = RPS::DB::Item::MechanicalStatement->Lookup(mechanical_statement_id => $id);
    $self->_propertiesFromDBItem($hrProperties, $dbItem);
}


sub _propertiesFromDBItem
{
	my ($self, $hrProperties, $dbItem) = @_;

    assert($dbItem);

    $hrProperties->{mechanical_statement_id}    = $dbItem->mechanical_statement_id;
    $hrProperties->{mechanical_run_id}   		= $dbItem->mechanical_run_id;
    $hrProperties->{publisher_id}               = $dbItem->publisher_id;
    $hrProperties->{payor_id}                   = $dbItem->payor_id;
    $hrProperties->{start_date}                 = $dbItem->start_date;
    $hrProperties->{end_date}                   = $dbItem->end_date;
    $hrProperties->{status}                     = $dbItem->status;
    $hrProperties->{previous_advance_balance}   = $dbItem->previous_advance_balance;
    $hrProperties->{previous_balance}           = $dbItem->previous_balance;
    $hrProperties->{subtotal}                   = $dbItem->subtotal;
    $hrProperties->{transaction_subtotal}       = $dbItem->transaction_subtotal;
    $hrProperties->{statement_total}            = $dbItem->statement_total;
    $hrProperties->{amount_due}                 = $dbItem->amount_due;
    $hrProperties->{advance_balance}            = $dbItem->advance_balance;
    $hrProperties->{balance}                    = $dbItem->balance;
    $hrProperties->{applied_to_advance}         = $dbItem->applied_to_advance;
    $hrProperties->{applied_to_balance}         = $dbItem->applied_to_balance;
    $hrProperties->{date_created}               = $dbItem->date_created;
    $hrProperties->{date_modified}              = $dbItem->date_modified;
	$hrProperties->{created_by}                 = $dbItem->created_by;
	$hrProperties->{modified_by}                = $dbItem->modified_by;
    $hrProperties->{physical_subtotal}          = $dbItem->physical_subtotal;
    $hrProperties->{digital_subtotal}           = $dbItem->digital_subtotal;
    $hrProperties->{min_payment}                = $dbItem->min_payment;
    $hrProperties->{on_hold}                    = $dbItem->on_hold;
    $hrProperties->{version}                    = $dbItem->version;
}

sub _getCurrencyCode { return 'USD'; }

sub _getPublisher
{
    my ($self, $publisherID) = @_;
    return RPS::Publisher::US::Publisher->new(publisherID => $publisherID, loadSubs => 0, readOnly => 1);
}

###
1;#
###
