package BookPub::Import::Importer::CourseSmart::Version5;

use strict;

use Date::Calc qw(Days_in_Month);
use Data::Dumper;

use lib '/app/tools/common/lib';
use Common::Util;
use Common::Consts;
use Common::Log;

use lib '/app/tools/data_classes/lib';

use lib '/app/tools/bookpub/lib';
use BookPub::DB::Item::Sale;
use BookPub::Import::SaleRec;
use base 'BookPub::Import::Importer';

sub _fieldMap {
    {
        dateBegin  => 'C',
        isbn       => 'J',
        rIsbn10    => 'I',
        rTitle     => 'O',
        rAuthor    => 'P',
        rImprint   => 'Z',
        rListPrice => 'D',
        rRevenue   => 'F',
    };
}

sub _headerIdentifier { ( dateBegin => 'Transaction Date' ) }

sub purchaseType  { BookPub::DB::Item::Sale::kPurchaseTypeLoan }
sub priceType     { 'rrp' }
sub currencyCode  { 'USD' }
sub countryCode   { 'US' }
sub productType   { BookPub::DB::Item::Sale::kProductTypeEBook }
sub _dateFormat   { [ 'numerical_year_first', 'iso' ] }
sub _useIsSaleRec { 1 }
sub rFee          { 0.30 }
sub rUnits        { 1 }

sub rSales {
    my $self    = shift;
    my $revenue = $self->_getByFieldName('rRevenue');

    if ( $revenue >= 0 ) {
        return 1;
    } else {
        return 0;
    }
}

sub rReturns {
    my $self    = shift;
    my $revenue = $self->_getByFieldName('rRevenue');

    if ( $revenue < 0 ) {
        return 1;
    } else {
        return 0;
    }
}

sub rRevenue {
    my $self    = shift;
    my $revenue = $self->_getByFieldName('rRevenue');
    my $fee     = $self->rFee();

    return $revenue * ( 1 - $fee );
}

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