Untitled
unknown
plain_text
a year ago
1.4 kB
10
Indexable
public Invoice CreateInvoice(Invoice invoice)
{
string apiUrl = $"{_baseUri}invoices";
var request = (HttpWebRequest)WebRequest.Create(apiUrl);
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "application/json";
request.Headers.Add("Authorization", $"Basic {_authorizationHeaderValue}");
var json = JsonConvert.SerializeObject(invoice, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(json);
}
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Created)
{
using (var reader = new StreamReader(response.GetResponseStream()))
{
var content = reader.ReadToEnd();
return JsonConvert.DeserializeObject<Invoice>(content);
}
}
else
{
throw new HttpRequestException($"Failed to create Invoice. Status code: {response.StatusCode}");
}
}
}
Editor is loading...
Leave a Comment