package BookPub::Import::Importer::Gale::v2;

use strict;

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

sub _fieldMap {
    {
        dateBegin      => 'A',
        dateEnd        => 'B',
        rProductType   => 'E',
        rTitle         => 'C',
        rIsbn13        => 'D',
        rUnits         => 'G',
        rPurchasePrice => 'F',
        rRevenue       => 'H',
    }
}

sub _headerIdentifier { ( rTitle => 'Title' ) }
sub _useIsSaleRec     { 1 }
sub priceType         { 'rrp' }
sub purchaseType      { BookPub::DB::Item::Sale::kPurchaseTypeDownload }
sub currencyCode      { 'USD' }
sub countryCode       { 'US' }
sub rPurchasePriceCurrency { 'USD' }

sub rUnits {
    my $self    = shift;
    my $units   = $self->_getByFieldName('rUnits');
    my $revenue = $self->rRevenue;

    if ( ( $revenue < 0 && $units > 0 ) || ( $revenue > 0 && $units < 0 ) ) {
        $units *= -1;
    }

    return $units;
}

sub productType {
    my $self = shift;

    my $type = $self->rProductType;

    return BookPub::DB::Item::Sale::kProductTypeEBook if $type =~ /^Ebooks$/i;

    $self->fail("Could not determine product type from $type");
}

1;
