<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ErroresApi
 *
 * @author lmontoya
 */
class GestionPersonas {

    public static function datosGenerales($tipoPersonaID, $tipoIdentificacionID, $personaIDENTIFICACION, $personaNOMBRECOMPLETO, $personaNOMBRES, $personaAPELLIDOS, $personaFCHNACIMIENTO, $personaSEXO) {
        $persona = Personas::datosPorIdentificacion($personaIDENTIFICACION);
        if (empty($persona)) {
            $personaID = Personas::guardar($tipoPersonaID, $tipoIdentificacionID,
                            $personaIDENTIFICACION, $personaNOMBRECOMPLETO,
                            $personaNOMBRES, $personaAPELLIDOS,
                            $personaFCHNACIMIENTO, $personaSEXO);
        } else {
            $personaID = $persona->personaID;
            if (!empty($tipoIdentificacionID)) {
                if ($tipoIdentificacionID != $persona->tipoIdentificacionID) {
                    Personas::actualizarTipoIdentificacion($tipoIdentificacionID,
                            $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'TIPO IDENTIFICACION', $tipoIdentificacionID,
                            $persona->tipoIdentificacionID,
                            'Cambio Tipo Identificacion');
                }
            }
            if (!empty($personaIDENTIFICACION)) {
                if ($personaIDENTIFICACION != $persona->personaIDENTIFICACION) {
                    Personas::actualizarIdentificacion($personaIDENTIFICACION,
                            $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'IDENTIFICACION', $personaIDENTIFICACION,
                            $persona->personaIDENTIFICACION,
                            'Cambio Identificacion');
                }
            }
            if (!empty($personaNOMBRECOMPLETO)) {
                if ($personaNOMBRECOMPLETO != $persona->personaRAZONSOCIAL) {
                    Personas::actualizarRazonSocial($personaNOMBRECOMPLETO, $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'RAZON SOCIAL', $personaNOMBRECOMPLETO,
                            $persona->personaRAZONSOCIAL, 'Cambio Razon Social');
                }
            }
            if (!empty($personaNOMBRES)) {
                if ($personaNOMBRES != $persona->personaNOMBRES) {
                    Personas::actualizarNombres($personaNOMBRES, $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'NOMBRE', $personaNOMBRES, $persona->personaNOMBRES,
                            'Cambio Nombre');
                }
            }
            if (!empty($personaAPELLIDOS)) {
                if ($personaAPELLIDOS != $persona->personaAPELLIDOS) {
                    Personas::actualizarApellidos($personaAPELLIDOS, $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'APELLIDOS', $personaAPELLIDOS,
                            $persona->personaAPELLIDOS, 'Cambio Apellido');
                }
            }
            if (!empty($personaFCHNACIMIENTO)) {
                if ($personaFCHNACIMIENTO != $persona->personaFCHNACIMIENTO) {
                    Personas::actualizarFechaNacimiento($personaFCHNACIMIENTO,
                            $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            
                            'FECHANACIMIENTO', $personaFCHNACIMIENTO,
                            $persona->personaFCHNACIMIENTO,
                            'Cambio Fecha Nacimiento');
                }
            }
            if (!empty($personaSEXO)) {
                if ($personaSEXO != $persona->personaSEXO) {
                    Personas::actualizarSexo($personaSEXO, $personaID);
                    ControlCambios::guardar(
                            $persona->personaID,
                            'IDENTIFICACION', $personaSEXO, $persona->personaSEXO,
                            'Cambio Identificacion');
                }
            }
        }
        return $personaID;
    }
    
    public static function datosContacto($personaIDENTIFICACION, $telefonoNUMEROFIJO, $correoDIRECCION, $direccionCOMERCIAL, $telefonoNUMEROCELULAR, $direccionDOMICILIO) {
        $persona = Personas::datosPorIdentificacion($personaIDENTIFICACION);
        if (!is_null($persona)) {
            if ($persona->personasCorreoPRINCIPAL != $correoDIRECCION && !is_null($correoDIRECCION)) {
                if (!empty($persona->personasCorreoPRINCIPAL)) {
                    PersonasCorreos::desactivar($persona->personaID, $persona->personasCorreoPRINCIPAL);
                    ControlCambios::guardar(
                        $persona->personaID,
                        'CORREO', $correoDIRECCION,
                        $persona->personasCorreoPRINCIPAL,
                        'Cambio de correo electrónico principal.'
                    );
                }
                PersonasCorreos::guardar($correoDIRECCION, $persona->personaID);
            }
            if ($persona->direccionDOMICILIO != $direccionDOMICILIO && !is_null($direccionDOMICILIO)) {
                if (!empty($persona->direccionDOMICILIO)) {
                    PersonasDirecciones::desactivar($persona->personaID, $persona->direccionDOMICILIO);
                    ControlCambios::guardar(
                        $persona->personaID,
                        'DIRECCION', $direccionDOMICILIO,
                        $persona->direccionDOMICILIO,
                        'Cambio de direccion de domicilio.'
                    );
                }
                PersonasDirecciones::guardar($direccionDOMICILIO, $persona->personaID);
            }
            if ($persona->direccionCOMERCIAL != $direccionCOMERCIAL && !is_null($direccionCOMERCIAL)) {
                if (!empty($persona->direccionCOMERCIAL)) {
                    PersonasDirecciones::desactivar($persona->personaID, $persona->direccionDOMICILIO);
                    ControlCambios::guardar(
                            $persona->personaID,
                            'DIRECCION', $direccionCOMERCIAL,
                            $persona->direccionCOMERCIAL,
                            'Cambio de direccion de comercial.'
                    );
                    PersonasDirecciones::desactivar($persona->personaID, $persona->direccionCOMERCIAL);
                }
                PersonasDirecciones::guardar($direccionCOMERCIAL, $persona->personaID, null ,PersonasDirecciones::COMERCIAL);
                
            }
            if ($persona->telefonoFIJO != $telefonoNUMEROFIJO && !is_null($telefonoNUMEROFIJO)) {
                if (!empty($persona->telefonoFIJO)) {
                    PersonasTelefonos::desactivar($persona->personaID, PersonasTelefonos::FIJO ,$persona->telefonoFIJO);
                    ControlCambios::guardar(
                        $persona->personaID,
                        'TELEFONO', $telefonoNUMEROFIJO, $persona->telefonoFIJO,
                        'Cambio de Telefono FIJO.'
                    );
                }
                PersonasTelefonos::guardar($telefonoNUMEROFIJO, PersonasTelefonos::FIJO, $persona->personaID);

            }
            if ($persona->telefonoCELULAR != $telefonoNUMEROCELULAR && !is_null($telefonoNUMEROCELULAR)) {
                if (!empty($persona->telefonoCELULAR)) {
                    PersonasTelefonos::desactivar($persona->personaID, PersonasTelefonos::CELULAR, $persona->telefonoCELULAR);
                    ControlCambios::guardar(
                        $persona->personaID,
                        'TELEFONO', $telefonoNUMEROCELULAR, $persona->telefonoCELULAR,
                        'Cambio de Telefono CELULAR.'
                    );
                }
                PersonasTelefonos::guardar($telefonoNUMEROCELULAR, PersonasTelefonos::CELULAR, $persona->personaID);
                
            }
            return $persona->personaID;
        } 
        return null;
    }


    
}

