/// <summary> /// Llama al WebService FECompUltimoAutorizado /// Devuelve los Puntos de Venta y su descripción. /// Guarda en la B.D. el Puntos de Ventas y su descripción /// </summary> /// <param name="pTicket_Rta"></param> public Entidades.WebServices_AFIP.RespuestaWS FECompUltimoAutorizado(Entidades.Tickets_Acceso pTicket_Rta, int pPtoVenta) { Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS(); /* * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FECompUltimoAutorizado */ /*WebService*/ AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest(); AFIP_WSFEV1_Produccion.FERecuperaLastCbteResponse respuesta = new AFIP_WSFEV1_Produccion.FERecuperaLastCbteResponse(); int cbteTipo = 0; /*Ultimos Nros de Comprobantes Recuperados*/ Entidades.UltCbtesAutorizados objEntidadesUltNroCbte = new Entidades.UltCbtesAutorizados(); Logica.UltCbtesAutorizados objLogicaUltNroCbte = new Logica.UltCbtesAutorizados(); /*Tipos de Comprobantes*/ Entidades.TiposCbtes objEntidadTiposCbtes = new Entidades.TiposCbtes(); Logica.TiposCbtes objLogicaTiposCbtes = new Logica.TiposCbtes(); /*Errores Devueltos*/ Entidades.Errores_WS objEntidadesErroresWS = new Entidades.Errores_WS(); Logica.Errores_WS objLogicaErroresWS = new Logica.Errores_WS(); /*Eventos Devueltos*/ Entidades.Eventos_WS objEntidadesEventosWS = new Entidades.Eventos_WS(); Logica.Eventos_WS objLogicaEventosWS = new Logica.Eventos_WS(); /*Asigno los datos a la autorización*/ autorizacion.Cuit = pTicket_Rta.Cuit; autorizacion.Sign = pTicket_Rta.Sign; autorizacion.Token = pTicket_Rta.Token; /*Tipos de Comprobantes*/ objLogicaTiposCbtes.TraerTodos(); /*Primero Borra el listado de la base para cargarlo de Cero*/ objLogicaUltNroCbte.BorrarTodos(); foreach (DataRow filaTipoCbte in objLogicaTiposCbtes.TraerTodos().Rows) { cbteTipo = Convert.ToInt32(filaTipoCbte[0]); //filaTipoCbte[0] Id_TipoCbte /*Llamo al WebService*/ AFIP_WSFEV1_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service(); respuesta = webService.FECompUltimoAutorizado(autorizacion, pPtoVenta, cbteTipo); /*Por cada Error devuelto lo agrego en la B.D.*/ if (respuesta.Errors != null) { foreach (AFIP_WSFEV1_Produccion.Err errorItem in respuesta.Errors) { objEntidadesErroresWS.Codigo = errorItem.Code; objEntidadesErroresWS.Mensaje = errorItem.Msg; objEntidadesErroresWS.Fecha = DateTime.Now; objEntidadesErroresWS.Observaciones = "Llamando al WS: FECompUltimoAutorizado"; objLogicaErroresWS.Agregar(objEntidadesErroresWS); } objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Error; } /*Por cada Evento devuelto lo agrego en la B.D.*/ if (respuesta.Events != null) { foreach (AFIP_WSFEV1_Produccion.Evt eventoItem in respuesta.Events) { objEntidadesEventosWS.Codigo = eventoItem.Code; objEntidadesEventosWS.Mensaje = eventoItem.Msg; objEntidadesEventosWS.Fecha = DateTime.Now; objEntidadesEventosWS.Observaciones = "Llamando al WS: FECompUltimoAutorizado"; objLogicaEventosWS.Agregar(objEntidadesEventosWS); } objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento; } /*Por cada Ultimo Nro Comprobante Autorizado devuelto lo agrego en la B.D.*/ if (respuesta.CbteTipo != 0) { objEntidadesUltNroCbte.Id_PtoVenta = respuesta.PtoVta; objEntidadesUltNroCbte.Id_TipoCbte = respuesta.CbteTipo; objEntidadesUltNroCbte.Nro_Cbte = respuesta.CbteNro; objLogicaUltNroCbte.Agregar(objEntidadesUltNroCbte); objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta; } } return objEntidadesWebService_AFIP_Rta; }