#------------------------------------------------------------
# Copyright (C) 2009 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package Support::SaleImporter::SaleImporter;

use strict;
use warnings;
use Carp;

use lib '/app/tools/rps/lib';
use RPS::Import::Service;

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

use lib '/app/tools/support/lib';
use Support::DB::Item::Client;

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

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

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

    if ( $args{serviceID} && $args{version} ) {
        return $self->_initFromArgs( $args{serviceID}, $args{version} );
    } else {
        return undef;
    }
}

sub _initFromArgs {
    my ( $self, $serviceID, $version ) = @_;

    Common::Log::Debug("ID: $serviceID");
    Common::Log::Debug("Version: $version");

    return $self->_initProperties( { serviceID => $serviceID, version => $version } );
}

sub _initProperties {
    my ( $self, $prop ) = @_;

    $self->{ServiceID} = $prop->{serviceID};
    $self->{Version}   = $prop->{version};
    $self->{Status}    = $self->_getStatus();

    my $importers = $self->_getImporters();
    $self->{Importer} = $importers->{ $self->Version() };

    return $self;
}

sub _getImporters { die; }

1;
