package BookPub::Import::Importer::GrandCanyonUniv::Version3;

use strict;
use warnings;

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

sub _fieldMap {
    my $self = shift;

    my %map = (
        3 => {
            dateBegin        => 'P1',
            dateEnd          => 'P1',
            rAuthor          => 'E',
            rTitle           => 'D',
            rSubtitle        => 'D',
            rIsbn13          => 'K',
            rImprint         => 'I',
            rUnits           => 'P',
            rUnitPrice       => 'O',
            rListPrice       => 'N',
            rRevenue         => 'Q',
            rClientProductID => 'L',
        },
        4 => {
            dateBegin        => 'P1',
            dateEnd          => 'P1',
            rAuthor          => 'E',
            rTitle           => 'D',
            rSubtitle        => 'D',
            rIsbn13          => 'K',
            rImprint         => 'I',
            rUnits           => 'P',
            rUnitPrice       => 'O',
            rListPrice       => 'N',
            rRevenue         => 'Q',
            rClientProductID => 'L',
        },
    );

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

sub rClientProductID {
    my $self = shift;

    my $id = $self->_getByFieldName('rClientProductID') || "";
    $id =~ s/-\s?custom//ig;
    $id =~ s/\s?Billing\s?//ig;
    $id =~ s/^\s*|\s$//g;

    return $id;
}

sub _isSaleRec {
    my $self = shift;

    return ( $self->rRevenue || $self->rUnits ) && $self->rTitle ? 1 : 0;
}

sub isFree {
    my $self = shift;

    return !$self->rRevenue && $self->rUnits ? 'Y' : 'N';
}

1;
