Esempio n. 1
0
        public virtual ConcurrentDictionary <string, StampResponseV3> TimbrarV3(string[] xmls, bool isb64 = false)
        {
            StampResponseHandlerV3 handler = new StampResponseHandlerV3();
            ConcurrentBag <string> request = new ConcurrentBag <string>(xmls);
            ConcurrentDictionary <string, StampResponseV3> response = new ConcurrentDictionary <string, StampResponseV3>();

            string format = isb64 ? "b64" : "";

            Parallel.ForEach(request, new ParallelOptions {
                MaxDegreeOfParallelism = Environment.ProcessorCount
            }, i =>
            {
                try
                {
                    var xmlBytes = Encoding.UTF8.GetBytes(i);
                    var headers  = GetHeaders();
                    var content  = GetMultipartContent(xmlBytes);
                    var proxy    = Helpers.RequestHelper.ProxySettings(this.Proxy, this.ProxyPort);
                    response.TryAdd(i, handler.GetPostResponse(this.Url,
                                                               string.Format("cfdi33/{0}/{1}/{2}",
                                                                             _operation,
                                                                             StampTypes.v3.ToString(),
                                                                             format), headers, content, proxy));
                }
                catch (Exception ex)
                {
                    response.TryAdd(i, handler.HandleException(ex));
                }
            });
            return(response);
        }
Esempio n. 2
0
        public virtual StampResponseV3 TimbrarV3(string xml, bool isb64 = false)
        {
            StampResponseHandlerV3 handler = new StampResponseHandlerV3();

            try
            {
                string format   = isb64 ? "b64" : "";
                var    xmlBytes = Encoding.UTF8.GetBytes(xml);
                var    request  = RequestStamping(xmlBytes, StampTypes.v3.ToString(), format, _operation);
                return(handler.GetResponse(request));
            }
            catch (Exception ex)
            {
                return(handler.HandleException(ex));
            }
        }
Esempio n. 3
0
        public virtual StampResponseV3 TimbrarV3(string xml, bool isb64 = false)
        {
            StampResponseHandlerV3 handler = new StampResponseHandlerV3(xml);

            try
            {
                string format   = isb64 ? "b64" : "";
                var    xmlBytes = Encoding.UTF8.GetBytes(xml);
                var    headers  = GetHeaders();
                var    content  = GetMultipartContent(xmlBytes);
                var    proxy    = Helpers.RequestHelper.ProxySettings(this.Proxy, this.ProxyPort);
                return(handler.GetPostResponse(this.Url,
                                               string.Format("cfdi33/v2/{0}/{1}/{2}",
                                                             _operation,
                                                             StampTypes.v3.ToString(),
                                                             format), headers, content, proxy));
            }
            catch (Exception ex)
            {
                return(handler.HandleException(ex));
            }
        }
Esempio n. 4
0
        public virtual async Task <StampResponseV3> TimbrarV3Async(string xml, string email = null, string customId = null, bool isb64 = false, string[] extras = null)
        {
            StampResponseHandlerV3 handler = new StampResponseHandlerV3(xml);

            try
            {
                string format   = isb64 ? "b64" : "";
                var    xmlBytes = Encoding.UTF8.GetBytes(xml);
                var    headers  = await GetHeadersAsync(email, customId, extras);

                var content = GetMultipartContent(xmlBytes);
                var proxy   = Helpers.RequestHelper.ProxySettings(this.Proxy, this.ProxyPort);
                return(await handler.GetPostResponseAsync(this.Url,
                                                          string.Format("v4/cfdi33/{0}/{1}/{2}",
                                                                        _operation,
                                                                        StampTypes.v3.ToString(),
                                                                        format), headers, content, proxy));
            }
            catch (Exception ex)
            {
                return(handler.HandleException(ex));
            }
        }