public override CAEDetalleRespuesta DatosDeComprobante( Autorizacion aut, int tipoComprobante, int nroComprobante, int ptoVta ) { AuthRequestType feAutRequest = this.wa.ConvertirMTXCA( aut ); ConsultaComprobanteRequestType solicitud = new ConsultaComprobanteRequestType(); solicitud.numeroComprobante = nroComprobante; solicitud.codigoTipoComprobante = (short) tipoComprobante; solicitud.numeroPuntoVenta = (short) ptoVta; CodigoDescripcionType[] observaciones; CodigoDescripcionType[] errores; CodigoDescripcionType evento; ComprobanteType respuesta = this.ws.consultarComprobante( feAutRequest, solicitud, out observaciones, out errores, out evento ); this.managerErrores.CapturarError( errores ); ConversorConsultaCaeARespuestaCae conversor = new ConversorConsultaCaeARespuestaCae(); CAEDetalleRespuesta respuestaConvertida = conversor.ConvertirDetalle( respuesta ); return respuestaConvertida; }
public CAERespuestaFe ReprocesarComprobantes( FeCabecera cabFe, Autorizacion feAut ) { ConversorConsultaCaeARespuestaCae conversor = new ConversorConsultaCaeARespuestaCae(); CAERespuestaFe retorno = new CAERespuestaFe(); WrapperCabeceraFe wrapperFe = new WrapperCabeceraFe(); List<Observacion> diferencias; retorno.Cabecera = conversor.ConvertirCabecera( cabFe, feAut ); ConsultasWSMTXCA consultas = new ConsultasWSMTXCA( this.wsfe, this.logueador ); CAEDetalleRespuesta respuestaReproceso; retorno.Detalle = new List<CAEDetalleRespuesta>(); foreach ( FeDetalle lote in cabFe.DetalleComprobantes ) { respuestaReproceso = consultas.DatosDeComprobante( feAut, cabFe.TipoComprobante, (int) lote.ComprobanteDesde, cabFe.PuntoDeVenta ); diferencias = wrapperFe.Comparar( respuestaReproceso, lote ); if ( diferencias.Count > 0 ) { respuestaReproceso.Resultado = "R"; respuestaReproceso.Cae = ""; respuestaReproceso.Observaciones = diferencias; } retorno.Detalle.Add( respuestaReproceso ); } this.logueador.LoguearObservaciones( retorno.Detalle, cabFe ); return retorno; }
/// <summary> /// Obtiene informacion de respuesta de autorizacion para un comprobante /// </summary> /// <param name="aut">Autorizacion</param> /// <param name="tipoComprobante">Tipo de Comprobante</param> /// <param name="nroComprobante">Nro de Comprobante</param> /// <param name="ptoVta">Punto de Venta</param> /// <returns>Respuesta simil a la de solicitud de CAE</returns> public override CAEDetalleRespuesta DatosDeComprobante( Autorizacion aut, int tipoComprobante, int nroComprobante, int ptoVta ) { FEAuthRequest feAutRequest = this.wa.ConvertirFe( aut ); FECompConsultaReq solicitud = new FECompConsultaReq(); solicitud.CbteNro = nroComprobante; solicitud.CbteTipo = tipoComprobante; solicitud.PtoVta = ptoVta; FECompConsultaResponse respuesta = this.wsfe.FECompConsultar( feAutRequest, solicitud ); this.managerErrores.CapturarError( respuesta.Errors ); ConversorConsultaCaeARespuestaCae conversor = new ConversorConsultaCaeARespuestaCae(); CAEDetalleRespuesta respuestaConvertida = conversor.ConvertirDetalle( respuesta.ResultGet ); return respuestaConvertida; }