예제 #1
0
        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("> ");
        }
예제 #2
0
        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");
        }
예제 #3
0
        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();
            }
        }