package BookPub::Import::Importer::Odilo::Version3;

use strict;

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

sub rServiceName { 'Odilo' }

sub priceTypeQualifierID {
    my $self = shift;

    my $priceTypeQualifier = $self->_getByFieldName('priceTypeQualifierID') || '';
    if ( $priceTypeQualifier =~ /Library/i  ) {
        return BookPub::DB::Item::PriceTypeQualifier::kCorporate;
    }

    $self->fail("Can't recognize priceTypeQualifier from: '$priceTypeQualifier'.");
}

sub currencyCode {
    my $self = shift;
    my $currency = $self->_getByFieldName('currencyCode') || return;

    # currencyCode format: Net Sale (CCC) where CCC is the currency code
    #
    if ( $currency =~ / \((\w{3})\)/i ) {
        $currency = $1;
    }

    return $currency;
}

sub rListPriceCurrency {
    my $self = shift;
    my $currency = $self->_getByFieldName('rListPriceCurrency') || return;

    # currencyCode format: DLP (CCC) where CCC is the currency code
    #
    if ( $currency =~ / \((\w{3})\)$/i ) {
        $currency = $1;
    }

    return $currency;
}

sub priceType {
    my $self = shift;

    my $clientID = Common::RSApp::GetClientID;
    return 'rrp' if $clientID =~ /^(?:346|324|335|310|318)$/;

    $self->fail("Price Type not set for this client");
}

1;
