#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Mechanical::CA::MechanicalPayorList;

# !!! I DON'T BELIEVE WE NEED THIS CLASS AT ALL ANY MORE !!!
# !!! REVISIT THE COMMAND AND MAKE THIS GO AWAY !!!

use strict;
use warnings;
use Carp;

use Data::Dumper;
use lib '/app/tools/common/lib';

use lib '/app/tools/rps/lib';

use RPS::DB::Item::CAMechanicalStatement;
use RPS::DB::Item::Payor;

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

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

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

    my $runID = $args{mechanicalRunID};

    my @payors = RPS::DB::Item::CAMechanicalStatement->GetDistinctPayorsByRunID($runID);

    $self->{MechanicalRunID} = $runID;
    $self->{Payor} = [];

    foreach my $payorID (@payors)
    {
        my $payor = RPS::DB::Item::Payor->Lookup(payor_id => $payorID);
        my $numStatements = RPS::DB::Item::CAMechanicalStatement->GetCountByMechanicalRunID($runID, $payorID);
        push @{$self->{Payor}},
        {
            PayorID => $payorID,
            Name => $payor->name(),
            NumStatements => $numStatements,
        };
    }

    return $self;
}

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

    return { Payor => 1 };
}

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

    return 0 unless defined $self->{Payor};
    return (scalar @{$self->{Payor}});
}

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

    return $self->{Payor};
}

1;


