public QBRepository(ILogger logger, ISettings settings) { _logger = logger; _settings = settings; try { _qbSession = new QBSessionManagerClass(); } catch (Exception e) { _logger.LogException("Error creating QBSessionManagerClass object in QBRepository constructor.", e); } }
private void OpenSession() { try { _qbSession = new QBSessionManagerClass(); _qbSession.OpenConnection("", _settings.QbAppName); _qbSession.BeginSession(_settings.QuickBooksFilePath, ENOpenMode.omDontCare); } catch (Exception ex) { _logger.LogException("Error opening QB Session", ex); throw new QuickBooksException("Error opening QuickBooks session", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void CloseSession() { try { if (_qbSession != null) { _qbSession.CloseConnection(); _qbSession.EndSession(); _qbSession = null; } } catch (Exception ex) { _logger.LogException("Error closing Quickbooks connection or ending session", ex); throw new QuickBooksException("Error closing QB connection or ending QB session", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }