public static async Task Customer(int number) { var customer = new Model.Customer(); var personNameGenerator = new PersonNameGenerator(); var client = new RestClient("https://api.tripletex.io/v2/"); for (var i = 0; i < number; i++) { customer.name = personNameGenerator.GenerateRandomFirstAndLastName(); var request = new RestRequest("customer"); request.AddJsonBody(customer); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecutePostAsync <SingleValueResponse <KeyInfo> >(request); if (HttpStatusCode.Created != response.StatusCode) { throw new ArgumentException($"Customer post error: {response.StatusCode}"); } FileDoc.WriteFile(response.Data.Value, "Customer.csv"); Console.Write($"\r{i + 1} Customer created"); } Console.WriteLine("\n"); Console.Write("> "); }
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(int number) { var personNameGenerator = new PersonNameGenerator(); var client = new RestClient("https://api.tripletex.io/v2/"); for (var i = 0; i < number; i++) { var request = new RestRequest("customer"); request.AddJsonBody(new { name = personNameGenerator.GenerateRandomFirstAndLastName() }); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecutePostAsync <SingleResponse <KeyInfo> >(request); if (!response.IsSuccessful) { ErrorHandler.Handel(response.Content); } var data = response.Data.Value; var dataString = $"{data.name},{data.id}"; FileDoc.AppendFile(dataString, "Customer.csv"); Console.Write($"\r{i + 1} Customer created"); } 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"); }
public static async Task Product(int number) { var product = new Product { supplier = { name = "Supp", category1 = { name = "C1" }, category2 = { name = "C2" }, category3 = { name = "C3" } } }; var client = new RestClient("https://api.tripletex.io/v2/"); var placeGenerator = new PlaceNameGenerator(); for (var i = 0; i < number; i++) { product.name = placeGenerator.GenerateRandomPlaceName(); product.number = FileDoc.GetNumber("Product.csv"); product.costExcludingVatCurrency = Random.Next(5, 800); product.priceExcludingVatCurrency = Random.Next(800, 1501); var request = new RestRequest("product"); request.AddJsonBody(product); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecutePostAsync <SingleResponse <KeyInfo> >(request); if (!response.IsSuccessful) { ErrorHandler.Handel(response.Content); } var data = response.Data.Value; var dataString = $"{data.number},{data.name},{data.id}"; FileDoc.AppendFile(dataString, "Product.csv"); Console.Write($"\r{i + 1} Product created"); } Console.WriteLine("\n"); Console.Write("> "); }
public static async Task Product(Employee employee, int number) { var product = new Product { supplier = { name = "Supp", accountManager = employee, deliveryAddress = { employee = employee }, category1 = { name = "C1" }, category2 = { name = "C2" }, category3 = { name = "C3" } } }; var client = new RestClient("https://api.tripletex.io/v2/"); var placeGenerator = new PlaceNameGenerator(); for (var i = 0; i < number; i++) { product.name = placeGenerator.GenerateRandomPlaceName(); product.number = FileDoc.GetNumber("Product.csv"); product.costExcludingVatCurrency = Random.Next(5, 800); product.priceExcludingVatCurrency = Random.Next(800, 1501); var request = new RestRequest("product"); request.AddJsonBody(product); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecutePostAsync <SingleValueResponse <KeyInfo> >(request); if (HttpStatusCode.Created != response.StatusCode) { throw new ArgumentException($"Product post error: {response.StatusCode}"); } FileDoc.WriteFile(response.Data.Value, "Product.csv"); Console.Write($"\r{i + 1} Product created"); } Console.WriteLine("\n"); Console.Write("> "); }
public static async Task Product() { var client = new RestClient("https://api.tripletex.io/v2/"); var request = new RestRequest("product"); request.AddHeader("Authorization", $"Basic {Authentication.EncodedCredentials}"); var response = await client.ExecuteGetAsync <ListResponse <ResponseProduct> >(request); if (!response.IsSuccessful) { ErrorHandler.Handel(response.Content); } var data = response.Data.Values.Select(d => $"{d.number},{d.name},{d.id}").ToArray(); FileDoc.WriteFile(data, "Product.csv", "Number,Name,Id"); }
public static async Task Authenticate() { while (true) { try { var tokens = await FileDoc.GetTokens(); await CreateSessionToken(new Credentials(tokens[0], tokens[1])); FileDoc.WriteFile(tokens, "Tokens.txt"); break; } catch (Exception e) { Console.WriteLine(e.Message + "\n"); } } }
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(); } }