예제 #1
0
 public FECAEASinMovConsResponse FECAEASinMovimientoConsultar(FEAuthRequest Auth, string CAEA, int PtoVta) {
     object[] results = this.Invoke("FECAEASinMovimientoConsultar", new object[] {
                 Auth,
                 CAEA,
                 PtoVta});
     return ((FECAEASinMovConsResponse)(results[0]));
 }
예제 #2
0
        /// <summary>
        /// Llama al WebService FEParamGetTiposPaises
        /// Devuelve los Códigos de Paises y su descripción.
        /// Guarda en la B.D. el Código de País y su descripción
        /// </summary>
        /// <param name="pTicket_Rta"></param>
        public Entidades.WebServices_AFIP.RespuestaWS FEParamGetTiposPaises(Entidades.Tickets_Acceso pTicket_Rta)
        {
            Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS();
            /*
             * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FEParamGetTiposPaises
             */
            /*WebService*/
            AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest();
            AFIP_WSFEV1_Produccion.FEPaisResponse respuesta = new AFIP_WSFEV1_Produccion.FEPaisResponse();

            /*Paises Recuperados*/
            Entidades.TiposPaises objEntidadesPaises = new Entidades.TiposPaises();
            Logica.TiposPaises objLogicaPaises = new Logica.TiposPaises();
            /*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_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service();
            respuesta = webService.FEParamGetTiposPaises(autorizacion);
            
            /*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: FEParamGetTiposPaises";

                    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: FEParamGetTiposPaises";

                    objLogicaEventosWS.Agregar(objEntidadesEventosWS);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento;
            }

            /*Por cada Pais devuelto lo agrego en la B.D.*/
            if (respuesta.ResultGet != null)
            {
                /*Primero Borra el listado de la base para cargarlo de Cero*/
                objLogicaPaises.BorrarTodos();

                foreach (AFIP_WSFEV1_Produccion.PaisTipo paisItem in respuesta.ResultGet)
                {
                    objEntidadesPaises.Id_Pais = paisItem.Id;
                    objEntidadesPaises.Descripcion = paisItem.Desc;

                    objLogicaPaises.Agregar(objEntidadesPaises);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta;
            }

            return objEntidadesWebService_AFIP_Rta;
        }
예제 #3
0
        public Entidades.WebServices_AFIP.RespuestaWS FECAESolicitar(Entidades.Tickets_Acceso pTicket_Rta, Entidades.Comprobantes pCbte)
        {
            Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS();
            /*
             * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FEParamGetPtosVenta
             */
            /*WebService*/
            AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest();
            AFIP_WSFEV1_Produccion.FECAEResponse respuesta = new AFIP_WSFEV1_Produccion.FECAEResponse();

            AFIP_WSFEV1_Produccion.FECAERequest cbtePedido = new AFIP_WSFEV1_Produccion.FECAERequest();
            /*Puntos de Venta Recuperados*/
            Entidades.PtosVenta objEntidadesPtosVenta = new Entidades.PtosVenta();
            Logica.PtosVenta objLogicaPtosVenta = new Logica.PtosVenta();
            /*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;

            /*Asigno al CbteRequest los datos del Cbte*/

            /*CABECERA*/
            cbtePedido.FeCabReq.CantReg = 1;            
            cbtePedido.FeCabReq.PtoVta = pCbte.Id_PtoVenta;
            cbtePedido.FeCabReq.CbteTipo = pCbte.Id_TipoCbte;

            /*DETALLE*/
            int i = 0;
            cbtePedido.FeDetReq[i].Concepto = pCbte.Id_TipoConcepto;
            //pCbte.Id_Cliente;
            cbtePedido.FeDetReq[i].DocTipo = 80; /*ARREGLAR*/
            cbtePedido.FeDetReq[i].DocNro = 20335542402; /*ARREGLAR*/
            cbtePedido.FeDetReq[i].CbteDesde = pCbte.Nro_CbteDesde;
            cbtePedido.FeDetReq[i].CbteHasta = pCbte.Nro_CbteHasta;
            cbtePedido.FeDetReq[i].CbteFch = pCbte.CbteFch.ToString("yyyyMMdd");
            cbtePedido.FeDetReq[i].ImpTotal = pCbte.ImpTotal;
            cbtePedido.FeDetReq[i].ImpTotConc = pCbte.ImpTotConc;
            cbtePedido.FeDetReq[i].ImpNeto = pCbte.ImpNeto;
            cbtePedido.FeDetReq[i].ImpOpEx = pCbte.ImpOpEx;
            cbtePedido.FeDetReq[i].ImpIVA = pCbte.ImpIVA;
            cbtePedido.FeDetReq[i].ImpTrib = pCbte.ImpTrib;
            cbtePedido.FeDetReq[i].FchServDesde = pCbte.FchServDesde.ToString("yyyyMMdd");
            cbtePedido.FeDetReq[i].FchServHasta = pCbte.FchServHasta.ToString("yyyyMMdd");
            cbtePedido.FeDetReq[i].FchVtoPago = pCbte.FchVtoPago.ToString("yyyyMMdd");
            cbtePedido.FeDetReq[i].MonId = pCbte.Id_TipoMoneda;
            cbtePedido.FeDetReq[i].MonCotiz = pCbte.MonCotiz;
            
            /*CBTES ASOCIADOS*/
            //cbtePedido.FeDetReq[i].CbtesAsoc[a].Tipo = ;
            //cbtePedido.FeDetReq[i].CbtesAsoc[a].PtoVta = ;
            //cbtePedido.FeDetReq[i].CbtesAsoc[a].Nro = ;

            /*TRIBUTOS*/
            //cbtePedido.FeDetReq[i].Tributos[t].Id = ;
            //cbtePedido.FeDetReq[i].Tributos[t].Desc = ;
            //cbtePedido.FeDetReq[i].Tributos[t].BaseImp = ;
            //cbtePedido.FeDetReq[i].Tributos[t].Alic = ;
            //cbtePedido.FeDetReq[i].Tributos[t].Importe = ;

            /*IVA*/
            //cbtePedido.FeDetReq[i].Iva[v].Id = ;
            //cbtePedido.FeDetReq[i].Iva[v].BaseImp = ;
            //cbtePedido.FeDetReq[i].Iva[v].Importe = ;

            /*OPCIONALES*/
            //cbtePedido.FeDetReq[i].Opcionales[o].Id = ;
            //cbtePedido.FeDetReq[i].Opcionales[o].Valor = ;

            /*Llamo al WebService*/
            AFIP_WSFEV1_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service();
            respuesta = webService.FECAESolicitar(autorizacion, cbtePedido);

            return objEntidadesWebService_AFIP_Rta;
        }
예제 #4
0
 /// <remarks/>
 public void FEParamGetTiposPaisesAsync(FEAuthRequest Auth) {
     this.FEParamGetTiposPaisesAsync(Auth, null);
 }
예제 #5
0
        /// <summary>
        /// Llama al WebService FEParamGetPtosVenta
        /// 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 FEParamGetPtosVenta(Entidades.Tickets_Acceso pTicket_Rta)
        {
            Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS();
            /*
             * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FEParamGetPtosVenta
             */
            /*WebService*/
            AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest();
            AFIP_WSFEV1_Produccion.FEPtoVentaResponse respuesta = new AFIP_WSFEV1_Produccion.FEPtoVentaResponse();
            /*Puntos de Venta Recuperados*/
            Entidades.PtosVenta objEntidadesPtosVenta= new Entidades.PtosVenta();
            Logica.PtosVenta objLogicaPtosVenta = new Logica.PtosVenta();
            /*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_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service();
            respuesta = webService.FEParamGetPtosVenta(autorizacion);

            /*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: FEParamGetPtosVenta";

                    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: FEParamGetPtosVenta";

                    objLogicaEventosWS.Agregar(objEntidadesEventosWS);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento;
            }

            /*Por cada Documento devuelto lo agrego en la B.D.*/
            if (respuesta.ResultGet != null)
            {
                /*Primero Borra el listado de la base para cargarlo de Cero*/
                objLogicaPtosVenta.BorrarTodos();

                foreach (AFIP_WSFEV1_Produccion.PtoVenta ptoVentaItem in respuesta.ResultGet)
                {
                    objEntidadesPtosVenta.Id_PtoVenta = ptoVentaItem.Nro;
                    objEntidadesPtosVenta.EmisionTipo = ptoVentaItem.EmisionTipo;
                    objEntidadesPtosVenta.Bloqueado = Convert.ToChar(ptoVentaItem.Bloqueado);

                    if (ptoVentaItem.FchBaja != "NULL")
                    {
                        objEntidadesPtosVenta.FchBaja = DateTime.ParseExact(ptoVentaItem.FchBaja, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    }


                    objLogicaPtosVenta.Agregar(objEntidadesPtosVenta);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta;
            }

            return objEntidadesWebService_AFIP_Rta;
        }
예제 #6
0
 /// <remarks/>
 public void FEParamGetPtosVentaAsync(FEAuthRequest Auth) {
     this.FEParamGetPtosVentaAsync(Auth, null);
 }
예제 #7
0
 public DocTipoResponse FEParamGetTiposDoc(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetTiposDoc", new object[] {
                 Auth});
     return ((DocTipoResponse)(results[0]));
 }
예제 #8
0
 /// <remarks/>
 public void FECAEAConsultarAsync(FEAuthRequest Auth, int Periodo, short Orden) {
     this.FECAEAConsultarAsync(Auth, Periodo, Orden, null);
 }
예제 #9
0
 /// <remarks/>
 public void FECAEAConsultarAsync(FEAuthRequest Auth, int Periodo, short Orden, object userState) {
     if ((this.FECAEAConsultarOperationCompleted == null)) {
         this.FECAEAConsultarOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFECAEAConsultarOperationCompleted);
     }
     this.InvokeAsync("FECAEAConsultar", new object[] {
                 Auth,
                 Periodo,
                 Orden}, this.FECAEAConsultarOperationCompleted, userState);
 }
예제 #10
0
 /// <remarks/>
 public void FECAEASinMovimientoInformarAsync(FEAuthRequest Auth, int PtoVta, string CAEA, object userState) {
     if ((this.FECAEASinMovimientoInformarOperationCompleted == null)) {
         this.FECAEASinMovimientoInformarOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFECAEASinMovimientoInformarOperationCompleted);
     }
     this.InvokeAsync("FECAEASinMovimientoInformar", new object[] {
                 Auth,
                 PtoVta,
                 CAEA}, this.FECAEASinMovimientoInformarOperationCompleted, userState);
 }
예제 #11
0
 public FECAEAGetResponse FECAEAConsultar(FEAuthRequest Auth, int Periodo, short Orden) {
     object[] results = this.Invoke("FECAEAConsultar", new object[] {
                 Auth,
                 Periodo,
                 Orden});
     return ((FECAEAGetResponse)(results[0]));
 }
예제 #12
0
 /// <remarks/>
 public void FECAEASinMovimientoInformarAsync(FEAuthRequest Auth, int PtoVta, string CAEA) {
     this.FECAEASinMovimientoInformarAsync(Auth, PtoVta, CAEA, null);
 }
예제 #13
0
 public FECAEASinMovResponse FECAEASinMovimientoInformar(FEAuthRequest Auth, int PtoVta, string CAEA) {
     object[] results = this.Invoke("FECAEASinMovimientoInformar", new object[] {
                 Auth,
                 PtoVta,
                 CAEA});
     return ((FECAEASinMovResponse)(results[0]));
 }
예제 #14
0
 /// <remarks/>
 public void FECAEASinMovimientoConsultarAsync(FEAuthRequest Auth, string CAEA, int PtoVta) {
     this.FECAEASinMovimientoConsultarAsync(Auth, CAEA, PtoVta, null);
 }
예제 #15
0
 /// <remarks/>
 public void FEParamGetTiposConceptoAsync(FEAuthRequest Auth) {
     this.FEParamGetTiposConceptoAsync(Auth, null);
 }
예제 #16
0
 public FECotizacionResponse FEParamGetCotizacion(FEAuthRequest Auth, string MonId) {
     object[] results = this.Invoke("FEParamGetCotizacion", new object[] {
                 Auth,
                 MonId});
     return ((FECotizacionResponse)(results[0]));
 }
예제 #17
0
 public FEPtoVentaResponse FEParamGetPtosVenta(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetPtosVenta", new object[] {
                 Auth});
     return ((FEPtoVentaResponse)(results[0]));
 }
예제 #18
0
 /// <remarks/>
 public void FEParamGetCotizacionAsync(FEAuthRequest Auth, string MonId) {
     this.FEParamGetCotizacionAsync(Auth, MonId, null);
 }
예제 #19
0
 public CbteTipoResponse FEParamGetTiposCbte(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetTiposCbte", new object[] {
                 Auth});
     return ((CbteTipoResponse)(results[0]));
 }
예제 #20
0
 /// <remarks/>
 public void FEParamGetCotizacionAsync(FEAuthRequest Auth, string MonId, object userState) {
     if ((this.FEParamGetCotizacionOperationCompleted == null)) {
         this.FEParamGetCotizacionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFEParamGetCotizacionOperationCompleted);
     }
     this.InvokeAsync("FEParamGetCotizacion", new object[] {
                 Auth,
                 MonId}, this.FEParamGetCotizacionOperationCompleted, userState);
 }
예제 #21
0
 public FEPaisResponse FEParamGetTiposPaises(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetTiposPaises", new object[] {
                 Auth});
     return ((FEPaisResponse)(results[0]));
 }
예제 #22
0
 /// <remarks/>
 public void FEParamGetTiposTributosAsync(FEAuthRequest Auth) {
     this.FEParamGetTiposTributosAsync(Auth, null);
 }
예제 #23
0
 /// <remarks/>
 public void FEParamGetTiposPaisesAsync(FEAuthRequest Auth, object userState) {
     if ((this.FEParamGetTiposPaisesOperationCompleted == null)) {
         this.FEParamGetTiposPaisesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFEParamGetTiposPaisesOperationCompleted);
     }
     this.InvokeAsync("FEParamGetTiposPaises", new object[] {
                 Auth}, this.FEParamGetTiposPaisesOperationCompleted, userState);
 }
예제 #24
0
 public MonedaResponse FEParamGetTiposMonedas(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetTiposMonedas", new object[] {
                 Auth});
     return ((MonedaResponse)(results[0]));
 }
예제 #25
0
        /// <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;
        }
예제 #26
0
 public OpcionalTipoResponse FEParamGetTiposOpcional(FEAuthRequest Auth) {
     object[] results = this.Invoke("FEParamGetTiposOpcional", new object[] {
                 Auth});
     return ((OpcionalTipoResponse)(results[0]));
 }
예제 #27
0
        /// <summary>
        /// Llama al WebService FECompConsultar
        /// Devuelve los Comprobantes ya aprobados.
        /// NOTA: El Servicio FECompConsultar funciona a partir del 28-07-2015, para comprobantes con fechas anteriores devuelve error
        /// </summary>
        /// <param name="pTicket_Rta"></param>
        public Entidades.WebServices_AFIP.RespuestaWS FECompConsultar(Entidades.Tickets_Acceso pTicket_Rta, int pPtoVenta, int pTipoCbte, long NroCbteDesde, long NroCbteHasta)
        {
            Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS();
            /*
             * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FECompConsultar
             */
            /*WebService*/
            AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest();
            AFIP_WSFEV1_Produccion.FECompConsultaResponse respuesta = new AFIP_WSFEV1_Produccion.FECompConsultaResponse();
            /*Comprobante a Consultar*/
            AFIP_WSFEV1_Produccion.FECompConsultaReq cbteAConsultar = new AFIP_WSFEV1_Produccion.FECompConsultaReq();
            /*Comprobantes Recuperados*/
            Entidades.Comprobantes_Autorizados objEntidadesCbtesAutorizados = new Entidades.Comprobantes_Autorizados();
            Logica.Comprobantes_Autorizados objLogicaCbtesAutorizados = new Logica.Comprobantes_Autorizados();
            /*Comprobantes Recuperados*/
            Logica.UltCbtesAutorizados objLogicaUltCbteAutorizado = new Logica.UltCbtesAutorizados();
            /*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;

            /*Asigno los datos al Comprobante a Consultar*/
            cbteAConsultar.PtoVta = pPtoVenta;
            cbteAConsultar.CbteTipo = pTipoCbte;

            /*Busco cual es el Ultimo Nro de Comprobante Autorizado para recorrer hasta ese*/
            long ultCbteAutorizado = objLogicaUltCbteAutorizado.TraerUltNro(cbteAConsultar.PtoVta, cbteAConsultar.CbteTipo);

            /*Si el Pedido es mayor al Ultimo CbteAutorizado lo actualizo*/
            if (NroCbteHasta > ultCbteAutorizado)
            {
                NroCbteHasta = ultCbteAutorizado;
            }

            /*Primero Borra el listado de la base para cargarlo de Cero*/
            objLogicaCbtesAutorizados.BorrarCbtesEspecifico(cbteAConsultar.PtoVta, cbteAConsultar.CbteTipo);

            for (long i = NroCbteDesde; i <= NroCbteHasta; i++)
            {
                /*Asigno el Nro a Comprobar*/
                cbteAConsultar.CbteNro = i;

                /*Llamo al WebService*/
                AFIP_WSFEV1_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service();
                respuesta = webService.FECompConsultar(autorizacion, cbteAConsultar);

                /*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: FECompConsulta. Nro. Cbte = " + cbteAConsultar.CbteNro.ToString() + " Tipo Cbte = " + cbteAConsultar.CbteTipo.ToString() + " Punto Venta = " + cbteAConsultar.PtoVta.ToString();

                        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;
                        objEntidadesErroresWS.Observaciones = "Llamando al WS: FECompConsulta. Nro. Cbte = " + cbteAConsultar.CbteNro.ToString() + " Tipo Cbte = " + cbteAConsultar.CbteTipo.ToString() + " Punto Venta = " + cbteAConsultar.PtoVta.ToString();

                        objLogicaEventosWS.Agregar(objEntidadesEventosWS);
                    }

                    objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento;
                }

                /*Por cada Comprobante Autorizado devuelto lo agrego en la B.D.*/
                if (respuesta.ResultGet != null)
                {
                    objEntidadesCbtesAutorizados.Id_PtoVenta = Convert.ToInt16(respuesta.ResultGet.PtoVta);
                    objEntidadesCbtesAutorizados.Id_TipoCbte = respuesta.ResultGet.CbteTipo;
                    objEntidadesCbtesAutorizados.Id_TipoConcepto = respuesta.ResultGet.Concepto;
                    objEntidadesCbtesAutorizados.Id_TipoDoc = respuesta.ResultGet.DocTipo;
                    objEntidadesCbtesAutorizados.DocNro = respuesta.ResultGet.DocNro;
                    objEntidadesCbtesAutorizados.Nro_CbteDesde = respuesta.ResultGet.CbteDesde;
                    objEntidadesCbtesAutorizados.Nro_CbteHasta = respuesta.ResultGet.CbteHasta;
                    objEntidadesCbtesAutorizados.CbteFch = DateTime.ParseExact(respuesta.ResultGet.CbteFch, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    objEntidadesCbtesAutorizados.ImpTotal = respuesta.ResultGet.ImpTotal;
                    objEntidadesCbtesAutorizados.ImpTotConc = respuesta.ResultGet.ImpTotConc;
                    objEntidadesCbtesAutorizados.ImpNeto = respuesta.ResultGet.ImpNeto;
                    objEntidadesCbtesAutorizados.ImpOpEx = respuesta.ResultGet.ImpOpEx;
                    objEntidadesCbtesAutorizados.ImpTrib = respuesta.ResultGet.ImpTrib;
                    objEntidadesCbtesAutorizados.ImpIVA = respuesta.ResultGet.ImpIVA;
                    objEntidadesCbtesAutorizados.FchServDesde = DateTime.ParseExact(respuesta.ResultGet.FchServDesde, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    objEntidadesCbtesAutorizados.FchServHasta = DateTime.ParseExact(respuesta.ResultGet.FchServHasta, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    objEntidadesCbtesAutorizados.FchVtoPago = DateTime.ParseExact(respuesta.ResultGet.FchVtoPago, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    objEntidadesCbtesAutorizados.Id_TipoMoneda = respuesta.ResultGet.MonId;
                    objEntidadesCbtesAutorizados.MonCotiz = respuesta.ResultGet.MonCotiz;
                    objEntidadesCbtesAutorizados.Resultado = respuesta.ResultGet.Resultado;
                    objEntidadesCbtesAutorizados.CodAutorizacion = respuesta.ResultGet.CodAutorizacion;
                    objEntidadesCbtesAutorizados.EmisionTipo = respuesta.ResultGet.EmisionTipo;
                    objEntidadesCbtesAutorizados.FchVto = DateTime.ParseExact(respuesta.ResultGet.FchVto, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    objEntidadesCbtesAutorizados.FchProceso = DateTime.ParseExact(respuesta.ResultGet.FchProceso, "yyyyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture);

                    objLogicaCbtesAutorizados.Agregar(objEntidadesCbtesAutorizados);

                    objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta;
                }
            }

            return objEntidadesWebService_AFIP_Rta;
        }
예제 #28
0
 /// <remarks/>
 public void FEParamGetTiposOpcionalAsync(FEAuthRequest Auth) {
     this.FEParamGetTiposOpcionalAsync(Auth, null);
 }
예제 #29
0
        /// <summary>
        /// Llama al WebService FEParamGetTiposMonedas
        /// Devuelve los Códigos de Tipos Monedas y su descripción.
        /// Guarda en la B.D. el Tipo Monedas y su descripción
        /// </summary>
        /// <param name="pTicket_Rta"></param>
        public Entidades.WebServices_AFIP.RespuestaWS FEParamGetTiposMonedas(Entidades.Tickets_Acceso pTicket_Rta)
        {
            Entidades.WebServices_AFIP.RespuestaWS objEntidadesWebService_AFIP_Rta = new Entidades.WebServices_AFIP.RespuestaWS();
            /*
             * https://servicios1.afip.gov.ar/wsfev1/service.asmx?op=FEParamGetTiposMonedas
             */
            /*WebService*/
            AFIP_WSFEV1_Produccion.FEAuthRequest autorizacion = new AFIP_WSFEV1_Produccion.FEAuthRequest();
            AFIP_WSFEV1_Produccion.MonedaResponse respuesta = new AFIP_WSFEV1_Produccion.MonedaResponse();
            /*Tipos de Monedas Recuperados*/
            Entidades.TiposMonedas objEntidadesTiposMonedas = new Entidades.TiposMonedas();
            Logica.TiposMonedas objLogicaTiposMonedas = new Logica.TiposMonedas();
            /*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_Produccion.Service webService = new AFIP_WSFEV1_Produccion.Service();
            respuesta = webService.FEParamGetTiposMonedas(autorizacion);

            /*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: FEParamGetTiposMonedas";

                    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: FEParamGetTiposMonedas";

                    objLogicaEventosWS.Agregar(objEntidadesEventosWS);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Evento;
            }

            /*Por cada Documento devuelto lo agrego en la B.D.*/
            if (respuesta.ResultGet != null)
            {
                /*Primero Borra el listado de la base para cargarlo de Cero*/
                objLogicaTiposMonedas.BorrarTodos();

                foreach (AFIP_WSFEV1_Produccion.Moneda monedaTipoItem in respuesta.ResultGet)
                {
                    objEntidadesTiposMonedas.Id_TipoMoneda = monedaTipoItem.Id;
                    objEntidadesTiposMonedas.Descripcion = monedaTipoItem.Desc;
                    if (monedaTipoItem.FchDesde != "NULL")
                    {
                        objEntidadesTiposMonedas.FchDesde = DateTime.ParseExact(monedaTipoItem.FchDesde, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    }
                    if (monedaTipoItem.FchHasta != "NULL")
                    {
                        objEntidadesTiposMonedas.FchHasta = DateTime.ParseExact(monedaTipoItem.FchHasta, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
                    }

                    objLogicaTiposMonedas.Agregar(objEntidadesTiposMonedas);
                }

                objEntidadesWebService_AFIP_Rta = Entidades.WebServices_AFIP.RespuestaWS.Correcta;
            }

            return objEntidadesWebService_AFIP_Rta;
        }
예제 #30
0
 /// <remarks/>
 public void FECAEARegInformativoAsync(FEAuthRequest Auth, FECAEARequest FeCAEARegInfReq, object userState) {
     if ((this.FECAEARegInformativoOperationCompleted == null)) {
         this.FECAEARegInformativoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFECAEARegInformativoOperationCompleted);
     }
     this.InvokeAsync("FECAEARegInformativo", new object[] {
                 Auth,
                 FeCAEARegInfReq}, this.FECAEARegInformativoOperationCompleted, userState);
 }