package BookPub::Import::Importer::GrandCanyonUniv::Version2;

use strict;
use warnings;

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

sub _fieldMap {
    my $self = shift;

    my %fieldMap = (
        2 => {
            dateBegin  => 'O1',
            dateEnd    => 'O1',
            rAuthor    => 'E',
            rTitle     => 'D',
            rSubtitle  => 'D',
            rIsbn13    => 'K',
            rImprint   => 'I',
            rUnits     => 'O',
            rUnitPrice => 'N',
            rListPrice => 'M',
            rRevenue   => 'P',
        }
    );

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

sub rDiscount         { }
sub _headerIdentifier { rIsbn13 => 'Digital ISBN' }
sub rProductType      { BookPub::DB::Item::Sale::kProductTypeEBook }

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

sub rTitle {
    my $self = shift;

    my $rTitle = $self->_getByFieldName('rTitle') || '';
    ( $rTitle ) = split /\s*[:;]\s*/, $rTitle;

    return $rTitle;
}

sub rSubtitle {
    my $self = shift;

    my $rSubtitle = $self->_getByFieldName('rSubtitle') || '';
    ( $rSubtitle ) = $rSubtitle =~ /^.*[:;]\s?(.*)$/;

    return $rSubtitle;
}

sub rIsbn13 {
    my $self = shift;

    my $rIsbn13 = $self->_getByFieldName('rIsbn13') || '';
    return unless $rIsbn13 =~ /\d+/;

    return $rIsbn13;
}


1;
