예제 #1
0
        public void run()
        {
            IOAuthSession consumer = Oauth.CurrentEtsyConsumer();
            EtsyApi       api      = new EtsyApi(consumer);

            InventoryManager.Load(api);
            Cmd.Instance.Run();
        }
예제 #2
0
 public static void Load(EtsyApi api)
 {
     if (File.Exists(savePath))
     {
         instance = DataSaving.ReadFromBinaryFile <InventoryManager>(savePath);
     }
     else
     {
         instance = new InventoryManager();
         instance.AddAllListings(api);
     }
 }
예제 #3
0
        private void AddAllListings(EtsyApi api)
        {
            int totalListings = api.findAllShopListingsActiveCount("__SELF__");

            for (int offset = 0; offset < totalListings; offset += 100)
            {
                Etsy.Listing[] listings   = api.findAllShopListingsActive("__SELF__", limit: 100, offset: offset, fields: "listing_id");
                string         listingIds = "";
                foreach (Etsy.Listing listing in listings)
                {
                    listingIds += listing.Listing_Id.ToString() + ",";
                }
                //remove last comma
                listingIds = listingIds.Remove(listingIds.Length - 1, 1);

                listings = api.getListing(listingIds, includes: "Inventory", fields: "title,listing_id");
                foreach (Etsy.Listing listing in listings)
                {
                    Listing list = new Listing(listing);
                    InventoryManager.GetInstance().AddListing(list);
                }
            }
        }
예제 #4
0
 public static Listing GetListing(EtsyApi api, string listingId)
 {
     Etsy.Listing data = api.getListing(listingId, includes: "Inventory")[0];
     return(new Listing(data));
 }
예제 #5
0
 public Listing(EtsyApi api, string listingId)
     : this(api.getListing(listingId, includes : "Inventory")[0])
 {
 }