from test7 import Inteum
from quickbooks import QuickBooks
from parameters import INTEUM_DSN, QUICKBOOKS_APPLICATION_NAME


# Load technologies from Inteum
inteum = Inteum(INTEUM_DSN)
allTechnologies = inteum.get_technologies()
# Load technologies from QuickBooks
quickbooks = QuickBooks(applicationName=QUICKBOOKS_APPLICATION_NAME)
oldTechnologies = []
for result in quickbooks.call('CustomerQueryRq', {}):
    customerName = result.get('Name')
    technologyCase, separator, technologyTitle = customerName.partition('-')
    oldTechnologies.append({
        'case': technologyCase.strip(),
        'title': technologyTitle.strip(),
    })


newTechologies = []
for oneTechnology in allTechnologies:
    for oldTechnology in oldTechnologies:
        if oneTechnology['case'] != oldTechnology['case']:
            continue
        if oneTechnology['title'] != oldTechnology['title']:
            print 'MISMATCH'
            print oneTechnology
            print oldTechnology
            continue
    else:
from quickbooks import QuickBooks
from collections import OrderedDict

qb = QuickBooks()
# results1 = qb.call('BillQueryRq', {
    # 'IncludeLineItems': 1,
# }, saveXML=True)
results2 = qb.call('BillAddRq', {
    'BillAdd': OrderedDict([
        ('VendorRef', {
            'FullName': 'Patton Hardware Supplies',
        }),
        ('ExpenseLineAdd', {
            'AccountRef': {
                'FullName': 'Utilities:Telephone',
            },
            'Amount': '100.00',
        }),
    ]),
}, saveXML=True)
results3 = qb.call('BillModRq', {
    'BillMod': OrderedDict([
        ('TxnID', results2[0]['TxnID']),
        ('EditSequence', results2[0]['EditSequence']),
        ('TxnDate', '2011-01-01'),
        ('ExpenseLineMod', {
            'TxnLineID': results2[0]['ExpenseLineRet']['TxnLineID'],
            'Amount': '99.99',
        }),
    ]),
}, saveXML=True)