public bool cancelInvoice(Invoice invoice, Customer customer) { IInvoiceMod modify = qBSession.getRequestMsgSet().AppendInvoiceModRq(); modify.CustomerRef.ListID.SetValue(customer.QBId); modify.TxnID.SetValue(invoice.QBId); modify.EditSequence.SetValue(invoice.EditSequence); modify.IsPending.SetValue(true); return(qBSession.executeQuery()); }
public string BuildUpdateInvoiceRq(Invoice invoice) { requestMsgSet.ClearRequests(); IInvoiceMod InvoiceAddRq = requestMsgSet.AppendInvoiceModRq(); //For Update we need TxnID and Edit Sequence InvoiceAddRq.TxnID.SetValue(invoice.TxnID); InvoiceAddRq.EditSequence.SetValue(invoice.EditSequence); InvoiceAddRq.CustomerRef.FullName.SetValue(invoice.CustomerName); if (invoice.ClassRef != null) { InvoiceAddRq.ClassRef.FullName.SetValue(invoice.ClassRef); } if (invoice.BillAddress1 != null) { InvoiceAddRq.BillAddress.Addr1.SetValue(invoice.BillAddress1); } if (invoice.City != null) { InvoiceAddRq.BillAddress.City.SetValue(invoice.City); } if (invoice.State != null) { InvoiceAddRq.BillAddress.State.SetValue(invoice.State); } if (invoice.State != null) { InvoiceAddRq.BillAddress.PostalCode.SetValue(invoice.PostalCode); } if (invoice.Country != null) { InvoiceAddRq.BillAddress.Country.SetValue(invoice.Country); } if (invoice.ShipAddress != null) { InvoiceAddRq.ShipAddress.Addr1.SetValue(invoice.ShipAddress); } if (invoice.Ship_City != null) { InvoiceAddRq.ShipAddress.City.SetValue(invoice.Ship_City); } if (invoice.Ship_State != null) { InvoiceAddRq.ShipAddress.State.SetValue(invoice.Ship_State); } if (invoice.Ship_PostalCode != null) { InvoiceAddRq.ShipAddress.PostalCode.SetValue(invoice.PostalCode); } if (invoice.Ship_Country != null) { InvoiceAddRq.ShipAddress.Country.SetValue(invoice.Country); } if (invoice.DueDate >= DateTime.Now) { InvoiceAddRq.DueDate.SetValue(invoice.DueDate); } if (invoice.ShipDate >= DateTime.Now) { InvoiceAddRq.ShipDate.SetValue(invoice.ShipDate); } InvoiceAddRq.Memo.SetValue(invoice.Memo); if (invoice.CustomerMsg != "") { InvoiceAddRq.CustomerMsgRef.FullName.SetValue(invoice.CustomerMsg); } if (invoice.Terms != "") { InvoiceAddRq.TermsRef.FullName.SetValue(invoice.Terms); } InvoiceAddRq.IsToBePrinted.SetValue(invoice.isPrinted); //istobeemail is supported in qbxml version 6.0 and greater if (Manager.MjrVersion >= 6) { InvoiceAddRq.IsToBeEmailed.SetValue(invoice.IsEmail); } if (invoice.CustomerTaxCode != null && invoice.CustomerTaxCode != "") { InvoiceAddRq.CustomerSalesTaxCodeRef.FullName.SetValue(invoice.CustomerTaxCode); } if (invoice.TxnNumber != null && invoice.TxnNumber != "") { InvoiceAddRq.ItemSalesTaxRef.FullName.SetValue(invoice.TxnNumber); } foreach (InvoiceLineItem item in invoice.lineitem) { IORInvoiceLineMod ORInvoiceLineAddListElement1 = InvoiceAddRq.ORInvoiceLineModList.Append(); //TxnID ORInvoiceLineAddListElement1.InvoiceLineMod.TxnLineID.SetValue(item.TxnLineID); ORInvoiceLineAddListElement1.InvoiceLineMod.ItemRef.FullName.SetValue(item.Item); ORInvoiceLineAddListElement1.InvoiceLineMod.Desc.SetValue(item.Desc); ORInvoiceLineAddListElement1.InvoiceLineMod.Quantity.SetValue(item.Quantity); if (item.ClassRef != null) { ORInvoiceLineAddListElement1.InvoiceLineMod.ClassRef.FullName.SetValue(item.ClassRef); } ORInvoiceLineAddListElement1.InvoiceLineMod.Amount.SetValue(item.Amount); if (item.Rate != null) { ORInvoiceLineAddListElement1.InvoiceLineMod.ORRatePriceLevel.Rate.SetValue(item.Rate.Value); } if (item.SalesTaxCodeRef != null) { ORInvoiceLineAddListElement1.InvoiceLineMod.SalesTaxCodeRef.FullName.SetValue(item.SalesTaxCodeRef); } } //Send the request and get the response from QuickBooks IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); return(WalkInvoiceAddRs(responseMsgSet)); }