#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Statement::Label::StatementFull;

use Date::Calc;

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

#use Common::DiskCache;

use lib '/app/tools/rps/lib';

use RPS::Label;
use RPS::Payor::Payor;
use RPS::Statement::Label::StatementLabelList;
use RPS::Statement::Label::StatementTransactionList;
use RPS::DB::Item::LabelRoyaltyStatement;
use RPS::DB::Item::LabelPayee;

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

sub _initProperties {
    my ( $self, $props ) = @_;

    $self->SUPER::_initProperties($props);

    $self->{LabelStatementLabelList} =
      RPS::Statement::Label::StatementLabelList->new( labelRoyaltyStatementID => $props->{label_royalty_statement_id} );

    $self->{LabelStatementTransactionList} =
      RPS::Statement::Label::StatementTransactionList->new( labelRoyaltyStatementID => $props->{label_royalty_statement_id} );

    $self->{Payor} = RPS::Payor::Payor->new( payorID => $props->{payor_id}, loadSubs => 0 );

    my $grossSalesTotal = 0;
    my $feeTotal        = 0;

    my $list = $self->{LabelStatementLabelList}->getList();
    if ( defined $list ) {
        foreach my $labelItem (@$list) {
            $grossSalesTotal += $labelItem->GrossSales();
            $feeTotal        += $labelItem->Fee();
        }
    }
    $self->{GrossSalesTotal} = Common::FormObject::Scalar::Money->new( value => $grossSalesTotal );
    $self->{FeeTotal}        = Common::FormObject::Scalar::Money->new( value => $feeTotal );
}

###
1;    #
###
