package com.fp.webservices.snap.cedula.impl;

import com.fp.webservices.snap.cedula.CedulaServicio;
import com.fp.webservices.snap.recursos.MsgSnap;
import com.fp.webservices.snap.seguridad.DatosHeader;
import com.fp.webservices.snap.seguridad.HeaderHandlerResolver;
import com.fp.webservices.snap.seguridad.PermissionClient;
import ec.gob.registrocivil.Ciudadano;
import ec.gob.registrocivil.ConsultaCiudadano;
import ec.gob.registrocivil.ConsultaCiudadano_Service;
import ec.gob.registrocivil.consultacedula.Cedula;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.handler.HandlerResolver;

@WebService(endpointInterface = "com.fp.webservices.snap.cedula.CedulaServicio", serviceName = "CedulaServicio")
public class CedulaServicioImpl implements CedulaServicio {

    public Cedula consultarCedula(@WebParam(name = "cedula") String cedula) {
        DatosHeader headers = new DatosHeader();
        PermissionClient permissionClient = new PermissionClient(MsgSnap.getString("url_consulta_cedula"));
        headers = permissionClient.generaToken();

        ConsultaCiudadano_Service service = new ConsultaCiudadano_Service();

        HeaderHandlerResolver handlerResolver = new HeaderHandlerResolver(headers);
        service.setHandlerResolver((HandlerResolver) handlerResolver);
        ConsultaCiudadano port = service.getConsultaCiudadanoPort();

        String codigoInstitucion = MsgSnap.getString("codigoInstitucion_rc");
        String codigoAgencia = MsgSnap.getString("codigoAgencia_rc");
        String usuario = MsgSnap.getString("usuario_rc");
        String contrasenia = MsgSnap.getString("contrasenia_rc");

        Ciudadano ciudadano = port.busquedaPorNui(codigoInstitucion, codigoAgencia, usuario, contrasenia, cedula);
        Cedula result = getCedula(ciudadano);

        return result;
    }

    private Cedula getCedula(Ciudadano ciudadano) {
        Cedula result = null;
        if (ciudadano != null) {
            result = new Cedula();
            result.setCalleDomicilio(ciudadano.getCalle());
            result.setCedula(ciudadano.getNUI());
            result.setCodigoError(ciudadano.getCodigoError());
            result.setCondicionCedulado(ciudadano.getCondicionCedulado());
            result.setConyuge(ciudadano.getConyuge());
            result.setDomicilio(ciudadano.getDomicilio());
            result.setError(ciudadano.getError());
            result.setEstadoCivil(ciudadano.getEstadoCivil());
            result.setFechaCedulacion(ciudadano.getFechaCedulacion());
            result.setFechaNacimiento(ciudadano.getFechaNacimiento());
            result.setFirmaElectronica(ciudadano.getFirmaElectronica());
            result.setGenero(ciudadano.getGenero());
            result.setIndividualDactilar(ciudadano.getIndividualDactilar());
            result.setInstruccion(ciudadano.getInstruccion());
            result.setLugarNacimiento(ciudadano.getLugarNacimiento());
            result.setNacionalidad(ciudadano.getNacionalidad());
            result.setNombreMadre(ciudadano.getNombreMadre());
            result.setNombrePadre(ciudadano.getNombrePadre());
            result.setNombre(ciudadano.getNombre());
            result.setNumeroDomicilio(ciudadano.getNumeroCasa());
            result.setProfesion(ciudadano.getProfesion());
            System.out.println("Result = " + ciudadano.getCodigoNacionalidadMadre());
        }
        return result;
    }
}


/* Location:              /data/COMACO/SINCOAR2022/Entorno/produccion/servers/mule-standalone-3.5.0/apps/centralwebservices-2.1.zip!/centralwebservices-2.1/classes/com/fp/webservices/snap/cedula/impl/CedulaServicioImpl.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       1.1.3
 */
