package BookPub::Import::Importer::AIDC::Base;

use strict;

use lib '/app/tools/common/lib';
use Common::Country;

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

sub serviceID {
    my $self            = shift;
    my $clientServiceID = $self->_getByFieldName('serviceID');
    my $description     = $self->_getByFieldName('_description');

    if ( $clientServiceID == 48594 || $description =~ /^AUTHOR BULK SALES$/i ) {
        return BookPub::Tracker::Service::AIDC_AUTHOR();
    }
    elsif ( $clientServiceID == 48440 ) {
        return BookPub::Tracker::Service::AIDC_CONSUMER();
    }
    elsif ( $clientServiceID == 2926 ) {
        return BookPub::Tracker::Service::AIDC_PROMOTIONAL();
    }
    elsif ( $clientServiceID == 48596 ) {
        return BookPub::Tracker::Service::AIDC_DISTRIBUTOR();
    }
    elsif ( $clientServiceID == 48593 ) {
        return BookPub::Tracker::Service::AIDC_TEXTBOOKS();
    }
    elsif ( $clientServiceID == 48595 ) {
        return BookPub::Tracker::Service::AIDC_SPECIAL();
    }
    else {
        $self->fail("Unknown client service id: $clientServiceID");
        return;
    }
}

sub countryCode {
    my $self = shift;
    my $code = $self->_getByFieldName('countryCode');

    if ( length($code) == 0 || !defined $code ) {
        return 'US';
    } else {
        my $countryObj = Common::Country->Get($code) || $self->fail("Unknown country code '$code'");
        return $countryObj->alpha2();
    }
}

###
1;    # Play nicely.
###
