#------------------------------------------------------------
# Copyright (C) 2011 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::DB::Item::ArtistRoyaltyStatementSettings;
use strict;
use warnings;
use lib '/app/tools/common/lib';
use Common::Assert;
use Common::DB::Item;
use Common::DB::ItemCollection;
use base 'Common::DB::Item';

use constant kTable => 'artist_royalty_statement_settings';
use constant kDB    => Common::DB::Item::kClientDB();

use constant kDefaultShowSalesPrice  => 0;
use constant kDefaultShowRoyaltyRate => 0;

use constant kDefaultShowProration     => 0;
use constant kDefaultShowProratedRate  => 0;
use constant kDefaultShowRateReduction => 0;
use constant kDefaultShowPackaging     => 0;
use constant kDefaultShowGrossUnits    => 0;
use constant kDefaultShowGrossSales    => 0;
use constant kDefaultShowPercentSales  => 0;
use constant kDefaultShowFreeGoods     => 0;
use constant kDefaultShowReserves      => 0;
use constant kDefaultShowLiquidations  => 0;
use constant kDefaultShowReturns       => 0;
use constant kDefaultShowRateType      => 1;
use constant kDefaultShowEffectiveRate => 1;
use constant kDefaultShowNetSales      => 1;

sub GetCurrentSettings {
    my ($class) = @_;

    my $collection = $class->GetAllOrderedByDate();
    return undef if ( !$collection || $collection->size() == 0 );
    return $collection->next();
}

sub GetAllOrderedByDate {
    my ($class) = @_;

    return $class->GetAll( "SELECT * FROM " . kTable . " ORDER BY date_created DESC" );
}

1;
