public static async Task Product(int number) { var readFile = FileDoc.ReadFile("Product.csv"); if (readFile == null) { Console.WriteLine("Nothing to delete"); return; } var productNumber = readFile.Select(f => f.Split(',')[2]).ToArray(); var client = new RestClient("https://api.tripletex.io/v2/"); for (var i = productNumber.Length - 1; i >= (productNumber.Length - number < 0 ? 0 : productNumber.Length - number); i--) { var request = new RestRequest("product/" + productNumber[i], Method.DELETE); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); await client.ExecuteAsync(request); Console.Write($"\r{productNumber.Length - i} Product deleted"); } FileDoc.DeleteFile("Product.csv"); if (productNumber.Length - number > 0) { FileDoc.WriteFile(readFile.Take(readFile.Length - number).ToArray(), "Product.csv"); } Console.WriteLine("\n"); Console.Write("> "); }
public static async Task Customer() { var client = new RestClient("https://api.tripletex.io/v2/"); var request = new RestRequest("customer"); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecuteGetAsync <ListResponse <ResponseCustomer> >(request); var data = response.Data.Values.Select(d => $"{d.name},{d.id}").ToArray(); FileDoc.DeleteFile("Customer.csv"); FileDoc.WriteFile(data, "Customer.csv"); }
private static async Task Run() { var command = Console.ReadLine()?.Split(' ').Select(s => s.ToLower()).ToArray(); if (command?[0] == "q") { Environment.Exit(0); } if (command?[0] == "sync") { await Get.Sync(); Console.WriteLine("Done\n"); Console.Write("> "); return; } if (command?[0] == "token") { FileDoc.DeleteFile("Tokens.txt"); Console.Clear(); await Authentication.Authenticate(); await Get.Sync(); Console.Clear(); Command.Welcome(); return; } if (command?[0] == "webhook" && command.Length > 1) { await Put.Subscription(command[1]); return; } if (command?.Length != 3 || !int.TryParse(command[1], out var number)) { Command.Invalid(); return; } if (command[0] == "post") { if (command[2] == "p") { await Post.Product(number); } else if (command[2] == "co") { await Post.Contact(number); } else if (command[2] == "e") { await Post.Employee(number); } else if (command[2] == "cu") { await Post.Customer(number); } else { Command.Invalid(); } } else if (command[0] == "del") { if (command[2] == "p") { await Delete.Product(number); } else if (command[2] == "cu") { await Delete.Customer(number); } else { Command.Invalid(); } } else { Command.Invalid(); } }