Exemplo n.º 1
0
        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("> ");
        }
Exemplo n.º 2
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("> ");
        }
Exemplo n.º 3
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");
        }
Exemplo n.º 4
0
        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("> ");
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
        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");
                }
            }
        }