#------------------------------------------------------------
# Copyright (C) 2009 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package BookPub::Tracker::FileList::NewFiles;

use strict;
use warnings;
use Carp;

use Data::Dumper;

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

use lib '/app/tools/bookpub/lib';
use BookPub::DB::Item::File;
use BookPub::DB::Item::Sale;

use base 'BookPub::Tracker::FileList';

sub _itemTag {
    my ($self) = @_;
    return 'NewFile';
}

sub _getItemCollection {
    my ($self) = @_;

    #return BookPub::DB::Item::File->GetByPeriodID
    my $files = BookPub::DB::Item::File->GetByPeriodID(
        $self->{periodID},
        file_status => [
            BookPub::DB::Item::File::STATUS_NEW,      BookPub::DB::Item::File::STATUS_PROCESSING,
            BookPub::DB::Item::File::STATUS_IN_QUEUE, BookPub::DB::Item::File::STATUS_INVALID,
        ],
        sort_by     => 'date_created',
        sort_desc   => 1
    );

    my @fileItems = ();
    while ( my $fItem = $files->next() ) {
        $fItem->records( BookPub::DB::Item::Sale->GetImportingRecordCount( $fItem->file_id ) )
          if ( $fItem->file_status == BookPub::DB::Item::File::STATUS_PROCESSING );
        push @fileItems, $fItem;
    }

    return ( $files, \@fileItems );
}

1;
