コード例 #1
0
        RespuestaAsincrono IServicioSunatDocumentos.EnviarResumen(DocumentoSunat request)
        {
            var dataOrigen = Convert.FromBase64String(request.TramaXml);
            var response   = new RespuestaAsincrono();

            try
            {
                _proxyDocumentos.Open();
                var resultado = _proxyDocumentos.sendSummary(request.NombreArchivo, dataOrigen);

                _proxyDocumentos.Close();

                response.NumeroTicket = resultado;
                response.Exito        = true;
            }
            catch (FaultException ex)
            {
                response.MensajeError = string.Concat(ex.Code.Name, ex.Message);
            }
            catch (Exception ex)
            {
                var msg = ex.InnerException != null?string.Concat(ex.InnerException.Message, ex.Message) : ex.Message;

                if (msg.Contains(Formatos.FaultCode))
                {
                    var posicion    = msg.IndexOf(Formatos.FaultCode, StringComparison.Ordinal);
                    var codigoError = msg.Substring(posicion + Formatos.FaultCode.Length, 4);
                    msg = $"El Código de Error es {codigoError}";
                }
                response.MensajeError = msg;
            }

            return(response);
        }
コード例 #2
0
        RespuestaSincrono IServicioSunatDocumentos.EnviarDocumento(DocumentoSunat request)
        {
            var dataOrigen = Convert.FromBase64String(request.TramaXml);
            var response   = new RespuestaSincrono();

            try
            {
                _proxyDocumentos.OpenAsync();
                var resultado = _proxyDocumentos.sendBillAsync(request.NombreArchivo, dataOrigen, "");

                _proxyDocumentos.CloseAsync();

                response.ConstanciaDeRecepcion = Convert.ToBase64String(resultado.Result.applicationResponse);
                response.Exito = true;
            }
            catch (FaultException ex)
            {
                response.MensajeError = string.Concat(ex.Code.Name, ex.Message);
            }
            catch (Exception ex)
            {
                var msg = string.Concat(ex.InnerException?.Message, ex.Message);
                if (msg.Contains(Formatos.FaultCode))
                {
                    var posicion    = msg.IndexOf(Formatos.FaultCode, StringComparison.Ordinal);
                    var codigoError = msg.Substring(posicion + Formatos.FaultCode.Length, 4);
                    msg = $"El Código de Error es {codigoError}";
                }
                response.MensajeError = msg;
            }

            return(response);
        }
コード例 #3
0
 public RespuestaAsincrono EnviarResumen(DocumentoSunat request)
 {
     throw new System.NotImplementedException();
 }