From 68418474aec145abe6330f8cae43a0e94438808d Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 27 May 2020 11:16:56 -0700 Subject: [PATCH] Successful connection/disconnection from QB. --- BodyshopUploader/Utils/HTTPServer.cs | 4 +++- BodyshopUploader/Utils/QuickBooksInterop.cs | 26 +++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/BodyshopUploader/Utils/HTTPServer.cs b/BodyshopUploader/Utils/HTTPServer.cs index 5f21a57..e041449 100644 --- a/BodyshopUploader/Utils/HTTPServer.cs +++ b/BodyshopUploader/Utils/HTTPServer.cs @@ -24,7 +24,9 @@ namespace BodyshopPartner.Utils { Console.WriteLine("Got a hit."); //res.WithCORS(); - Utils.QuickBooksInterop.connectToQuickBooks(); + Utils.QuickBooksInterop.ConnectToQuickBooks(); + Utils.QuickBooksInterop.DisconnectFromQuickBooks(); + res.WithCORS().AsText("Hello."); }, "POST"); diff --git a/BodyshopUploader/Utils/QuickBooksInterop.cs b/BodyshopUploader/Utils/QuickBooksInterop.cs index 2d7ca9e..48caa3a 100644 --- a/BodyshopUploader/Utils/QuickBooksInterop.cs +++ b/BodyshopUploader/Utils/QuickBooksInterop.cs @@ -10,22 +10,40 @@ namespace BodyshopPartner.Utils { public static class QuickBooksInterop { + private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private static string ticket; private static RequestProcessor2 rp; private static string maxVersion; private static string companyFile = ""; private static QBFileMode mode = QBFileMode.qbFileOpenDoNotCare; - private static string appID = "IDN123"; - private static string appName = "BodyshopPartner"; + private static string appID = "IDN123"; + private static string appName = "BodyshopPartner"; - public static void connectToQuickBooks() + public static void ConnectToQuickBooks() { - + rp = new RequestProcessor2Class(); rp.OpenConnection(appID, appName); ticket = rp.BeginSession(companyFile, mode); string[] versions = rp.get_QBXMLVersionsForSession(ticket); maxVersion = versions[versions.Length - 1]; } + + public static void DisconnectFromQuickBooks() + { + if (ticket != null) + { + try + { + rp.EndSession(ticket); + ticket = null; + rp.CloseConnection(); + } + catch (Exception ex) + { + logger.Error(ex); + } + } + } } }