paid invoices support

This commit is contained in:
2021-04-23 22:54:36 +02:00
parent cddb6463cd
commit fdbdd519cf

View File

@@ -39,22 +39,27 @@ namespace CebelcaAPI
}
}
public async Task<string> AddInvoiceHead(string partnerId, string idDocumentExt, DateTime dateSent, DateTime dateServed, DateTime dateToPay)
public async Task<string> AddInvoiceHead(string partnerId, string idDocumentExt, DateTime dateSent, DateTime dateServed, DateTime dateToPay, bool paid = false)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("sl-SI");
var values = new Dictionary<string, string>
{
{ "date_sent",dateSent.ToShortDateString() },
{ "date_served",dateServed.ToShortDateString() },
{ "date_to_pay",dateToPay.ToShortDateString() },
{ "date_to_pay", dateToPay.ToShortDateString() },
{ "id_partner", partnerId },
{ "id_document_ext", idDocumentExt }
};
if (paid)
{
values.Add("payment", "paid");
values.Add("payment_act", "1");
}
var ret = await APICall("invoice-sent", "insert-smart-2", values);
var json = JArray.Parse(ret);
var retname = (json[0][0] as JObject).Properties().First().Name;
if (retname != "id")
throw new Exception("Error from api: "+ret);
throw new Exception("Error from api: " + ret);
var id = json[0][0]["id"].Value<string>();
return id;
@@ -99,7 +104,7 @@ namespace CebelcaAPI
public async Task<string> AddInvoiceLine(string invoiceId,string title, string measuringUnit, string qty, decimal price, string vat, string discount)
public async Task<string> AddInvoiceLine(string invoiceId, string title, string measuringUnit, string qty, decimal price, string vat, string discount)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("sl-SI");
var values = new Dictionary<string, string>
@@ -121,7 +126,7 @@ namespace CebelcaAPI
}
public async Task<string> AddPayment(string invoiceId, DateTime dateOfPayment, decimal amount, string paymentMethod )
public async Task<string> AddPayment(string invoiceId, DateTime dateOfPayment, decimal amount, string paymentMethod)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("sl-SI");
var values = new Dictionary<string, string>
@@ -143,7 +148,7 @@ namespace CebelcaAPI
}
public async Task<string> IssueInvoiceNoFiscalization(string invoiceId, string docType="0")
public async Task<string> IssueInvoiceNoFiscalization(string invoiceId, string docType = "0")
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("sl-SI");
var values = new Dictionary<string, string>
@@ -163,7 +168,7 @@ namespace CebelcaAPI
}
public async Task<string> IssueInvoiceFiscalization(string invoiceId, string idLocation, string opTaxId, string opName, bool test_mode = false )
public async Task<string> IssueInvoiceFiscalization(string invoiceId, string idLocation, string opTaxId, string opName, bool test_mode = false)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("sl-SI");
var values = new Dictionary<string, string>