package Opals::CurriculumStd;

require Exporter;
@ISA       = qw(Exporter);
# Symbols to be exported by default
#@EXPORT    = qw(
#    opl_
#);
# Symbols to be exported on request
@EXPORT_OK = qw(
        getLevelList_ny
        getCategoryList_ny
        getSbjStdList_ny
        getSubjectList_ny
        getStandardList_ny
        getBenchMarkList_ny
);
# Version number
$VERSION   = 0.01;      

#use utf8;
use strict;
#use Opals::_Some_Module_;
#-----------------------------------------------------------------------------------------------

sub getLevelList_ny{
    my ($dbh) = @_;


    my $sth = $dbh->prepare(<<_STH_);
select distinct level 
from    opl_nystd     
_STH_

    $sth->execute() || return;

    my @levelList;
    while(my $level = $sth->fetchrow_hashref) 
    {
        push @levelList, $level;
    }
    $sth->finish;

    return \@levelList;
}

#-----------------------------------------------------------------------------------------------
sub getCategoryList_ny{
    
    my($dbh,$level)=@_;
    my $sth = $dbh->prepare(<<_STH_);
select distinct category 
from    opl_nystd     
where   level=?
_STH_

    $sth->execute($level) || return;

    my @categoryList;
    while(my $category = $sth->fetchrow_hashref) 
    {
        push @categoryList, $category;
    }
    $sth->finish;

    return \@categoryList;

}

#-----------------------------------------------------------------------------------------------
sub getSbjStdList_ny{
    
    my($dbh,$level,$category)=@_;
    my $sth = $dbh->prepare(<<_STH_);
select distinct subjectStandard 
from    opl_nystd     
where   level=? && category=?
_STH_

    $sth->execute($level,$category) || return;

    my @sbjStdList;
    while(my $sbjStd = $sth->fetchrow_hashref) 
    {
        push @sbjStdList, $sbjStd;
    }
    $sth->finish;

    return \@sbjStdList;

}

#-----------------------------------------------------------------------------------------------
sub getSubjectList_ny{
    my($dbh,$level,$category,$sbjStd)=@_;
    my $sth = $dbh->prepare(<<_STH_);

select distinct subject 
from    opl_nystd
where   level=? && category=? && subjectStandard=?
_STH_

    $sth->execute($level,$category,$sbjStd) || return;

    my @sbjList;
    while(my $sbj = $sth->fetchrow_hashref) 
    {
        push @sbjList, $sbj;
    }
    $sth->finish;

    return \@sbjList;


}

#-----------------------------------------------------------------------------------------------
sub getStandardList_ny{
    my($dbh,$level,$category,$sbjStd,$subject)=@_;
    my $sth = $dbh->prepare(<<_STH_);

select distinct NYStandard, NY_Std_No 
from    opl_nystd
where   level=? && category=? && subjectstandard=? && subject=?
_STH_

    $sth->execute($level,$category,$sbjStd,$subject) || return;

    my @standardList;
    while(my $std = $sth->fetchrow_hashref) 
    {
        push @standardList, $std;
    }
    $sth->finish;

    return \@standardList;

    
}

#-----------------------------------------------------------------------------------------------

sub getBenchMarkList_ny{

    my($dbh,$level,$category,$sbjStd,$subject,$stdNo)=@_;
    my $sth = $dbh->prepare(<<_STH_);

select distinct NY_ID,NY_Bmrk_No, NYBmrk
from    opl_nystd
where   level=? && category=? && subjectStandard=? && subject =? && NY_Std_No=?
_STH_

    $sth->execute($level,$category,$sbjStd,$subject,$stdNo) || return;

    my @bmrkList;
    while(my $bmrk = $sth->fetchrow_hashref) 
    {
        push @bmrkList, $bmrk;
    }
    $sth->finish;

    return \@bmrkList;

}

;
