コード例 #1
0
        public void TestBatchDeleteCatalogObjects()
        {
            var reqeust = new BatchDeleteCatalogObjectsRequest();

            reqeust.ObjectIds = new List <string>()
            {
                idMap[COFFEE_ID], idMap[SMALL_TEA_ID]
            };
            var response = instance.BatchDeleteCatalogObjects(reqeust);

            Assert.AreEqual(4, response.DeletedObjectIds.Count);
            Assert.Contains(idMap[COFFEE_ID], response.DeletedObjectIds);
            Assert.Contains(idMap[SMALL_COFFEE_ID], response.DeletedObjectIds);
            Assert.Contains(idMap[LARGE_COFFEE_ID], response.DeletedObjectIds);
            Assert.Contains(idMap[SMALL_TEA_ID], response.DeletedObjectIds);
        }
コード例 #2
0
        static public async Task DeleteProducts()
        {
            CatalogApi api    = new CatalogApi();
            string     cursor = null;

            string[] types = { "ITEM_VARIATION", "MODIFIER_LIST", "ITEM", "MODIFIER", "CATEGORY", "DISCOUNT", "TAX" };
            foreach (string type in types)
            {
                do
                {
                    ListCatalogResponse resp = await api.ListCatalogAsync(cursor, type);

                    if (resp.Objects != null && resp.Objects.Count > 0)
                    {
                        BatchDeleteCatalogObjectsRequest  body    = new BatchDeleteCatalogObjectsRequest(resp.Objects.Select(s => s.Id).ToList());
                        BatchDeleteCatalogObjectsResponse delResp = await api.BatchDeleteCatalogObjectsAsync(body);
                    }
                    cursor = resp.Cursor;
                } while (cursor != null);
            }
        }
コード例 #3
0
        public void Cleanup()
        {
            var cursor          = string.Empty;
            var objectsToDelete = new HashSet <String>();

            do
            {
                var response = instance.ListCatalog(cursor, null);
                objectsToDelete.UnionWith(response.Objects.Select(o => o.Id).ToList());
                cursor = response.Cursor;
            } while (!string.IsNullOrEmpty(cursor));

            objectsToDelete
            .Select((o, i) => new { Index = i, Value = o })
            .GroupBy(x => x.Index / 200)
            .Select(x => x.Select(v => v.Value).ToList())
            .ToList()
            .ForEach(ids =>
            {
                var request = new BatchDeleteCatalogObjectsRequest(ObjectIds: ids);
                instance.BatchDeleteCatalogObjects(request);
            });
        }