#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package Support::Service::DistributionServiceList;

use strict;
use warnings;
use Carp;

use lib '/app/tools/support/lib';
use Support::Service::DistributionService;
use Support::DB::Item::DistributionService;
use Support::Permission;

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

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

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

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

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

    my $serviceID = $args{serviceID};

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

    my $service;
    $self->{Service} = [];

    if ($serviceID) {
        $service = Support::DB::Item::DistributionService->Lookup( service_id => $serviceID );
    } else {
        $service = Distribution::DB::Item::DistributionService->GetAllClientServices( Common::RSApp::GetClientID() );
    }

    while ( $service->hasNext() ) {
        my $serviceData = $service->next();
        my $serviceObj  = new Support::Service::DistributionService( _dbItem => $serviceData );
        my $service_id  = $serviceObj ? $serviceObj->ServiceID : undef;

        $serviceObj->loadServiceAccount( clientID => $args{clientID}, serviceID => $service_id );

        push( @{ $self->{Service} }, $serviceObj );
    }

    return $self;
}

sub Services {
    my $self = shift;
    return @{ $self->{Service} };
}

1;
