package BookPub::Import::Importer::EntitleBooks;

use strict;

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

use Date::Calc qw( Add_Delta_YM );

sub _headerIdentifier { ( rIsbn13 => 'ISBN' ) }

sub _fieldMap {
    my $self = shift;

    my %fieldMap = (
        1 => {
            countryCode => 'D',
            dateBegin   => 'C1',
            dateEnd     => 'C1',
            rIsbn13     => 'A',
            rTitle      => 'B',
            rUnits      => 'E',
            rListPrice  => 'F',
            rRevenue    => 'I',

        },
    );

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

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

sub _getDateBegin {
    my $self = shift;
    my $date = $self->_getByFieldName('dateBegin') || return;

    if ( $date && $date =~ /From (\d{2})\/(\d{2})\/(\d{4})/i ) {
        my $month = $1;
        my $day   = $2;
        my $year  = $3;
        return sprintf( "%04d-%02d-%02d", $year, $month, $day );

    }
}

sub _getDateEnd {
    my $self = shift;
    my $date = $self->_getByFieldName('dateEnd') || return;

    if ( $date && $date =~ /to (\d{2})\/(\d{2})\/(\d{4})/i ) {
        my $month = $1;
        my $day   = $2;
        my $year  = $3;
        return sprintf( "%04d-%02d-%02d", $year, $month, $day );

    }
}

1;
