public static XmlDocument CreateReceivePaymentAddRq(QBEntity entity) { Order order = entity.NopEnity as Order; if (order == null) { return(null); } XmlDocument xml = new XmlDocument(); XmlElement elRoot = InitializeDocument(xml); XmlElement elReceivePaymentAddRq = xml.CreateElement("ReceivePaymentAddRq"); elRoot.AppendChild(elReceivePaymentAddRq); XmlElement elReceivePaymentAdd = xml.CreateElement("ReceivePaymentAdd"); elReceivePaymentAddRq.AppendChild(elReceivePaymentAdd); elReceivePaymentAdd.AppendChild(CreateCustomerRefNode(xml, order.Customer)); elReceivePaymentAdd.AppendChild(CreateDateTypeNode(xml, "TxnDate", order.CreatedOn)); elReceivePaymentAdd.AppendChild(CreateStrTypeNode(xml, "RefNumber", order.OrderId.ToString())); elReceivePaymentAdd.AppendChild(CreateAmtTypeNode(xml, "TotalAmount", order.OrderTotal)); XmlElement elAppliedToTxnAdd = xml.CreateElement("AppliedToTxnAdd"); elReceivePaymentAdd.AppendChild(elAppliedToTxnAdd); elAppliedToTxnAdd.AppendChild(CreateIDTypeNode(xml, "TxnID", QBManager.GetQBEntityByNopId(EntityTypeEnum.Invoice, order.OrderId))); elAppliedToTxnAdd.AppendChild(CreateAmtTypeNode(xml, "PaymentAmount", order.OrderTotal)); decimal discTotal = order.OrderDiscount; if (order.RedeemedRewardPoints != null) { discTotal += order.RedeemedRewardPoints.UsedAmount; } foreach (var gc in OrderManager.GetAllGiftCardUsageHistoryEntries(null, null, order.OrderId)) { discTotal += gc.UsedValue; } if (discTotal != Decimal.Zero) { elAppliedToTxnAdd.AppendChild(CreateAmtTypeNode(xml, "DiscountAmount", discTotal)); elAppliedToTxnAdd.AppendChild(CreateRefNode(xml, "DiscountAccountRef", QBManager.QBDiscountAccountRef)); } return(xml); }
public static XmlDocument CreateTxnDelRq(QBEntity entity) { Order order = entity.NopEnity as Order; if (order == null) { return(null); } XmlDocument xml = new XmlDocument(); XmlElement elRoot = InitializeDocument(xml); XmlElement elTxnVoidRq = xml.CreateElement("TxnDelRq"); elRoot.AppendChild(elTxnVoidRq); elTxnVoidRq.AppendChild(CreateStrTypeNode(xml, "TxnDelType", "Invoice")); elTxnVoidRq.AppendChild(CreateIDTypeNode(xml, "TxnID", QBManager.GetQBEntityByNopId(EntityTypeEnum.Invoice, order.OrderId))); return(xml); }