/// <summary>
        /// Set existing DI and/or UI Api Connection
        /// </summary>
        /// <param name="diCompany">SAPbobsCOM.Company</param>
        /// <param name="application">SAPbouiCOM.Application</param>
        /// <param name="loggingEnabled">Is SBO Common Logging enabled</param>
        public static void SetApiConnection(
            SAPbobsCOM.Company diCompany, SAPbouiCOM.Application application = null, bool loggingEnabled = true)
        {
            _diCompany = diCompany;

            if (application != null)
            {
                _application = application;
            }

            if (loggingEnabled)
            {
                SboAppLogger.Enable();
            }
        }
        /// <summary>
        /// Connect UI and DI API
        /// </summary>
        /// <param name="connectionString">Connection String from SBO Main Application</param>
        /// <param name="loggingEnabled">Is SBO Common Logging enabled</param>
        public static void Connect(string connectionString = null, bool loggingEnabled = true)
        {
            //connectionString = DebugConnectionString;
            if (connectionString == null)
            {
                connectionString = Environment.GetCommandLineArgs().Length > 1 ?
                                   Convert.ToString(Environment.GetCommandLineArgs().GetValue(1)) : string.Empty;
            }

            var sboGuiApi = new SAPbouiCOM.SboGuiApi();

            _diCompany = new SAPbobsCOM.Company();

            try
            {
                sboGuiApi.Connect(connectionString);
                _application = sboGuiApi.GetApplication();

                var contextCookie             = _diCompany.GetContextCookie();
                var diCompanyConnectionString = _application.Company.GetConnectionContext(contextCookie);

                var responseCode = _diCompany.SetSboLoginContext(diCompanyConnectionString);


                ErrorHelper.HandleErrorWithException(responseCode, "DI API Could not Set Sbo Login Context", _diCompany);

                var connectResponse = _diCompany.Connect();
                ErrorHelper.HandleErrorWithException(connectResponse, $"DI API Could not connect.", _diCompany);

                if (loggingEnabled)
                {
                    SboAppLogger.Enable();
                }

                var assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
                Logger.Info($"{assemblyName} connected");

                SetAppEvents();
            }
            catch (Exception ex)
            {
                Logger.Error($"SboApp UI Connect Error: {ex.Message}", ex);
                throw;
            }
        }