package BookPub::Import::Importer::WFHowes::v7;

use strict;
use warnings;

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

sub _fieldMap {
    {
        dateBegin            => 'I',
        dateEnd              => 'I',
        priceTypeQualifierID => 'G',
        rAuthor              => 'C',
        rTitle               => 'B',
        rIsbn13              => 'E',
        rInstitution         => 'G',
        countryCode          => 'H',
        serviceProductID     => 'J',
        rUnits               => 'P',
        rListPrice           => 'M',
        rListPriceCurrency   => 'L',
        rRevenue             => 'Q',
        currencyCode         => 'L',
    };
}

sub _unverifiedFieldMap {
    {
        rAuthorExtra => 'D',
        rIsbn13Extra => 'F',
    };
}

sub _headerIdentifier { rIsbn13 => 'ISBN' }

sub _useIsSaleRec        { 1 }
sub priceType            { 'rrp' }
sub purchaseType         { BookPub::DB::Item::Sale::kPurchaseTypeSubscriptionDL }
sub productType          { BookPub::DB::Item::Sale::kProductTypeEBook }
sub rProductType         { BookPub::DB::Item::Sale::kProductTypeEBook }
sub priceTypeQualifierID { BookPub::DB::Item::PriceTypeQualifier::kCorporate }

sub rServiceName {
    return BookPub::Tracker::Service::GetDefaultServiceName( service_id => shift->serviceID );
}

sub rAuthor {
    my $self = shift;

    my $main  = $self->_getByFieldName('rAuthor')      || '';
    my $extra = $self->_getByFieldName('rAuthorExtra') || '';

    return "$main$extra";
}

sub rIsbn13 {
    my $self = shift;

    my $main  = $self->_getByFieldName('rIsbn13')      || '';
    my $extra = $self->_getByFieldName('rIsbn13Extra') || '';

    return "$main$extra";
}

sub _isSaleRec {
    my $self = shift;

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


1;
