diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/administration.hpp | 129 |
1 files changed, 77 insertions, 52 deletions
diff --git a/include/administration.hpp b/include/administration.hpp index 96d528f..e7cb9b0 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -141,60 +141,85 @@ typedef struct list_t cost_centers; } administration; +// Setup functions. +// ======================= void administration_create(); void administration_destroy(); -char* administration_get_file_path(); - -contact administration_get_company_info(); -void administration_set_company_info(contact data); - -bool administration_can_contact_be_deleted(contact data); -bool administration_remove_contact(contact data); -bool administration_create_contact(contact data); -bool administration_update_contact(contact data); -u32 administration_get_contact_count(); -u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer); -contact administration_create_empty_contact(); -bool administration_is_contact_valid(contact data); -int administration_get_contact_recommendations(contact* buffer, int buf_size, char* name); - -void administration_cancel_project(project data); -bool administration_remove_project(project data); -bool administration_create_project(project data); -bool administration_update_project(project data); +// General functions. +// ======================= +char* administration_file_path_get(); +contact administration_company_info_get(); +void administration_company_info_set(contact data); + +// Contact functions. +// ======================= +u32 administration_contact_count(); +contact administration_contact_create_empty(); +bool administration_contact_add(contact data); +bool administration_contact_update(contact data); +bool administration_contact_remove(contact data); + +bool administration_contact_is_valid(contact data); +bool administration_contact_can_be_deleted(contact data); + +int administration_contact_get_autocompletions(contact* buffer, int buf_size, char* name); +u32 administration_contact_get_partial_list(u32 page_index, u32 page_size, contact* buffer); + +// Project functions. +// ======================= +u32 administration_project_count(); +project administration_project_create_empty(); +bool administration_project_add(project data); +bool administration_project_update(project data); +bool administration_project_remove(project data); +void administration_project_cancel(project data); + +bool administration_project_is_valid(project data); + char* administration_project_get_status_string(project data); -u32 administration_get_project_count(); -u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer); -bool administration_is_project_valid(project data); -project administration_create_empty_project(); -u32 administration_get_all_projects(project* buffer); - -u32 administration_get_tax_bracket_count(); -u32 administration_get_tax_brackets(country_tax_bracket* buffer); -u32 administration_get_tax_brackets_for_country(country_tax_bracket* buffer, char* country_code); -bool administration_add_tax_bracket(country_tax_bracket data); -bool administration_update_tax_bracket(country_tax_bracket data); - -u32 administration_get_cost_center_count(); -u32 administration_get_cost_centers(cost_center* buffer); -bool administration_verify_cost_center_code(char* code); -bool administration_verify_cost_center_description(char* text); -bool administration_add_cost_center(cost_center data); -bool administration_update_cost_center(cost_center data); - -u32 administration_get_invoice_count(); -invoice administration_create_empty_invoice(); +u32 administration_project_get_all(project* buffer); +u32 administration_project_get_partial_list(u32 page_index, u32 page_size, project* buffer); + +// Tax bracket functions. +// ======================= +u32 administration_tax_bracket_count(); +bool administration_tax_bracket_add(country_tax_bracket data); +bool administration_tax_bracket_update(country_tax_bracket data); + +u32 administration_tax_bracket_get_all(country_tax_bracket* buffer); +u32 administration_tax_bracket_get_by_country(country_tax_bracket* buffer, char* country_code); + +// Cost center functions. +// ======================= +u32 administration_cost_center_count(); +bool administration_cost_center_add(cost_center data); +bool administration_cost_center_update(cost_center data); + +bool administration_cost_center_verify_code(char* code); +bool administration_cost_center_verify_description(char* text); + +u32 administration_cost_center_get_all(cost_center* buffer); + +// Invoice functions. +// ======================= +u32 administration_invoice_count(); +invoice administration_invoice_create_empty(); +bool administration_invoice_add(invoice* invoice); +bool administration_invoice_update(invoice* invoice); void administration_invoice_set_currency(invoice* invoice, char* currency); -bool administration_is_invoice_valid(invoice* invoice); -bool administration_add_invoice(invoice* invoice); -bool administration_update_invoice(invoice* invoice); -u32 administration_get_invoices(u32 page_index, u32 page_size, invoice* buffer); -char* administration_get_invoice_status_string(invoice* invoice); - -billing_item administration_create_empty_billing_item(); -u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_item* buffer); -u32 administration_get_billing_items_count(invoice* invoice); -bool administration_add_billing_item_to_invoice(invoice* invoice, billing_item item); -bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item); -bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_item item);
\ No newline at end of file + +bool administration_invoice_is_valid(invoice* invoice); + +char* administration_invoice_get_status_string(invoice* invoice); +u32 administration_invoice_get_partial_list(u32 page_index, u32 page_size, invoice* buffer); + +// Billing item functions. +// ======================= +u32 administration_billing_items_count(invoice* invoice); +billing_item administration_billing_item_create_empty(); +bool administration_billing_item_add_to_invoice(invoice* invoice, billing_item item); +bool administration_billing_item_update_in_invoice(invoice* invoice, billing_item item); +bool administration_billing_item_remove_from_invoice(invoice* invoice, billing_item item); + +u32 administration_billing_item_get_all_for_invoice(invoice* invoice, billing_item* buffer);
\ No newline at end of file |
