public virtual ConcurrentDictionary <string, StampResponseV1> TimbrarV1(string[] xmls, bool isb64 = false) { StampResponseHandlerV1 handler = new StampResponseHandlerV1(); ConcurrentBag <string> request = new ConcurrentBag <string>(xmls); ConcurrentDictionary <string, StampResponseV1> response = new ConcurrentDictionary <string, StampResponseV1>(); 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.v1.ToString(), format), headers, content, proxy)); } catch (Exception ex) { response.TryAdd(i, handler.HandleException(ex)); } }); return(response); }
public virtual StampResponseV1 TimbrarV1(string xml, bool isb64 = false) { StampResponseHandlerV1 handler = new StampResponseHandlerV1(); 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.v1.ToString(), format), headers, content, proxy)); } catch (Exception ex) { return(handler.HandleException(ex)); } }