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

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::PricingTier;

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

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

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

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

    $self->{PricingTier} = [];
	my $tierCollection = $args{service_id} ? Distribution::DB::Item::ServicePriceTier->Search( %args ) :
	                                         Distribution::DB::Item::ServicePriceTier->GetAll();

    my $product_tier = Distribution::DB::Item::ProductServicePricing->Search( %args )
	    if( $args{product_id} );

	while ($tierCollection->hasNext())
	{
		my $obj = $tierCollection->next();
		my $tier = new RPS::Product::PricingTier( _dbItem => $obj );

		if( $product_tier && $product_tier->service_price_tier_id == $tier->ServicePriceTierID ) {
		    $tier->{Current} = 1;
			$self->{HasPricingTier} = 1;
		}

		$self->{CurrentPriceTierID} = $tier->ServicePriceTierID();

		push @{$self->{PricingTier}}, $tier;
	}

    return $self;
}

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

	return $self->{DistributionService};
}


1;
