diff options
Diffstat (limited to 'src/administration.cpp')
| -rw-r--r-- | src/administration.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/administration.cpp b/src/administration.cpp index 231953b..3be34da 100644 --- a/src/administration.cpp +++ b/src/administration.cpp @@ -49,7 +49,7 @@ static int compare_tax_countries(const void *a, const void *b) return strcmp(objA->country_code, objB->country_code); } -static time_t administration_get_default_invoice_expire_duration() +time_t administration_get_default_invoice_expire_duration() { return (30 * 24 * 60 * 60); // 30 days } @@ -1115,6 +1115,28 @@ tax_rate administration_tax_rate_create_empty() return result; } +a_err administration_tax_rate_get_by_shorthandle(tax_rate* buffer, char* handle) +{ + assert(buffer); + + list_iterator_start(&g_administration.tax_rates); + while (list_iterator_hasnext(&g_administration.tax_rates)) { + tax_rate c = *(tax_rate *)list_iterator_next(&g_administration.tax_rates); + + char compare_str[20]; + snprintf(compare_str, 20, "%s/%.2f", c.country_code, c.rate); + if (strcmp(compare_str, handle) == 0) + { + *buffer = c; + list_iterator_stop(&g_administration.tax_rates); + return A_ERR_SUCCESS; + } + } + list_iterator_stop(&g_administration.tax_rates); + + return A_ERR_NOT_FOUND; +} + a_err administration_tax_rate_get_by_id(tax_rate* buffer, char* id) { assert(buffer); |
