Request
Response
XMLOps
VB.NET
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="16.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <Form1099CategoryAccountMappingModRq> <Form1099CategoryAccountMappingMod> <!-- required --> <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- optional --> <FormType>STRTYPE</FormType> <!-- optional --> <CategoryAccountMappingMod> <!-- optional, may repeat --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX14, BOX16 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <MappingAccount> <!-- optional, may repeat --> <AccountRef> <!-- required --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <ForceMapping >BOOLTYPE</ForceMapping> <!-- optional --> </MappingAccount> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMappingMod> </Form1099CategoryAccountMappingMod> </Form1099CategoryAccountMappingModRq> <Form1099CategoryAccountMappingModRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE"> <Form1099CategoryAccountMappingRet> <!-- optional --> <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- required --> <FormType>STRTYPE</FormType> <!-- optional --> <CategoryAccountMapping> <!-- optional, may repeat --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX14, BOX1 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <AccountRef> <!-- optional, may repeat --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMapping> </Form1099CategoryAccountMappingRet> </Form1099CategoryAccountMappingModRs> </QBXMLMsgsRq> </QBXML> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | 'The following sample code is generated as an illustration of
'Creating requests and parsing responses ONLY
'This code is NOT intended to show best practices or ideal code
'Use at your most careful discretion
imports System
imports System.Net
imports System.Drawing
imports System.Collections
imports System.ComponentModel
imports System.Windows.Forms
imports System.Data
imports System.IO
imports Interop.QBFC16
Module com.intuit.idn.samples
Public Class Sample
Public Sub DoForm1099CategoryAccountMappingMod()
Dim sessionBegun as Boolean
sessionBegun = False
Dim connectionOpen as Boolean
connectionOpen = False
Dim sessionManager as QBSessionManager
sessionManager = nothing
Try
'Create the session Manager object
sessionManager = new QBSessionManager
'Create the message set request object to hold our request
Dim requestMsgSet as IMsgSetRequest
requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0)
requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue
BuildForm1099CategoryAccountMappingModRq(requestMsgSet)
'Connect to QuickBooks and begin a session
sessionManager.OpenConnection("","Sample Code from OSR")
connectionOpen = True
sessionManager.BeginSession("", ENOpenMode.omDontCare)
sessionBegun = True
'Send the request and get the response from QuickBooks
Dim responseMsgSet as IMsgSetResponse
responseMsgSet = sessionManager.DoRequests(requestMsgSet)
'End the session and close the connection to QuickBooks
sessionManager.EndSession()
sessionBegun = False
sessionManager.CloseConnection()
connectionOpen = False
WalkForm1099CategoryAccountMappingModRs(responseMsgSet)
Catch e as Exception
MessageBox.Show(e.Message, "Error")
if (sessionBegun) then
sessionManager.EndSession()
End If
if (connectionOpen) then
sessionManager.CloseConnection()
End If
End Try
End Sub
Public Sub BuildForm1099CategoryAccountMappingModRq(requestMsgSet as IMsgSetRequest)
Dim Form1099CategoryAccountMappingModRq as IForm1099CategoryAccountMappingMod
Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq()
'Set field value for IsFiling1099Misc
Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(True)
'Set field value of form type ("MISC" or "NEC")
Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC")
Dim CategoryAccountMappingMod10598 as ICategoryAccountMappingMod
CategoryAccountMappingMod10598=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append()
'Set field value for MappingCategory
CategoryAccountMappingMod10598.MappingCategory.SetValue(ENMappingCategory.mcBOX1)
Dim MappingAccount10599 as IMappingAccount
MappingAccount10599=CategoryAccountMappingMod10598.MappingAccountList.Append()
'Set field value for ListID
MappingAccount10599.AccountRef.ListID.SetValue("200000-1011023419")
'Set field value for FullName
MappingAccount10599.AccountRef.FullName.SetValue("ab")
'Set field value for ForceMapping
MappingAccount10599.ForceMapping.SetValue(True)
'Set field value for Threshold
CategoryAccountMappingMod10598.Threshold.SetValue(10.01)
End Sub
Public Sub WalkForm1099CategoryAccountMappingModRs( responseMsgSet as IMsgSetResponse)
if (responseMsgSet is nothing) then
Exit Sub
End If
Dim responseList as IResponseList
responseList = responseMsgSet.ResponseList
if (responseList is nothing) then
Exit Sub
End If
'if we sent only one request, there is only one response, we'll walk the list for this sample
for j=0 to responseList.Count-1
Dim response as IResponse
response = responseList.GetAt(j)
'check the status code of the response, 0=ok, >0 is warning
if (response.StatusCode >= 0) then
'the request-specific response is in the details, make sure we have some
if (not response.Detail is nothing) then
'make sure the response is the type we're expecting
Dim responseType as ENResponseType
responseType = CType(response.Type.GetValue(),ENResponseType)
if (responseType == ENResponseType.rtForm1099CategoryAccountMappingModRs) then
'upcast to more specific type here, this is safe because we checked with response.Type check above
Dim Form1099CategoryAccountMappingRet as IForm1099CategoryAccountMappingRet
Form1099CategoryAccountMappingRet = CType(response.Detail,IForm1099CategoryAccountMappingRet)
WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet)
End If
End If
End If
Next j
End Sub
Public Sub WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet as IForm1099CategoryAccountMappingRet)
if (Form1099CategoryAccountMappingRet is nothing) then
Exit Sub
End If
'Go through all the elements of IForm1099CategoryAccountMappingRet
'Get value of IsFiling1099Misc
Dim IsFiling1099Misc10600 as Boolean
IsFiling1099Misc10600 = Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue()
'Get value of FormType
Dim FormType10600 as String
FormType10600 = Form1099CategoryAccountMappingRet.FormType.GetValue()
if (not Form1099CategoryAccountMappingRet.CategoryAccountMappingList is nothing)
Dim i10601 as Integer
for i10601 = 0 to Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count - 1
Dim CategoryAccountMapping as ICategoryAccountMapping
CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10601)
'Get value of MappingCategory
Dim MappingCategory10602 as ENMappingCategory
MappingCategory10602 = CategoryAccountMappingMappingCategory.GetValue()
if (not CategoryAccountMappingAccountRefList is nothing)
Dim i10603 as Integer
for i10603 = 0 to CategoryAccountMappingAccountRefList.Count - 1
Dim QBBaseRef as IQBBaseRef
QBBaseRef = CategoryAccountMappingAccountRefList.GetAt(i10603)
'Get value of ListID
if ( not QBBaseRefListID is nothing) then
Dim ListID10604 as String
ListID10604 = QBBaseRefListID.GetValue()
End If
'Get value of FullName
if ( not QBBaseRefFullName is nothing) then
Dim FullName10605 as String
FullName10605 = QBBaseRefFullName.GetValue()
End If
Next i10603
End If
'Get value of Threshold
if ( not CategoryAccountMappingThreshold is nothing) then
Dim Threshold10606 as Double
Threshold10606 = CategoryAccountMappingThreshold.GetValue()
End If
Next i10601
End If
End Sub
End Class
End Module
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | //The following sample code is generated as an illustration of //Creating requests and parsing responses ONLY //This code is NOT intended to show best practices or ideal code //Use at your most careful discretion using System; using System.Net; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; using Interop.QBFC16; namespace com.intuit.idn.samples { public class Sample { public void DoForm1099CategoryAccountMappingMod() { bool sessionBegun = false; bool connectionOpen = false; QBSessionManager sessionManager = null; try { //Create the session Manager object sessionManager = new QBSessionManager(); //Create the message set request object to hold our request IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0); requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; BuildForm1099CategoryAccountMappingModRq(requestMsgSet); //Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR"); connectionOpen = true; sessionManager.BeginSession("", ENOpenMode.omDontCare); sessionBegun = true; //Send the request and get the response from QuickBooks IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); //End the session and close the connection to QuickBooks sessionManager.EndSession(); sessionBegun = false; sessionManager.CloseConnection(); connectionOpen = false; WalkForm1099CategoryAccountMappingModRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildForm1099CategoryAccountMappingModRq(IMsgSetRequest requestMsgSet) { IForm1099CategoryAccountMappingMod Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq(); //Set field value for IsFiling1099Misc Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(true); //Set field value for FormType ("MISC" or "NEC") Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC"); ICategoryAccountMappingMod CategoryAccountMappingMod10589=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append(); //Set field value for MappingCategory CategoryAccountMappingMod10589.MappingCategory.SetValue(ENMappingCategory.mcBOX1); IMappingAccount MappingAccount10590=CategoryAccountMappingMod10589.MappingAccountList.Append(); //Set field value for ListID MappingAccount10590.AccountRef.ListID.SetValue("200000-1011023419"); //Set field value for FullName MappingAccount10590.AccountRef.FullName.SetValue("ab"); //Set field value for ForceMapping MappingAccount10590.ForceMapping.SetValue(true); //Set field value for Threshold CategoryAccountMappingMod10589.Threshold.SetValue(10.01); } void WalkForm1099CategoryAccountMappingModRs(IMsgSetResponse responseMsgSet) { if (responseMsgSet == null) return; IResponseList responseList = responseMsgSet.ResponseList; if (responseList == null) return; //if we sent only one request, there is only one response, we'll walk the list for this sample for(int i=0; i < responseList.Count; i++) { IResponse response = responseList.GetAt(i); //check the status code of the response, 0=ok, >0 is warning if (response.StatusCode >= 0) { //the request-specific response is in the details, make sure we have some if (response.Detail != null) { //make sure the response is the type we're expecting ENResponseType responseType = (ENResponseType)response.Type.GetValue(); if (responseType == ENResponseType.rtForm1099CategoryAccountMappingModRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet = (IForm1099CategoryAccountMappingRet)response.Detail; WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet); } } } } } void WalkForm1099CategoryAccountMappingRet(IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet) { if (Form1099CategoryAccountMappingRet == null) return; //Go through all the elements of IForm1099CategoryAccountMappingRet //Get value of IsFiling1099Misc bool IsFiling1099Misc10591 = (bool)Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue(); //Get value of FormType string FormType10591 = (string)Form1099CategoryAccountMappingRet.FormType.GetValue(); if (Form1099CategoryAccountMappingRet.CategoryAccountMappingList != null) { for (int i10592 = 0; i10592 < Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count; i10592++) { ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10592); //Get value of MappingCategory ENMappingCategory MappingCategory10593 = (ENMappingCategory)CategoryAccountMapping.MappingCategory.GetValue(); if (CategoryAccountMapping.AccountRefList != null) { for (int i10594 = 0; i10594 < CategoryAccountMapping.AccountRefList.Count; i10594++) { IQBBaseRef QBBaseRef = CategoryAccountMapping.AccountRefList.GetAt(i10594); //Get value of ListID if (QBBaseRef.ListID != null) { string ListID10595 = (string)QBBaseRef.ListID.GetValue(); } //Get value of FullName if (QBBaseRef.FullName != null) { string FullName10596 = (string)QBBaseRef.FullName.GetValue(); } } } //Get value of Threshold if (CategoryAccountMapping.Threshold != null) { double Threshold10597 = (double)CategoryAccountMapping.Threshold.GetValue(); } } } } } } |