示例#1
0
        /// <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;
        }
示例#2
0
        /// <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;
        }