GnuCash  2.6.18
Files | Data Structures | Macros | Functions

Files

file  gncCustomer.h
 Core Customer Interface.
 

Data Structures

struct  GncCustomer
 

Macros

#define GNC_ID_CUSTOMER   "gncCustomer"
 
#define GNC_TYPE_CUSTOMER   (gnc_customer_get_type ())
 
#define GNC_CUSTOMER(o)   (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_CUSTOMER, GncCustomer))
 
#define GNC_CUSTOMER_CLASS(k)   (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_CUSTOMER, GncCustomerClass))
 
#define GNC_IS_CUSTOMER(o)   (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_CUSTOMER))
 
#define GNC_IS_CUSTOMER_CLASS(k)   (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_CUSTOMER))
 
#define GNC_CUSTOMER_GET_CLASS(o)   (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_CUSTOMER, GncCustomerClass))
 
#define CUSTOMER_ID   "id"
 
#define CUSTOMER_NAME   "name"
 
#define CUSTOMER_ADDR   "addr"
 
#define CUSTOMER_SHIPADDR   "shipaddr"
 
#define CUSTOMER_NOTES   "notes"
 
#define CUSTOMER_DISCOUNT   "amount of discount"
 
#define CUSTOMER_CREDIT   "amount of credit"
 
#define CUSTOMER_TT_OVER   "tax table override"
 
#define CUSTOMER_TAX_INC   "customer_tax_included"
 
#define CUSTOMER_TERMS   "customer_terms"
 
#define CUSTOMER_ACTIVE   "customer_is_active"
 
#define CUSTOMER_SLOTS   "customer_values"
 
#define gncCustomerGetGUID(x)   qof_instance_get_guid(QOF_INSTANCE(x))
 
#define gncCustomerRetGUID(x)   (x ? *(qof_instance_get_guid(QOF_INSTANCE(x))) : *(guid_null()))
 
#define gncCustomerGetBook(x)   qof_instance_get_book(QOF_INSTANCE(x))
 
#define gncCustomerLookupDirect(g, b)   gncCustomerLookup((b), &(g))
 

Functions

GType gnc_customer_get_type (void)
 
int gncCustomerCompare (const GncCustomer *a, const GncCustomer *b)
 
gboolean gncCustomerEqual (const GncCustomer *a, const GncCustomer *b)
 
GList * gncCustomerGetJoblist (const GncCustomer *customer, gboolean show_all)
 
gboolean gncCustomerIsDirty (GncCustomer *customer)
 

Create/Destroy Functions

GncCustomergncCustomerCreate (QofBook *book)
 
void gncCustomerDestroy (GncCustomer *customer)
 
void gncCustomerBeginEdit (GncCustomer *customer)
 
void gncCustomerCommitEdit (GncCustomer *customer)
 

Set Functions

void gncCustomerSetID (GncCustomer *customer, const char *id)
 
void gncCustomerSetName (GncCustomer *customer, const char *name)
 
void gncCustomerSetNotes (GncCustomer *customer, const char *notes)
 
void gncCustomerSetTerms (GncCustomer *customer, GncBillTerm *term)
 
void gncCustomerSetTaxIncluded (GncCustomer *customer, GncTaxIncluded taxincl)
 
void gncCustomerSetActive (GncCustomer *customer, gboolean active)
 
void gncCustomerSetDiscount (GncCustomer *customer, gnc_numeric discount)
 
void gncCustomerSetCredit (GncCustomer *customer, gnc_numeric credit)
 
void gncCustomerSetCurrency (GncCustomer *customer, gnc_commodity *currency)
 
void gncCustomerSetTaxTableOverride (GncCustomer *customer, gboolean override)
 
void gncCustomerSetTaxTable (GncCustomer *customer, GncTaxTable *table)
 
void gncCustomerAddJob (GncCustomer *customer, GncJob *job)
 
void gncCustomerRemoveJob (GncCustomer *customer, GncJob *job)
 

Get Functions

const char * gncCustomerGetID (const GncCustomer *customer)
 
const char * gncCustomerGetName (const GncCustomer *customer)
 
GncAddressgncCustomerGetAddr (const GncCustomer *customer)
 
GncAddressgncCustomerGetShipAddr (const GncCustomer *customer)
 
const char * gncCustomerGetNotes (const GncCustomer *customer)
 
GncBillTerm * gncCustomerGetTerms (const GncCustomer *customer)
 
GncTaxIncluded gncCustomerGetTaxIncluded (const GncCustomer *customer)
 
gboolean gncCustomerGetActive (const GncCustomer *customer)
 
gnc_numeric gncCustomerGetDiscount (const GncCustomer *customer)
 
gnc_numeric gncCustomerGetCredit (const GncCustomer *customer)
 
gnc_commodity * gncCustomerGetCurrency (const GncCustomer *customer)
 
gboolean gncCustomerGetTaxTableOverride (const GncCustomer *customer)
 
GncTaxTablegncCustomerGetTaxTable (const GncCustomer *customer)
 

Detailed Description

Macro Definition Documentation

◆ gncCustomerGetGUID

#define gncCustomerGetGUID (   x)    qof_instance_get_guid(QOF_INSTANCE(x))
Deprecated:
functions, should be removed

Definition at line 156 of file gncCustomer.h.

Function Documentation

◆ gncCustomerEqual()

gboolean gncCustomerEqual ( const GncCustomer a,
const GncCustomer b 
)

Test support function, used in gets-dbi-business-stuff.c

Definition at line 677 of file gncCustomer.c.

678 {
679  if (a == NULL && b == NULL) return TRUE;
680  if (a == NULL || b == NULL) return FALSE;
681 
682  g_return_val_if_fail(GNC_IS_CUSTOMER(a), FALSE);
683  g_return_val_if_fail(GNC_IS_CUSTOMER(b), FALSE);
684 
685  if (g_strcmp0(a->id, b->id) != 0)
686  {
687  PWARN("IDs differ: %s vs %s", a->id, b->id);
688  return FALSE;
689  }
690 
691  if (g_strcmp0(a->name, b->name) != 0)
692  {
693  PWARN("Names differ: %s vs %s", a->name, b->name);
694  return FALSE;
695  }
696 
697  if (g_strcmp0(a->notes, b->notes) != 0)
698  {
699  PWARN("Notes differ: %s vs %s", a->notes, b->notes);
700  return FALSE;
701  }
702 
703  if (!gncBillTermEqual(a->terms, b->terms))
704  {
705  PWARN("Bill terms differ");
706  return FALSE;
707  }
708 
709  if (!gnc_commodity_equal(a->currency, b->currency))
710  {
711  PWARN("currencies differ");
712  return FALSE;
713  }
714 
715  if (!gncTaxTableEqual(a->taxtable, b->taxtable))
716  {
717  PWARN("tax tables differ");
718  return FALSE;
719  }
720 
721  if (a->taxtable_override != b->taxtable_override)
722  {
723  PWARN("Tax table override flags differ");
724  return FALSE;
725  }
726 
727  if (a->taxincluded != b->taxincluded)
728  {
729  PWARN("Tax included flags differ");
730  return FALSE;
731  }
732 
733  if (a->active != b->active)
734  {
735  PWARN("Active flags differ");
736  return FALSE;
737  }
738 
739  if (!gncAddressEqual(a->addr, b->addr))
740  {
741  PWARN("addresses differ");
742  return FALSE;
743  }
744  if (!gncAddressEqual(a->shipaddr, b->shipaddr))
745  {
746  PWARN("addresses differ");
747  return FALSE;
748  }
749 
750  if (!gnc_numeric_equal(a->credit, b->credit))
751  {
752  PWARN("Credit amounts differ");
753  return FALSE;
754  }
755 
756  if (!gnc_numeric_equal(a->discount, b->discount))
757  {
758  PWARN("Discount amounts differ");
759  return FALSE;
760  }
761 
762  /* FIXME: Need to check jobs list
763  GList * jobs;
764  */
765 
766  return TRUE;
767 }
gboolean gnc_numeric_equal(gnc_numeric a, gnc_numeric b)
Definition: gnc-numeric.c:304
gboolean gnc_commodity_equal(const gnc_commodity *a, const gnc_commodity *b)
gboolean gncBillTermEqual(const GncBillTerm *a, const GncBillTerm *b)
Definition: gncBillTerm.c:643
#define PWARN(format, args...)
Definition: qoflog.h:238
gboolean gncAddressEqual(const GncAddress *a, const GncAddress *b)
Deeply compare two addresses.
Definition: gncAddress.c:580