126 lines
5.2 KiB
Go
126 lines
5.2 KiB
Go
package utils
|
|
|
|
import (
|
|
"daemonService/internal/models/sincronizacionDatos/response"
|
|
"daemonService/internal/soap"
|
|
"fmt"
|
|
)
|
|
|
|
func ProcesarRespuestaSincronizacion(tagName string, bodyBytes []byte) (interface{}, error) {
|
|
var err error
|
|
var respSincronizacion interface{}
|
|
|
|
switch tagName {
|
|
case "sincronizarActividades":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.ListaActividades, response.SoapEnvelopeActividad](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta ListaActividades: %v", err)
|
|
}
|
|
|
|
case "sincronizarFechaHora":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAPfechaHora[response.RespuestaFechaHora, response.SoapEnvelopeFechaHora](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta FechaHora: %v", err)
|
|
}
|
|
|
|
case "sincronizarListaMensajesServicios":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MensajeServicio, response.SoapEnvelopeMensajeServicio](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta MensajeServicio: %v", err)
|
|
}
|
|
|
|
case "sincronizarListaLeyendasFactura":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAPIdentificador[[]response.LeyendaDetalle, response.SoapEnvelopeLeyendas](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta LeyendaDetalle: %v", err)
|
|
}
|
|
|
|
case "sincronizarListaProductosServicios":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.ProductoServicio, response.SoapEnvelopeProductoServicio](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta ProductoServicio: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaMotivoAnulacion":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MotivoAnulacion, response.SoapEnvelopeMotivoAnulacion](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta MotivoAnulacion: %v", err)
|
|
}
|
|
case "sincronizarParametricaTipoDocumentoIdentidad":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoDocumento, response.SoapEnvelopeTipoDocumento](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TipoDocumento: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoDocumentoSector":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoSector, response.SoapEnvelopeTipoSector](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TipoSector: %v", err)
|
|
}
|
|
|
|
case "sincronizarListaActividadesDocumentoSector":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoActividadesSector, response.SoapEnvelopeTipoActividadesSector](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TipoSctividadSector: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoEmision":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoEmision, response.SoapEnvelopeTipoEmision](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TipoEmision: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTiposFactura":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoFactura, response.SoapEnvelopeTipoFactura](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TiposFactura: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoMoneda":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.Moneda, response.SoapEnvelopeMoneda](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta Moneda: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoMetodoPago":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.MetodoPago, response.SoapEnvelopeMetodoPago](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta MetodoPago: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoPuntoVenta":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.PuntoVenta, response.SoapEnvelopePuntoVenta](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta PuntoVenta: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaUnidadMedida":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.UnidadMedida, response.SoapEnvelopeUnidadMedida](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta UnidadMedida: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaEventosSignificativos":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.EventoSignificativo, response.SoapEnvelopeEventoSignificativo](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta EventosSignificativos: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaTipoHabitacion":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.TipoHabitacion, response.SoapEnvelopeTipoHabitacion](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta TipoHabitacion: %v", err)
|
|
}
|
|
|
|
case "sincronizarParametricaPaisOrigen":
|
|
respSincronizacion, err = soap.ParsearRespuestaSOAP[[]response.PaisOrigen, response.SoapEnvelopePaisOrigen](bodyBytes)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("error parseando respuesta PaisOrigen: %v", err)
|
|
}
|
|
default:
|
|
return nil, fmt.Errorf("tag no reconocido: %s", tagName)
|
|
}
|
|
|
|
return respSincronizacion, nil
|
|
}
|