/// <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; */ }
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(); }
/// <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;*/ }
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(); } }