private void recuperarAutorizacionAction_Execute(object sender, SimpleActionExecuteEventArgs e) { //cargar identificadores y sesión de la AFIP. Si no hay una válida, se inicia una nueva sesión y se guardan los cambios en la DB var objSpace = ( XPObjectSpace )Application.CreateObjectSpace( ); var identificadores = Identificadores.GetInstance(objSpace); if (identificadores.FacturaElectronicaEnte == null) { throw new Exception("Ente de factura electrónica no definida para esta empresa"); } var sesionWsfe = identificadores.FacturaElectronicaEnte.GetSesion(Sesion.ServicioWSFE); objSpace.CommitChanges( ); var comprobante = ( Comprobante )View.CurrentObject; //if ( comprobante.AutorizadaResultado == "A" ) // throw new Exception( "Comprobante ya autorizado" ); var request = new FECompConsultaReq { CbteNro = comprobante.Numero, CbteTipo = Convert.ToInt32(((ComprobanteTipo)comprobante.Tipo.GetMemberValue(AFIPModule.PropertyNameCodigoAfip)).Codigo), PtoVta = comprobante.Sector }; var resp = ConsultarAutorizacion(sesionWsfe, request); if (resp.Errors != null && resp.Errors.Count > 0) { var err = resp.Errors.Aggregate("", (current, error) => current + (error.Code + " - " + error.Msg + "\n")); //TODO errores de Encoding. No encontre otra manera de arreglarlo err = err.Replace("ó", "ó").Replace("ú", "ú"); comprobante.AutorizadaNotas = err; throw new Exception("Error en la operación:\n" + err); } if (resp.ResultGet == null) { throw new Exception("Error en la operación:\nNo se obtuvieron datos para la consulta"); } comprobante.AutorizadaResultado = resp.ResultGet.Resultado; comprobante.AutorizadaNotas = ""; if (resp.ResultGet.Observaciones != null && resp.ResultGet.Observaciones.Count > 0) { var obs = resp.ResultGet.Observaciones.Aggregate("", (current, observacion) => current + (observacion.Code + " - " + observacion.Msg + "\n")); comprobante.AutorizadaNotas += obs; } comprobante.AutorizadaCodigo = resp.ResultGet.CodAutorizacion; if (!string.IsNullOrWhiteSpace(resp.ResultGet.FchVto)) { comprobante.AutorizadaCodigoFecVto = new DateTime(Convert.ToInt32(resp.ResultGet.FchVto.Substring(0, 4)), Convert.ToInt32(resp.ResultGet.FchVto.Substring(4, 2)), Convert.ToInt32(resp.ResultGet.FchVto.Substring(6, 2))); } }
private FECompConsultaResponse ObtenerComprobanteAfip(FEAuthRequest feAuthRequest, FECAERequest feCAERequest, long cbteNro) { WsfeClient client = new WsfeClient(); FECompConsultaReq feCompConsultaReq = new FECompConsultaReq(); feCompConsultaReq.CbteNro = cbteNro; feCompConsultaReq.CbteTipo = feCAERequest.FeCabReq.CbteTipo; feCompConsultaReq.PtoVta = feCAERequest.FeCabReq.PtoVta; return(client.CompConsultar(feAuthRequest, feCompConsultaReq)); }
public FECompConsultaResponse CompConsultar(FEAuthRequest feAuthRequest, FECompConsultaReq feCompConsultaReq) { try { FECompConsultaResponse result; using (ServiceSoapClient client = new ServiceSoapClient()) { return(result = client.FECompConsultar(feAuthRequest, feCompConsultaReq)); } } catch (Exception excepcionAlInvocarWsfe) { throw new Exception("***Error INVOCANDO al servicio WFSE : " + excepcionAlInvocarWsfe.Message); } }
public bool CmpConsultar(int Tipo_cbte, int Punto_vta, long nro, ref FECompConsultaResponse Cbte) { FECompConsultaReq request = new FECompConsultaReq(); request.CbteTipo = Tipo_cbte; request.PtoVta = Punto_vta; request.CbteNro = nro; FECompConsultaResponse response = getClient().FECompConsultar(mAuthRequest, request); if (!isError(response.Errors)) { Cbte = response; return(true); } return(false); }
public async Task <bool> CmpConsultar(int Tipo_cbte, int Punto_vta, long nro, FECompConsultaResponse Cbte) { FECompConsultaReq request = new FECompConsultaReq(); request.CbteTipo = Tipo_cbte; request.PtoVta = Punto_vta; request.CbteNro = nro; FECompConsultarResponse response = await getClient().FECompConsultarAsync(mAuthRequest, request); if (!isError(response.Body.FECompConsultarResult.Errors)) { _Comp = response.Body.FECompConsultarResult; return(true); } return(false); }
public FECompConsultaResponse CompConsultar(FEAuthRequest feAuthRequest, FECompConsultaReq feCompConsultaReq) { AfipWrapperServiceClient client = new AfipWrapperServiceClient(); ClientCredentialHelper.SetCredentials(client.ClientCredentials); try { var t = client.CompConsultar(feAuthRequest, feCompConsultaReq); client.Close(); return(t); } catch { if (client.State != System.ServiceModel.CommunicationState.Closed) { client.Abort(); } throw; } }
public FECompConsultaResponse ConsultarAutorizacion(Sesion sesion, FECompConsultaReq request) { var resp = service.FECompConsultar(GetAuth(sesion), request); return(resp); }