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); }
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); } }
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); }); }