public void Dispose() { if (SendOwlAPIClient != null) { try { var tasks = new List <Task>(); tasks.AddRange(CreatedProductIds.Select(x => SendOwlAPIClient.Product.DeleteAsync(x))); tasks.AddRange(CreatedBundleIds.Select(x => SendOwlAPIClient.Bundle.DeleteAsync(x))); tasks.AddRange(CreatedSubscriptionIds.Select(x => SendOwlAPIClient.Subscription.DeleteAsync(x))); tasks.AddRange(CreatedDiscountIds.Select(x => SendOwlAPIClient.Discount.DeleteAsync(x))); Task.WhenAll(tasks).GetAwaiter().GetResult(); } catch { //ignored } } }
public APIClientFixture() { SendOwlAPIClient = new SendOwlAPIClient(Settings.SendOwl_Key, Settings.SendOwl_Secret); ExistingProductIds = new Lazy <List <long> >(() => { var tasks = new List <Task <long> >(); for (int i = 0; i < 2; i++) { var task = SendOwlAPIClient.Product.CreateAsync(new SendOwlProduct { Name = $"Bundle product {i} [test]", Price = $"1{i}.99", Product_type = ProductType.digital, Self_hosted_url = "http://test.com/file" }).ContinueWith(p => { CreatedProductIds.Add(p.Result.Id); return(p.Result.Id); }); tasks.Add(task); } return(Task.WhenAll(tasks).GetAwaiter().GetResult().ToList()); }); }