package BookPub::Import::Importer::Laureate;

use strict;
use Data::Dumper;

use lib '/app/tools/bookpub/lib';
use base 'BookPub::Import::Importer';

sub _headerIdentifier { ( rTitle => 'Publisher/Title' ) }

sub _fieldMap {
    my $self = shift;

    my %fieldMap = (
        1 => {
            dateBegin    => 'A',
            rTitle       => 'B',
            rIsbn13      => 'C',
            rInstitution => 'D',
            countryCode  => 'E',
            rUnits       => 'F',
            rUnitPrice   => 'G',
            rRevenue     => 'H',
        },
    );

    return $fieldMap{ $self->_version() };
}

sub _autoParseTitleAndSubtitle { 1 }
sub purchaseType               { BookPub::DB::Item::Sale::kPurchaseTypeSubscriptionDL }
sub productType                { BookPub::DB::Item::Sale::kProductTypeEBook }
sub priceType                  { 'rrp' }
sub currencyCode               { 'USD' }

sub _dateFormat { [ 'us', 'iso' ] }
sub _useIsSaleRec { 1 }

sub _processLine {
    my $self = shift;

    if (   !$self->dateBegin()
        && !$self->rTitle()
        && !$self->rIsbn13()
        && !$self->rUnitPrice() ) {

        $self->{_endOfData} = 1;
        return;
    }

    return $self->SUPER::_processLine(@_);
}

sub _isSaleRec {
    my $self = shift;

    # If we've set the end of data flag in processLine, we are done.
    return if ( $self->{_endOfData} );

    return if ( $self->rUnitPrice() eq 'Total' );

    return $self->SUPER::_isSaleRec();
}

1;
