<?php
require_once dirname(__FILE__,3)."/personas/controladores/Personas.control.php";
class PersonasEstudiosControlador extends Controladores {
public function mostrarTablaEstudiosAcademicos(){
$estudios = PersonasEstudios::estudiosPorIdPersonas($this->personaId);
Vistas::mostrar("personas","estudios/estudios", array('personas' => $estudios, 'controlador' => 'PersonasEstudios'));
}
public function mostrarFormularioNuevo(){
$this->mostrarFormulario(array('personaID' => Personas::idPorIdentificacion(Cliente::cedula())));
}
public function mostrarFormularioEditar(){
$this->mostrarFormulario(PersonasEstudios::porId($this->estudioAcademicoId));
}
public function mostrarFormulario($persona){
$personas = new PersonasControlador();
if(is_array($persona)){
$persona['tipoEstudioAcademico'] = $personas->crearArray(PersonasEstudios::getAlltiposEstudiosAcademicos(),'tipoEstudioAcademicoID','tipoEstudioAcademicoTITULO');
}else{
$persona->tipoEstudioAcademico = $personas->crearArray(PersonasEstudios::getAlltiposEstudiosAcademicos(),'tipoEstudioAcademicoID','tipoEstudioAcademicoTITULO');
}
Vistas::mostrar("personas","estudios/crear",array('persona'=>$persona));
}
public function guardar(){
if(!isset($this->estudioAcademicoFECHAFINAL)){
$this->estudioAcademicoFECHAFINAL = null;
}
if(isset($this->estudioAcademicoId)){
$this->modificarEstudioAcademico($this->estudioAcademicoId, $this->estudioAcademicoTITULO, $this->estudioAcademicoFECHAINICIO, $this->estudioAcademicoFECHAFINAL,
$this->estudioAcademicoESTADO, $this->estudioAcademicoINSTITUCION, $this->tipoEstudioAcademicoID);
}else{
$this->agregarNuevoEstudioAcademico($this->estudioAcademicoTITULO, $this->estudioAcademicoFECHAINICIO, $this->estudioAcademicoFECHAFINAL,
$this->estudioAcademicoESTADO, $this->estudioAcademicoINSTITUCION, $this->tipoEstudioAcademicoID, $this->personaId);
}
}
public function agregarNuevoEstudioAcademico($estudioAcademicoTITULO, $estudioAcademicoFECHAINICIO, $estudioAcademicoFECHAFINAL, $estudioAcademicoESTADO, $estudioAcademicoINSTITUCION, $tipoEstudioAcademicoID, $personaID){
$persona = PersonasEstudios::guardar($estudioAcademicoTITULO, $estudioAcademicoFECHAINICIO, $estudioAcademicoFECHAFINAL, $estudioAcademicoESTADO, $estudioAcademicoINSTITUCION, $tipoEstudioAcademicoID, $personaID);
if(is_null($persona)){
RespuestasSistema::exito('LOS DATOS SE ACTULIZARON DE MANERA EXITOSA');
}else{
RespuestasSistema::error('ERROR AL ACTUALIZAR, VOLVER A INTENTARLO');
}
}
public function modificarEstudioAcademico($estudioAcademicoID, $estudioAcademicoTITULO, $estudioAcademicoFECHAINICIO, $estudioAcademicoFECHAFINAL, $estudioAcademicoESTADO, $estudioAcademicoINSTITUCION, $tipoEstudioAcademicoID){
$persona = PersonasEstudios::actualizar($estudioAcademicoID, $estudioAcademicoTITULO, $estudioAcademicoFECHAINICIO, $estudioAcademicoFECHAFINAL, $estudioAcademicoESTADO, $estudioAcademicoINSTITUCION, $tipoEstudioAcademicoID);
if(is_null($persona)){
echo RespuestasSistema::exito('LOS DATOS SE ACTULIZARON DE MANERA EXITOSA');
}else{
echo RespuestasSistema::error('ERROR AL ACTUALIZAR, VOLVER A INTENTARLO');
}
}
/**
* Eliminar un registro de la base de datos.
* Esta operación es irreversible.
* Si se tiene la referencia integral activada, la base de datos no va
* dejar eliminar si tiene otros registros asociados.
* @return RespuestasSistema Resultado de la Operacion que se envia al cliente
*/
function eliminar() {
$EstudioAcademicoParaEliminar = $this->checkPersonasEstudios;
if (count($EstudioAcademicoParaEliminar)) {
$n = 0;
foreach ($EstudioAcademicoParaEliminar as $estudioELIMINAR):
if (PersonasEstudios::eliminar($estudioELIMINAR)) {
$n++;
}
endforeach;
if ($n == 0) {
echo RespuestasSistema::error('No fue posible ELIMINAR. Contacte al centro TICS.');
} else if ($n == count($EstudioAcademicoParaEliminar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [ELIMINAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [ELIMINAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [ELIMINAR]. Contacta al centro TICS');
}
}
}