
package com.ryuuji.api;

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import logica.Listas;
import orm.*;


@WebService(serviceName = "ListasService")
public class ListasService {

    @WebMethod(operationName = "listaCursos")
    public String[] listaCursos() {
        return Listas.listaCursos();
    }

    @WebMethod(operationName = "listaActividades")
    public String[][] listaActividades(@WebParam(name = "asignatura") Asignatura asignatura) {
        return Listas.listaActividades(asignatura);
    }

    @WebMethod(operationName = "listaRutProfesor")
    public String[] listaRutProfesor() {
        return Listas.listaProfesor();
    }

    @WebMethod(operationName = "listaProfesorPorCurso")
    public String[] listaProfesorPorCurso(@WebParam(name = "curso") Curso curso) {
        return Listas.listaProfesores(curso);
    }

    @WebMethod(operationName = "listaProfesores")
    public String[][] listaProfesores() {
        return Listas.listaProfesores();
    }

    @WebMethod(operationName = "listaEstudiantesPorCurso")
    public String[][] listaEstudiantesPorCurso(@WebParam(name = "curso") Curso curso) {
        return Listas.listaEstudiantes(curso);
    }
    
    @WebMethod(operationName = "listaAnotacionesPorEstudiante")
    public String[][] listaEstudiantesPorApoderado(@WebParam(name = "apoderado") Apoderado apoderado) {
        return Listas.listaEstudiantes(apoderado);
    }

    @WebMethod(operationName = "listaApoderados")
    public String[][] listaApoderados() {
        return Listas.listaApoderados();
    }

    @WebMethod(operationName = "listaEstudiantesPorApoderado")
    public String[][] listaAnotacionesPorEstudiante(@WebParam(name = "estudiante") Estudiante estudiante) {
        return Listas.listaAnotaciones(estudiante);
    }

    @WebMethod(operationName = "listaAsistenciaPorEstudiante")
    public String[][] listaAsistenciaPorEstudiante(@WebParam(name = "estudiante") Estudiante estudiante) {
        return Listas.listaAsistencia(estudiante);
    }

    @WebMethod(operationName = "listaNotasPorEstudianteYAsignatura")
    public String[][] listaNotasPorEstudianteYAsignatura(@WebParam(name = "estudiante") Estudiante estudiante, @WebParam(name = "asignatura") Asignatura asignatura) {
        return Listas.listaNotas(estudiante, asignatura);
    }

    @WebMethod(operationName = "listaAsignaturasPorCurso")
    public String[] listaAsignaturasPorCurso(@WebParam(name = "curso") Curso curso) {
        return Listas.listaAsignaturas(curso);
    }

    @WebMethod(operationName = "listaAsignaturasConProfesorPorCurso")
    public String[][] listaAsignaturasConProfesorPorCurso(@WebParam(name = "curso") Curso curso) {
        return Listas.listaAsignaturasProfesor(curso);
    }

    @WebMethod(operationName = "listaAsignaturas")
    public String[][] listaAsignaturas(@WebParam(name = "profesor") Profesor profesor) {
        return Listas.listaAsignaturas(profesor);
    }

}
