Ejemplo n.º 1
0
    public async Task <CreateInvoiceResult> CreateInvoice(Invoice invoice)
    {
        var invoiceToml = Toml.FromModel(invoice, new TomlModelOptions()
        {
            ConvertPropertyName = name => TomlNamingHelper.PascalToCamelCase(name)
        });

        var uri            = new Uri(_baseUri, INVOICE_PATH);
        var requestContent = new StringContent(invoiceToml, null, "application/toml");
        var response       = await _httpClient.PostAsync(uri, requestContent);

        await ExpectResponseCode(response, HttpStatusCode.Created, HttpStatusCode.Accepted);

        var content = await response.Content.ReadAsStringAsync();

        var syntax      = GetTomlSyntax(content);
        var tomlOptions = new TomlModelOptions()
        {
            ConvertPropertyName = name => TomlNamingHelper.PascalToCamelCase(name)
        };

        return(syntax.ToModel <CreateInvoiceResult>(tomlOptions));
    }