/// <summary> /// Obtiene informacion de respuesta de autorizacion para un comprobante /// </summary> /// <param name="aut">Autorizacion</param> /// <param name="tipoComprobante">Tipo de Comprobante</param> /// <param name="nroComprobante">Nro de Comprobante</param> /// <param name="ptoVta">Punto de Venta</param> /// <returns>Respuesta simil a la de solicitud de CAE</returns> public ClsFEXGetCMPR DatosDeComprobante( Autorizacion aut, int tipoComprobante, long nroComprobante, int ptoVta ) { ClsFEXAuthRequest feAutRequest = this.wa.ConvertirFex( aut ); ClsFEXGetCMP solicitud = new ClsFEXGetCMP(); solicitud.Cbte_nro = nroComprobante; solicitud.Tipo_cbte = (short)tipoComprobante; solicitud.Punto_vta = (short)ptoVta; FEXGetCMPResponse respuesta = this.wsfe.FEXGetCMP( feAutRequest, solicitud ); this.managerErrores.CapturarError( respuesta.FEXErr ); return respuesta.FEXResultGet; }
public FEXGetCMPResponse GetComprobante(ClsFEXAuthRequest fexAuthRequest, ClsFEXGetCMP fexGetCmp) { try { using (Ws.Wsfex.ServiceSoapClient client = new Ws.Wsfex.ServiceSoapClient()) { return(client.FEXGetCMP(fexAuthRequest, fexGetCmp)); } } catch (Exception excepcionAlInvocarWsfe) { throw new Exception(errorWsfex + excepcionAlInvocarWsfe.Message); } }
public FEXGetCMPResponse GetComprobante(ClsFEXAuthRequest fexAuthRequest, ClsFEXGetCMP fexGetCmp) { AfipWrapperServiceClient client = new AfipWrapperServiceClient(); ClientCredentialHelper.SetCredentials(client.ClientCredentials); try { var t = client.GetComprobante(fexAuthRequest, fexGetCmp); client.Close(); return(t); } catch { if (client.State != System.ServiceModel.CommunicationState.Closed) { client.Abort(); } throw; } }
/// <remarks/> public void FEXGetCMPAsync( ClsFEXAuthRequest Auth, ClsFEXGetCMP Cmp, object userState ) { if ( ( this.FEXGetCMPOperationCompleted == null ) ) { this.FEXGetCMPOperationCompleted = new System.Threading.SendOrPostCallback( this.OnFEXGetCMPOperationCompleted ); } this.InvokeAsync( "FEXGetCMP", new object[] { Auth, Cmp}, this.FEXGetCMPOperationCompleted, userState ); }
/// <remarks/> public void FEXGetCMPAsync( ClsFEXAuthRequest Auth, ClsFEXGetCMP Cmp ) { this.FEXGetCMPAsync( Auth, Cmp, null ); }
public FEXGetCMPResponse FEXGetCMP( ClsFEXAuthRequest Auth, ClsFEXGetCMP Cmp ) { object[] results = this.Invoke( "FEXGetCMP", new object[] { Auth, Cmp} ); return ( (FEXGetCMPResponse) ( results[0] ) ); }
/// <remarks/> public System.IAsyncResult BeginFEXGetCMP( ClsFEXAuthRequest Auth, ClsFEXGetCMP Cmp, System.AsyncCallback callback, object asyncState ) { return this.BeginInvoke( "FEXGetCMP", new object[] { Auth, Cmp}, callback, asyncState ); }
private void btnConsultar_Click(object sender, EventArgs e) { this.txtResultados.Text = string.Empty; if (cbWebService.SelectedItem != null) { string selectedValue = (cbWebService.SelectedItem as WebServiceAfipDto).Nombre.Trim(); if (selectedValue == GetTiposMonedasNombre) { this.gridResultados.DataSource = this.client.GetTiposMonedas(this.ticket).ResultGet; } else if (selectedValue == GetTiposCbtesNombre) { this.gridResultados.DataSource = this.client.GetTiposCbte(this.ticket).ResultGet; } else if (selectedValue == GetTiposTributosNombre) { this.gridResultados.DataSource = this.client.GetTiposTributos(this.ticket).ResultGet; } else if (selectedValue == GetTiposIvaNombre) { this.gridResultados.DataSource = this.client.GetTiposIva(this.ticket).ResultGet; } else if (selectedValue == GetTiposOpcionalNombre) { this.gridResultados.DataSource = this.client.GetTiposOpcional(this.ticket).ResultGet; } else if (selectedValue == CompTotXRequestNombre) { this.txtResultados.Text = this.client.CompTotXRequest(this.ticket).RegXReq.ToString(); } else if (selectedValue == GetTiposDocNombre) { this.gridResultados.DataSource = this.client.GetTiposDoc(this.ticket).ResultGet; } else if (selectedValue == CompUltimoAutorizadoNombre) { if (string.IsNullOrEmpty(this.txtPtoVta.Text)) { MessageBox.Show("Debe ingresar un valor para el Punto de Venta", "Validación campos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } int ptoVtaInt = int.Parse(this.txtPtoVta.Text); int cbteTipo = int.Parse(this.cbTiposCbte.SelectedValue.ToString()); FERecuperaLastCbteResponse result = this.client.CompUltimoAutorizado(this.ticket, ptoVtaInt, cbteTipo); var tiposDeComprobante = ComprobanteService.ObtenerTiposComprobantes(); string tipoComprobanteStr = result.CbteTipo.ToString(); var tipoDeComprobante = tiposDeComprobante.Where(t => t.CodigoAfip.HasValue && t.CodigoAfip.Value == result.CbteTipo).SingleOrDefault(); if (tipoDeComprobante != null) { tipoComprobanteStr = string.Format("{0}, AFIP {1} {2}", tipoDeComprobante.Codigo, tipoDeComprobante.CodigoAfip, tipoDeComprobante.Descripcion); } this.txtResultados.Text = string.Format(@"CbteNro: {0}{1}CbteTipo: {2}{3}PtoVta: {4}{5}", result.CbteNro, Environment.NewLine, tipoComprobanteStr, Environment.NewLine, result.PtoVta, Environment.NewLine); } else if (selectedValue == GetTiposConceptoNombre) { this.gridResultados.DataSource = this.client.GetTiposConcepto(this.ticket).ResultGet; } else if (selectedValue == GetCotizacionNombre) { string monId = this.cbMoneda.SelectedValue.ToString(); Cotizacion cotizacion = this.client.GetCotizacion(this.ticket, monId).ResultGet; if (cotizacion != null) { this.txtResultados.Text = string.Format(@"Fecha: {0}{1}Cotizacion: ${2}{3}", DateTime.ParseExact(cotizacion.FchCotiz, "yyyyMMdd", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"), Environment.NewLine, cotizacion.MonCotiz, Environment.NewLine); } else { this.txtResultados.Text = "No hay cotizacion disponible"; } } else if (selectedValue == FEXGetLast_ID) { this.gridResultados.DataSource = this.client.GetLastId(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_Cbte_Tipo) { this.gridResultados.DataSource = this.client.GetTiposComprobantes(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_DST_CUIT) { this.gridResultados.DataSource = this.client.GetCuits(this.ticketFex).FEXResultGet.OrderBy(c => c.DST_Ds).ToList(); } else if (selectedValue == FEXGetPARAM_DST_pais) { this.gridResultados.DataSource = this.client.GetPaises(this.ticketFex).FEXResultGet.OrderBy(p => p.DST_Ds).ToList(); } else if (selectedValue == FEXGetPARAM_Idiomas) { this.gridResultados.DataSource = this.client.GetIdiomas(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_Incoterms) { this.gridResultados.DataSource = this.client.GetIncoterms(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_MON) { this.gridResultados.DataSource = this.client.GetMonedas(this.ticketFex).FEXResultGet.OrderBy(m => m.Mon_Ds).ToList(); } else if (selectedValue == FEXGetPARAM_PtoVenta) { this.gridResultados.DataSource = this.client.GetPuntosDeVenta(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_Tipo_Expo) { this.gridResultados.DataSource = this.client.GetTiposDeExportacion(this.ticketFex).FEXResultGet; } else if (selectedValue == FEXGetPARAM_UMed) { this.gridResultados.DataSource = this.client.GetUnidadesDeMedida(this.ticketFex).FEXResultGet.Where(u => u != null).OrderBy(u => u.Umed_Ds).ToList(); } if (selectedValue == GetTiposMonedasNombre || selectedValue == GetTiposCbtesNombre || selectedValue == GetTiposTributosNombre || selectedValue == GetTiposIvaNombre || selectedValue == GetTiposOpcionalNombre || selectedValue == GetTiposDocNombre || selectedValue == GetTiposConceptoNombre) { this.lblResultados.Text = string.Format("Resultados: {0} registros", this.gridResultados.RowCount); } else if (selectedValue == FEXGetCMP) { if (string.IsNullOrEmpty(this.txtNroCbteFex.Text.Trim()) || string.IsNullOrEmpty(this.cbTiposCbteFex.SelectedValue.ToString()) || string.IsNullOrEmpty(this.cbPtosVtaFex.SelectedValue.ToString())) { MensajeValidarParametros(); return; } ClsFEXGetCMP fexGetCmp = new ClsFEXGetCMP(); fexGetCmp.Cbte_nro = long.Parse(this.txtNroCbteFex.Text.Trim()); fexGetCmp.Cbte_tipo = short.Parse(this.cbTiposCbteFex.SelectedValue.ToString()); fexGetCmp.Punto_vta = short.Parse(this.cbPtosVtaFex.SelectedValue.ToString()); FEXGetCMPResponse result = this.client.GetComprobante(this.ticketFex, fexGetCmp); // TODO: mostrar resultado } else if (selectedValue == FEXGetLast_CMP) { if (string.IsNullOrEmpty(this.cbTiposCbteFex.SelectedValue.ToString()) || string.IsNullOrEmpty(this.cbPtosVtaFex.SelectedValue.ToString())) { MensajeValidarParametros(); return; } ClsFEX_LastCMP fexLastCmp = new ClsFEX_LastCMP(); fexLastCmp.Cbte_Tipo = short.Parse(this.cbTiposCbteFex.SelectedValue.ToString()); fexLastCmp.Pto_venta = short.Parse(this.cbPtosVtaFex.SelectedValue.ToString()); fexLastCmp.Cuit = this.ticketFex.Cuit; fexLastCmp.Sign = this.ticketFex.Sign; fexLastCmp.Token = this.ticketFex.Token; FEXResponseLast_CMP result = this.client.GetUltimoComprobanteAutorizado(fexLastCmp); // TODO: mostrar resultado } else if (selectedValue == FEXGetLast_ID) { FEXResponse_LastID result = this.client.GetLastId(this.ticketFex); this.txtResultados.Text = result.FEXResultGet.Id.ToString(); } else if (selectedValue == FEXGetPARAM_Ctz) { if (string.IsNullOrEmpty(this.cbMoneda.SelectedValue.ToString())) { MensajeValidarParametros(); return; } string monId = this.cbMoneda.SelectedValue.ToString(); FEXResponse_Ctz cotizacion = this.client.GetFexCotizacion(this.ticketFex, monId); if (cotizacion != null) { this.txtResultados.Text = string.Format(@"Fecha: {0}{1}Cotizacion: ${2}{3}", DateTime.ParseExact(cotizacion.FEXResultGet.Mon_fecha, "yyyyMMdd", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"), Environment.NewLine, cotizacion.FEXResultGet.Mon_ctz, Environment.NewLine); } else { this.txtResultados.Text = "No hay cotizacion disponible"; } } } }