/// <summary> /// Llama al WebService FEParamGetTiposCbtes (Homologacion) /// Devuelve los Códigos de Tipos Comprobantes y su descripción. /// Guarda en la B.D. el Código de Comprobantes y su descripción /// </summary> /// <param name="pTicket_Rta"></param> public Entidades.WebServices_AFIP.RespuestaWS FEParamGetTiposCbtes_Homologacion(Entidades.Tickets_Acceso pTicket_Rta) { Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS(); /* * https://wswhomo.afip.gov.ar/wsfev1/service.asmx?op=FEParamGetTiposCbtes */ /*WebService*/ AFIP_WSFEV1_Homologacion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Homologacion.FEAuthRequest(); AFIP_WSFEV1_Homologacion.CbteTipoResponse respuesta = new AFIP_WSFEV1_Homologacion.CbteTipoResponse(); /*Tipos de Cbtes Recuperados*/ Entidades.TiposCbtes objEntidadesTiposCbtes = 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; /*Llamo al WebService*/ AFIP_WSFEV1_Homologacion.Service webService = new AFIP_WSFEV1_Homologacion.Service(); respuesta = webService.FEParamGetTiposCbte(autorizacion); /*Por cada Error devuelto lo agrego en la B.D.*/ if (respuesta.Errors != null) { foreach (AFIP_WSFEV1_Homologacion.Err errorItem in respuesta.Errors) { objEntidadesErroresWS.Codigo = errorItem.Code; objEntidadesErroresWS.Mensaje = errorItem.Msg; objEntidadesErroresWS.Fecha = DateTime.Now; objEntidadesErroresWS.Observaciones = "Llamando al WS: FEParamGetTiposCbtes (Homologacion)"; 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_Homologacion.Evt eventoItem in respuesta.Events) { objEntidadesEventosWS.Codigo = eventoItem.Code; objEntidadesEventosWS.Mensaje = eventoItem.Msg; objEntidadesEventosWS.Fecha = DateTime.Now; objEntidadesEventosWS.Observaciones = "Llamando al WS: FEParamGetTiposCbtes (Homologacion)"; objLogicaEventosWS.Agregar(objEntidadesEventosWS); } objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento; } /*Por cada Tipo Comprobante devuelto lo agrego en la B.D.*/ if (respuesta.ResultGet != null) { /*Primero Borra el listado de la base para cargarlo de Cero*/ objLogicaTiposCbtes.BorrarTodos(); foreach (AFIP_WSFEV1_Homologacion.CbteTipo cbteTipoItem in respuesta.ResultGet) { objEntidadesTiposCbtes.Id_TipoCbte = cbteTipoItem.Id; objEntidadesTiposCbtes.Descripcion = cbteTipoItem.Desc; if (cbteTipoItem.FchDesde != "NULL") { objEntidadesTiposCbtes.FchDesde = DateTime.ParseExact(cbteTipoItem.FchDesde, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); } if (cbteTipoItem.FchHasta != "NULL") { objEntidadesTiposCbtes.FchHasta = DateTime.ParseExact(cbteTipoItem.FchHasta, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); } objLogicaTiposCbtes.Agregar(objEntidadesTiposCbtes); } objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta; } return objEntidadesWebService_AFIP_Rta; }
/// <summary> /// Llama al WebService FECompUltimoAutorizado (Homologacion) /// 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_Homologacion(Entidades.Tickets_Acceso pTicket_Rta, int pPtoVenta) { Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS(); /* * https://wswhomo.afip.gov.ar/wsfev1/service.asmx?op=FECompUltimoAutorizado */ /*WebService*/ AFIP_WSFEV1_Homologacion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Homologacion.FEAuthRequest(); AFIP_WSFEV1_Homologacion.FERecuperaLastCbteResponse respuesta = new AFIP_WSFEV1_Homologacion.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_Homologacion.Service webService = new AFIP_WSFEV1_Homologacion.Service(); respuesta = webService.FECompUltimoAutorizado(autorizacion, pPtoVenta, cbteTipo); /*Por cada Error devuelto lo agrego en la B.D.*/ if (respuesta.Errors != null) { foreach (AFIP_WSFEV1_Homologacion.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_Homologacion.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; }