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

use strict;
use warnings;

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

use lib '/app/tools/rps/lib';
use RPS::DB::Item::Service;
use RPS::Product::DistributionService;

use lib '/app/tools/distribution/lib';
use Distribution::DB::Item::DistributionService;

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

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

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

    $self->{DistributionService} = [];
	my $serviceCollection = Distribution::DB::Item::DistributionService->GetAllClientServices(
							    Common::RSApp::GetClientID(), include_non_configured => 1 );

    # !!! We require there to be a list of services.
    # !!! If there isn't at least one, then we have not set up this client correctly.
    #
#    assert($serviceCollection->size() > 0);

	while ($serviceCollection->hasNext())
	{
		my $serviceObj = $serviceCollection->next();
		push @{$self->{DistributionService}}, RPS::Product::DistributionService->new(_dbItem => $serviceObj);
	}

    return $self;
}

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

	return $self->{DistributionService};
}

sub getActiveList
{
    my ($self) = @_;
    my @services;

    use Data::Dumper;
    foreach (@{$self->{DistributionService}}) {
    Common::Log::Debug( Dumper($_) );
        push(@services, $_) if( $_->Status() && $_->Status() eq 'active' );
    }

    return \@services;
}


1;
