#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Product::Command::ShowDigital;

use lib '/app/tools/common/lib';
use RSApache::Response::JSON;
use RSApache::Response::XSLT;

use lib '/app/tools/rps/lib';
use RPS::Product::ProductDigitalWithServices;
use RPS::DB::Item::ProductDigital;

use RPS::Command;
use RPS::CommandLog;
use base 'RSApache::Command::XMLCommand';

use Data::Dumper;

sub cmd  { return "show_digital"; }
sub area { return "product"; }
sub app  { return "rps"; }

use constant kTemplate => '/app/tools/rps/templates/product/ajax_digital.xsl';

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

    my $response = $self->SUPER::execute();
    return $response if $response;

    my $albumID = $self->getParam("AlbumID");

    my $justCountFlag = $self->getParam('count');

    if ($justCountFlag) {
        my $count = RPS::Product::ProductDigital::GetDistributedServiceCount($albumID);
        $response = RSApache::Response::JSON->new($count);
    } else {
        my $albums = RPS::DB::Item::ProductDigital->GetByAlbumID($albumID);

        my $product = $albums->next() if ($albums);

        $self->{xml}->{Form}->{ProductDigital} = RPS::Product::ProductDigitalWithServices->new( _dbItem => $product );
        $response = RSApache::Response::XSLT->new( $self->{xml}, kTemplate );
    }

    return $response;
}

1;
