public BigCommerceAdaptor(string api_key, string username, string baseUrl, BigCommerceExtractor extractor)
 {
     this.api_key = api_key;
     this.username = username;
     /*HttpClientHandler handler = new HttpClientHandler();
     handler.Credentials = new NetworkCredential(username, api_key);
     this.client = new HttpClient(handler)
     {
         BaseAddress = new Uri(baseUrl),
     };*/
     this.extractor = extractor;
 }
 public static CartExtractor GetCart(SiteRules rules)
 {
     CartExtractor cart = null;
     switch (rules.CartType)
     {
     #if !CART_EXTRACTOR_TEST_SITE
         case CartType.ThreeDCart:
             cart = new ThreeDCartExtractor(rules);
             break;
     #endif
         case CartType.BigCommerce:
             cart = new BigCommerceExtractor(rules);
             break;
         case CartType.MivaMerchant:
             cart = new MivaMerchantExtractor(rules);
             break;
         case CartType.Volusion:
             cart = new VolusionExtractor(rules);
             break;
         case CartType.CommerceV3:
             cart = new CommerceV3Extractor(rules);
             break;
         case CartType.Magento:
             if (rules.PluginVersion > 3) goto case CartType.JsonFeed;
             break;
         case CartType.Shopify:
             cart = new ShopifyExtractor(rules);
             break;
         //case CartType.NetSuite:
         //    cart = new NetSuiteExtractor(rules);
         //    break;
         case CartType.AspDotNetStorefront:
         case CartType.WebsitePipeline:
         case CartType.TabbedFeed:
         case CartType.JsonFeed:
             cart = new JsonFeedExtractor(rules);
             break;
         case CartType.XmlFeed:
             cart = new XmlFeedExtractor(rules);
             break;
         case CartType.osCommerce:
         case CartType.PrestaShop:
         case CartType.Other:
             break;
         case CartType.Test:
             cart = new TestExtractor(rules);
             break;
     }
     return cart;
 }