#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::MapFace::SaleImportErrorList;

use strict;
use warnings;
use Data::Dumper;

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

use lib '/app/tools/raptor/lib';
use Raptor::DB::Item::Sale;

use lib '/app/tools/rps/lib';
use RPS::DB::Item::SaleImportError;
use RPS::MapFace::SaleImportError;
use RPS::File::Sale;

use Common::FormObject;
use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;

    $self->SUPER::_init(%args);

    my $fileID = $args{file_id};
    my $saleID = $args{sale_id};

    $self->{SaleImportError} = [];

    my $saleImportErrors;

    if ($fileID) {
        $saleImportErrors = RPS::DB::Item::SaleImportError->GetAllQualifyingByFileID($fileID);
    } elsif ($saleID) {
        $saleImportErrors = RPS::DB::Item::SaleImportError->GetAllQualifyingBySaleID($saleID);
    }

    my %importErrors;

    while ( $saleImportErrors->hasNext() ) {
        my $error = $saleImportErrors->next();

        # We only care about the sale import errors that have not been mapped yet.
        if ( $error->mapped eq 'Y' ) {

            #next();
        }

        push @{ $self->{SaleImportError} }, RPS::MapFace::SaleImportError->new( _dbItem => $error );
    }

    return $self;
}

sub _listProperties {
    return { SaleImportError => 1 };
}

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

    return $self->{SaleImportError};
}

1;
