# This importer has been depricated because we can not find any original import
# files to use as samples.  It can be deleted eventually.  2010-10-08
#

package BookPub::Import::Importer::IngramDigital::IngramDigital1;

use strict;

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

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

sub _importLines {
    my $self = shift;
    my %args = @_;
    my $saleCount;

    my ($dateStr) = $args{sheet_names}->[0] =~ m/\s(\w+\D\d+)/;
    my ( $dateBegin, $dateEnd ) = $self->_getDates( date_begin => $dateStr );
    unless ( $dateBegin and $dateEnd ) {
        $self->errstr('invalid date');
        Common::Log::Print("invalid date string: '$dateStr'");
        return undef;
    }

    my $fieldMap = $self->_getFieldMap();

    my $lines = $args{lines};
    for ( my $i = 1 ; $i < scalar @$lines ; $i++ ) {
        my $isbn = $lines->[$i][ $fieldMap->{isbn} ];
        unless ( $isbn =~ /^\d+$/ ) {
            Common::Log::Print("skip line $i - isbn: '$isbn'");
            next;
        }

        my $title     = $lines->[$i][ $fieldMap->{title} ];
        my $author    = $lines->[$i][ $fieldMap->{author} ];
        my $listPrice = $lines->[$i][ $fieldMap->{listPrice} ];
        my $discount  = $lines->[$i][ $fieldMap->{discount} ];
        my $currency  = $lines->[$i][ $fieldMap->{currency} ];
        my $units     = $lines->[$i][ $fieldMap->{units} ];
        my $revenue   = $lines->[$i][ $fieldMap->{revenue} ];

        my $saleRec = BookPub::Import::SaleRec->new();

        # defaults
        $saleRec->countryCode('US');
        $saleRec->productType(BookPub::DB::Item::Sale::kProductTypeAudioBook);
        $saleRec->purchaseType(BookPub::DB::Item::Sale::kPurchaseTypeDownload);
        $saleRec->formatType(BookPub::DB::Item::Sale::kFormatTypeAudioUnknown);

        $saleRec->lineNum( $i + 1 );
        $saleRec->dateBegin($dateBegin);
        $saleRec->dateEnd($dateEnd);

        $saleRec->units($units);
        $saleRec->listPrice($listPrice);
        $saleRec->discount( BookPub::Import::Importer::CalculateDiscount( $revenue, $listPrice ) );
        $saleRec->unitPrice( $revenue / $units ) if $units;
        $saleRec->revenue($revenue);
        $saleRec->currencyCode($currency);

        $saleRec->rIsbn13($isbn);
        $saleRec->rTitle($title);
        $saleRec->rAuthor($author);
        $saleRec->rUnits($units);
        $saleRec->rListPrice($listPrice);
        $saleRec->rDiscount($discount);
        $saleRec->rRevenue($revenue);

        #$args{dumper}($saleRec);
        $self->_insertSale( sale => $saleRec );
        $saleCount++;
    }

    return $saleCount;
}

1;
