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

use strict;
use warnings;
use Carp;

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

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

use Support::Client::Client;
use base 'Support::Client::ClientSimple';

sub _initProperties {
    my $self = shift;

    $self->SUPER::_initProperties(@_);

    return $self;
}

sub assignServiceAccount {
    my $self = shift;
    my %args = @_;

    my $serviceAccountID = $args{serviceAccountID};
    my $serviceID        = $args{serviceID};

    my $clientID = $self->ClientID;

    assert( $clientID,  "Client id required" );
    assert( $serviceID, "Service id required" );

    Support::DB::Item::ClientServiceAccount->ClearServiceAccounts( clientID => $clientID, serviceID => $serviceID );

    # Now lets do the assignment
    if ($serviceAccountID) {
        my $saDBItem = Support::DB::Item::ClientServiceAccount->Create();

        $saDBItem->service_account_id($serviceAccountID);
        $saDBItem->client_id($clientID);

        $saDBItem->save();
    }

}

1;
