Ejemplo n.º 1
0
        /// <summary> 
        /// Funcion Main (consola) 
        /// </summary> 
        /// <param name="args">Argumentos de linea de comandos</param> 
        /// <returns>0 si terminó bien, valores negativos si hubieron errores</returns> 
        /// <remarks></remarks> 
        public override void GetTicket()
        {
            //string certSigner = @"C:\Diego\Proyectos\FacturaElect\Afip - Ejemplos Codigo\FeCertificadoDesarrollo\certificadoAFIP.crt";
            ILoginCMSClient unLoginCMSClientProd = (ILoginCMSClient)new LoginCMSClientHomo();

            LoginTicket loginTicket = new LoginTicket(unLoginCMSClientProd);
            string ticketReponse = loginTicket.ObtenerLoginTicketResponse(DEFAULT_SERVICIO, DEFAULT_CERTSIGNERSUBJECT, false, StoreName.TrustedPeople, StoreLocation.CurrentUser);

            Console.WriteLine(loginTicket.Token);
            FEAuthRequest feAuthRequest = new FEAuthRequest();

            string cuit = "30559697857";
            this.Cuit = Convert.ToInt64(cuit);
            this.Sign = loginTicket.Sign;
            this.Token = loginTicket.Token;

            // MIGRAR LA BUSQUEDA A LA CLASE COMPROBANTE

            IComprobante unComprobante = new ComprobanteHomo(this);
            unComprobante.ObtenerCompUltimoAutorizado();

            /*
             *
            string cuit = "30559697857";
            FEAuthRequest feAuthRequest = new FEAuthRequest();
            feAuthRequest.Cuit = Convert.ToInt64(cuit);
            feAuthRequest.Sign = loginTicket.Sign;
            feAuthRequest.Token = loginTicket.Token;
             */
        }
Ejemplo n.º 2
0
 public Comprobante ObtenerCompUltimoAutorizado()
 {
     FEAuthRequest feAuthRequest = new FEAuthRequest();
     // MIGRAR LA BUSQUEDA A LA CLASE COMPROBANTE
     feAuthRequest.Cuit = _ticket.Cuit;
     feAuthRequest.Sign = _ticket.Sign;
     feAuthRequest.Token = _ticket.Token;
     ServiceSoapClient client = new ServiceSoapClient();
     FERecuperaLastCbteResponse result = client.FECompUltimoAutorizado(feAuthRequest, 27, 1);
     Console.WriteLine(" ULTIMO COMPROBANTE PARA  EL PVTA 27 TIPO TIPO COMPROBANTE 1 - FACTURA ");
     Console.WriteLine(result.CbteNro);
     return new Comprobante();
 }
Ejemplo n.º 3
0
        /// <summary> 
        /// Funcion Main (consola) 
        /// </summary> 
        /// <param name="args">Argumentos de linea de comandos</param> 
        /// <returns>0 si terminó bien, valores negativos si hubieron errores</returns> 
        /// <remarks></remarks> 
        public override void GetTicket()
        {
            //string certSigner = @"C:\Diego\Proyectos\FacturaElect\Afip - Ejemplos Codigo\FeCertificadoDesarrollo\certificadoAFIP.crt";
            ILoginCMSClient unLoginCMSClientProd = (ILoginCMSClient)new LoginCMSClientProd();

            LoginTicket loginTicket = new LoginTicket(unLoginCMSClientProd);
            string ticketReponse = loginTicket.ObtenerLoginTicketResponse( DEFAULT_SERVICIO, DEFAULT_CERTSIGNERSUBJECT, false, StoreName.TrustedPeople, StoreLocation.CurrentUser);

            Console.WriteLine(loginTicket.Token);
            FEAuthRequest feAuthRequest = new FEAuthRequest();

            string cuit = "30559697857";
            this.Cuit = Convert.ToInt64(cuit);
            this.Sign = loginTicket.Sign;
            this.Token = loginTicket.Token;

            // MIGRAR LA BUSQUEDA A LA CLASE COMPROBANTE
            /*feAuthRequest.Cuit = Convert.ToInt64(cuit);
            feAuthRequest.Sign = loginTicket.Sign;
            feAuthRequest.Token = loginTicket.Token;

            ServiceSoapClient client = new ServiceSoapClient();

            FERecuperaLastCbteResponse result = client.FECompUltimoAutorizado(feAuthRequest, 27, 1);

            Console.WriteLine(" ULTIMO COMPROBANTE PARA  EL PVTA 27 TIPO TIPO COMPROBANTE 1 - FACTURA ");
            Console.WriteLine(result.CbteNro);*/

            IComprobante unComprobante = new ComprobanteProd(this);
            unComprobante.ObtenerCompUltimoAutorizado();

            /*
             *
            string cuit = "30559697857";
            FEAuthRequest feAuthRequest = new FEAuthRequest();
            feAuthRequest.Cuit = Convert.ToInt64(cuit);
            feAuthRequest.Sign = loginTicket.Sign;
            feAuthRequest.Token = loginTicket.Token;*/
        }
Ejemplo n.º 4
0
        private bool GetCae()
        {
            try
            {
                lblStatus.Text      = @"Importando registros";
                barProgress.Style   = ProgressBarStyle.Continuous;
                barProgress.Maximum = _dataAfip.Facturas.Count;

                _db.Connect();

                var wsaa = new WsaaClient();

                var pass = new SecureString();

                foreach (var c in ConfigInfo.PfxPass)
                {
                    pass.AppendChar(c);
                }

                pass.MakeReadOnly();

                wsaa.ObtenerLoginTicketResponse("wsfe", ConfigInfo.WsaaUrl, ConfigInfo.PfxPath, pass, null, null, null, true);

                var authRequest = new FEAuthRequest
                {
                    Token = wsaa.Token,
                    Sign  = wsaa.Sign,
                    Cuit  = ConfigInfo.CUIT
                };

                var svcWsfe = new Afip.Wsfe.Service
                {
                    Url = ConfigInfo.WsfeUrl
                };

                var sb = new StringBuilder();

                foreach (var f in _dataAfip.Facturas)
                {
                    var cab = new FECAECabRequest
                    {
                        CantReg  = 1,
                        PtoVta   = f.PuntoVenta,
                        CbteTipo = f.TipoComprobante
                    };

                    var det = new FECAEDetRequest
                    {
                        Concepto     = 1,
                        DocTipo      = f.CodigoDocumento,
                        DocNro       = f.IdComprador,
                        CbteDesde    = f.NumeroComprobante,
                        CbteHasta    = f.NumeroComprobanteRegistrado,
                        CbteFch      = f.FechaComprobante.ToString(),
                        ImpTotal     = f.ImporteTotal,
                        ImpTotConc   = f.ImporteTotalSinNetoGravado,
                        ImpNeto      = f.ImporteNetoGravado,
                        ImpOpEx      = f.ImporteOperacionesExentas,
                        ImpTrib      = f.ImportePagosCuentaImpuestos,
                        ImpIVA       = f.ImpuestoLiquidado,
                        FchServDesde = f.FechaDesde.ToString(),
                        FchServHasta = f.FechaHasta.ToString(),
                        FchVtoPago   = f.FechaVencimientoPago.ToString(),
                        MonId        = "PES",
                        MonCotiz     = 1
                    };

                    var req = new FECAERequest
                    {
                        FeCabReq = cab,
                        FeDetReq = new[]
                        {
                            det
                        }
                    };

                    var response = svcWsfe.FECAESolicitar(authRequest, req);

                    var saveData = true;

                    if (response.FeDetResp[0].Observaciones != null)
                    {
                        foreach (var o in response.FeDetResp[0].Observaciones)
                        {
                            sb.AppendLine($"Obs: {o.Code} - {o.Msg}");
                        }

                        saveData = false;
                    }

                    if (response.Errors != null)
                    {
                        foreach (var o in response.Errors)
                        {
                            sb.AppendLine($"Err: {o.Code} - {o.Msg}");
                        }

                        saveData = false;
                    }

                    if (response.Events != null)
                    {
                        foreach (var o in response.Events)
                        {
                            sb.AppendLine($"Evt: {o.Code} - {o.Msg}");
                        }

                        saveData = false;
                    }

                    if (saveData)
                    {
                        var query = "UPDATE Facturas SET Cae = @Cae, CaeVto = @CaeVto WHERE IdArchivo = @IdArchivo AND Id = @Id";

                        var parameters = new Hashtable
                        {
                            { "@Cae", response.FeDetResp[0].CAE },
                            { "@CaeVto", response.FeDetResp[0].CAEFchVto },
                            { "@IdArchivo", f.IdArchivo },
                            { "@Id", f.Id }
                        };

                        _db.ExecuteNonQuery(query, parameters);
                    }

                    lblStatus.Text = $@"Registro {barProgress.Value}/{barProgress.Maximum}";
                    barProgress.PerformStep();

                    Application.DoEvents();
                }

                if (sb.Length > 0)
                {
                    throw new ApplicationException(sb.ToString());
                }

                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

                return(false);
            }
            finally
            {
                lblStatus.Text    = string.Empty;
                barProgress.Value = 0;

                _db.Disconnect();
            }
        }