#------------------------------------------------------------
# Copyright (C) 2009 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::DB::Item::McpsLicenseRun;
use strict;
use warnings;

use lib '/app/tools/rps/lib';
use RPS::RoyaltyRun::Status;
use RPS::DB::Item::UKMechanicalRun;

use lib '/app/tools/common/lib';
use Common::DB::Item;
use Common::Assert;
use base 'Common::DB::Item';

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

sub GetByRunID {
    my ( $class, $id ) = @_;

    my $sql = "SELECT * FROM " . kTable . " WHERE uk_mechanical_run_id=$id";
    return $class->GetAll($sql);
}

sub DeleteByRunID {
    my ( $class, $id ) = @_;

    my $sql = "DELETE from " . kTable . " WHERE uk_mechanical_run_id=$id";
    my $dbo = Common::RSApp::GetClientDB();
    $dbo->DoCmd($sql);

}

sub NumCommittedRuns {
    my ( $class, $id ) = @_;
    my $dbo = Common::RSApp::GetClientDB();

    my $sql =
        "SELECT COUNT(*) FROM uk_mechanical_run WHERE "
      . "(status = "
      . RPS::RoyaltyRun::Status::kCommitted
      . " OR status = "
      . RPS::RoyaltyRun::Status::kClosed . ")"
      . "AND uk_mechanical_run_id IN "
      . "(SELECT uk_mechanical_run_id FROM "
      . kTable
      . " WHERE mcps_license_id=$id)";

    my $sth = $dbo->DoCmd($sql);
    my ($count) = $sth->fetchrow_array();

    return $count;
}

###
1;    #
###
