/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.fp.frontend.webservices.dinardap;

import java.util.HashSet;

/**
 *
 * @author james
 */
public class DinardapClient {

    private final static String ERROR_OK = "0";

    /**
     * @param ruc
     * @return
     */
    public RucDNP getRuc(String ruc) {
        RucDNP result = null;
        SincoarServices services = new SincoarServices_Service().getSincoarServicesPort();
        Respuesta respuesta = services.consultaCedula(ruc);
        if (respuesta.getCodigoError().equals(ERROR_OK)) {
            result = new RucDNP();
            result.setActividades(new HashSet<>(respuesta.getActividad()));
            for (Respuesta.Datos.Entry e : respuesta.getDatos().getEntry()) {
                switch (e.getKey()) {
                    case RucDNP.VAR_NOMBRE:
                        result.setRazonSocial(e.getValue());
                        break;
                    case RucDNP.VAR_TIPO:
                        result.setPersonaSociedad(e.getValue());
                        break;
                    case RucDNP.VAR_UBICACION:
                        result.setUbicacionGeo(e.getValue());
                        break;
                }
            }
        }
        return result;
    }

    /**
     * @param cedula
     * @return 
     */
    public CedulaDNP getCedula(String cedula) {
        CedulaDNP result = null;
        SincoarServices services = new SincoarServices_Service().getSincoarServicesPort();
        Respuesta respuesta = services.consultaCedula(cedula);
        if (respuesta.getCodigoError().equals(ERROR_OK)) {
            result = new CedulaDNP();
            for (Respuesta.Datos.Entry e : respuesta.getDatos().getEntry()) {
                switch (e.getKey()) {
                    case CedulaDNP.VAR_CEDULA:
                        result.setCedula(e.getValue());
                        break;
                    case CedulaDNP.VAR_NOMBRE:
                        result.setNombre(e.getValue());
                        break;
                    case CedulaDNP.VAR_CIVIL:
                        result.setEstadoCivil(e.getValue());
                        break;
                    case CedulaDNP.VAR_LUGAR:
                        result.setLugarNacimiento(e.getValue());
                        break;
                    case CedulaDNP.VAR_PROFESION:
                        result.setProfesion(e.getValue());
                        break;
                }
            }
        }
        return result;
    }

}
