Example #1
0
static void
compare_single_taxtable( QofInstance* inst, gpointer user_data )
{
    CompareInfoStruct* info = (CompareInfoStruct*)user_data;
    GncTaxTable* tt_1 = GNC_TAXTABLE(inst);
    GncTaxTable* tt_2 = gncTaxTableLookup( info->book_2, qof_instance_get_guid(inst) );

    if (!gncTaxTableEqual( tt_1, tt_2 ))
    {
        info->result = FALSE;
    }
}
Example #2
0
gboolean gncEntryEqual(const GncEntry *a, const GncEntry *b)
{
    if (a == NULL && b == NULL) return TRUE;
    if (a == NULL || b == NULL) return FALSE;

    g_return_val_if_fail(GNC_IS_ENTRY(a), FALSE);
    g_return_val_if_fail(GNC_IS_ENTRY(b), FALSE);

    CHECK_STRING(a, b, desc);
    CHECK_STRING(a, b, action);
    CHECK_STRING(a, b, notes);
    CHECK_NUMERIC(a, b, quantity);

    if (a->invoice != NULL)
    {
        CHECK_ACCOUNT(a, b, i_account);
        CHECK_NUMERIC(a, b, i_price);
        CHECK_VALUE(a, b, i_taxable);
        CHECK_VALUE(a, b, i_taxincluded);
        if (!gncTaxTableEqual(a->i_tax_table, b->i_tax_table))
        {
            PWARN("i_tax_table differ");
            return FALSE;
        }

        CHECK_NUMERIC(a, b, i_discount);
        CHECK_VALUE(a, b, i_disc_type);
        CHECK_VALUE(a, b, i_disc_how);
        CHECK_NUMERIC(a, b, i_value);
        CHECK_NUMERIC(a, b, i_value_rounded);
        CHECK_NUMERIC(a, b, i_tax_value);
        CHECK_NUMERIC(a, b, i_tax_value_rounded);
        CHECK_NUMERIC(a, b, i_disc_value);
        CHECK_NUMERIC(a, b, i_disc_value_rounded);

#if 0
        Timespec	date;
        Timespec	date_entered;

        /* employee bill data */
        GncEntryPaymentType b_payment;

        /* customer invoice */
        GList *	i_tax_values;
        Timespec	i_taxtable_modtime;

#endif
    }

    if (a->bill != NULL)
    {
        CHECK_ACCOUNT(a, b, b_account);
        CHECK_NUMERIC(a, b, b_price);

        CHECK_NUMERIC(a, b, b_value);
        CHECK_NUMERIC(a, b, b_value_rounded);
        CHECK_NUMERIC(a, b, b_tax_value);
        CHECK_NUMERIC(a, b, b_tax_value_rounded);
#if 0
        Timespec	date;
        Timespec	date_entered;

        /* vendor bill data */
        gboolean	b_taxable;
        gboolean	b_taxincluded;
        GncTaxTable *	b_tax_table;
        gboolean	billable;
        GncOwner	billto;

        /* employee bill data */
        GncEntryPaymentType b_payment;

        /* vendor bill */
        GList *	b_tax_values;
        Timespec	b_taxtable_modtime;
#endif
    }
    /* FIXME: Need real tests */

    return TRUE;
}