#------------------------------------------------------------
# Copyright (C) 2009 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------

package RPS::Mechanical::UK::Process::CreateStatement::Mcps::AVP;

use strict;
use lib '/app/tools/rps/lib';
use RPS::Mechanical::UK::Process::CreateStatement;
use RPS::DB::Item::SaleRunMap;
use RPS::DB::Item::McpsLicense;

use base 'RPS::Mechanical::UK::Process::CreateStatement::Mcps';

sub _licenseTypeMatches {
    my ( $self, $license ) = @_;

    if ( $license->dvd_category() eq RPS::DB::Item::McpsLicense::kDVDCategoryAVP ) {
        return 1;
    }

    return undef;
}

sub _getSaleIDs {
    my ($self) = @_;
    my $run = $self->_getRunDBItem();

    my $sales = Raptor::DB::Item::Sale->GetUnprocessedAVPSaleIDs( ending_sale_date => $run->ending_sale_date() );

    return $self->_getUnprocessedSales($sales);
}

sub _getProcessedSales {
    my ($self) = @_;
    my %hash;

    return RPS::DB::Item::SaleRunMap->GetPaidUKMechanicalAVP();
}

sub _getAllPossibleLicenses {
    my ($self) = @_;

    # Return ALL DVD1 licenses.
    #
    return RPS::DB::Item::McpsLicense->GetAllAVPLicenses( payorID => $self->_payorID() );
}

sub _exportAllowance {
    my ($self) = @_;

    return 100;
}

1;
