//using PartSource.Automation.Models; //using PartSource.Data; //using Ratermania.Shopify; //using Ratermania.Shopify.Resources; //using System; //using System.Collections.Generic; //using System.Linq; //using System.Threading.Tasks; //namespace PartSource.Automation.Jobs //{ // public class DeleteProducts //: IAutomationJob // { // private readonly ShopifyClient _shopifyClient; // private readonly PartSourceContext _partSourceContext; // public DeleteProducts(ShopifyClient shopifyClient, PartSourceContext partSourceContext) // { // _shopifyClient = shopifyClient; // _partSourceContext = partSourceContext; // } // // If this job fails, oh well. Run it again and again until it works, or use the Shopify UI (LOL) // public async Task Run() // { // Console.WriteLine("This job will delete ALL PRODUCTS from Shopify. If you really want to delete EVERY SINGLE PRODUCT, type 'mechanical keyboard' below."); // string input = Console.ReadLine(); // if (input != "mechanical keyboard") // { // return new AutomationJobResult // { // IsSuccess = true // }; // } // IList shopifyIds = _partSourceContext.ImportData // .Select(i => i.ShopifyId) // .Distinct() // .ToList(); // foreach (long? id in shopifyIds) // { // Product product = await _shopifyClient.Products.GetById((long)id); // await _shopifyClient.Products.Delete(product); // Console.WriteLine(id); // } // //IEnumerable products = await _shopifyClient.Products.Get(); // //while (products != null) // //{ // // foreach (Product product in products) // // { // // bool result = await _shopifyClient.Products.Delete(product); // // } // // products = await _shopifyClient.Products.GetNext(); // // Console.Write('.'); // //} // return new AutomationJobResult // { // Message = "All products deleted. Don't forget to truncate the ImportData table", // IsSuccess = true // }; // } // } //}