#------------------------------------------------------------
# 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;
