示例#1
0
        public static bool CreateConnection(ConnectionParams connectionParams, out NpgsqlConnection createdConnection)
        {
            bool result = false;
            string connstring = "";
            createdConnection = null;

            try
            {
                connstring = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",
                                               connectionParams.Server, connectionParams.Port, connectionParams.Username, connectionParams.Password, connectionParams.Database);

                createdConnection = new NpgsqlConnection(connstring);

                if(connectionParams.OpenImmidiately)
                    createdConnection.Open();

                _allConnections.Add(createdConnection);
            }
            catch (Exception exc)
            {
                if (createdConnection != null && createdConnection.State == System.Data.ConnectionState.Open)
                    createdConnection.Close();

                createdConnection = null;
            }

            return result;
        }
示例#2
0
文件: Store.cs 项目: Civa/Zenith
        public StoreInstance(ConnectionParams connectionParams)
        {
            Store = new DocumentStore
            {
                Url = string.Concat(connectionParams.Url, ":", connectionParams.Port),
                DefaultDatabase = connectionParams.Database

            }.Initialize();
        }
示例#3
0
        public static WorkspaceItem CreateScriptContent(ConnectionParams cp)
        {
            WorkspaceItem result = new WorkspaceItem();

            result.Target             = WorkspaceItemTarget.ScriptEditor;
            result.FileName           = String.Empty;
            result.ItemType           = WorkspaceItemType.Content;
            result.Content            = String.Empty;
            result.Server             = cp.Server;
            result.Database           = cp.Database;
            result.Username           = cp.CurrentUsername;
            result.IntegratedSecurity = cp.IntegratedSecurity;

            return(result);
        }
示例#4
0
    public override void Reconnect(ConnectionParams parameters)
    {
        CurrentConnectionStatus = ConnectionStatus.Connecting;
#if !UNITY_EDITOR
#if UNITY_ANDROID
        new AndroidJavaClass(InfoContainer.Instance.unityBridgeClass).CallStatic("doMethodWithCallbackWithParameters", "Reconnect", Newtonsoft.Json.JsonConvert.SerializeObject(parameters), MonoJavaCallback.ActionToJavaObject(OnConnect));
#elif UNITY_IOS
        throw new NotImplementedException();
#else
        throw new NotImplementedException();
#endif
#else
        Debug.Log("Reconnect in editor");
#endif
    }
        public void NegotiatedCipherSuite_SslProtocolIsLowerThanTls13_ShouldMatchTheProtocol(SslProtocols protocol)
        {
            var p = new ConnectionParams()
            {
                SslProtocols = protocol
            };

            NegotiatedParams ret = ConnectAndGetNegotiatedParams(p, p);

            ret.Succeeded();

            Assert.True(
                s_protocolCipherSuiteLookup[protocol].Contains(ret.CipherSuite),
                $"`{ret.CipherSuite}` is not recognized as {protocol} cipher suite");
        }
示例#6
0
        public void InitializeDataViewer(string windowId, string caption, string script, bool isReadonly, ConnectionParams connParams)
        {
            if (connParams == null)
            {
                throw new NullParameterException("Connection params object is null!");
            }

            _windowId = windowId;
            TableDataEditorManager.Remember(windowId, this);

            _connParams = connParams.CreateCopy();
            Caption     = caption;
            Script      = script;
            IsReadOnly  = isReadonly;
        }
示例#7
0
        private void acceptButton_Click(object sender, RoutedEventArgs e)
        {
            // Update connection params
            this.ConnectionInfo = new ConnectionParams()
            {
                Directory = directoryBox.Text, Username = ""
            };
            this.ConnectionInfo.Source = ConnectionSource.RSMLDirectory;

            // Save connection params
            EncryptedStorage.SaveEncryptedString("C_DATA", this.ConnectionInfo.ToXML());

            this.DialogResult = true;
            this.Close();
        }
示例#8
0
        public static void ModifyRoleDlg(DockContent parent, ConnectionParams cp, string roleName)
        {
            frmModifyRole frm = new frmModifyRole();

            frm.ConnectionParams = cp;
            frm.RoleName         = roleName;

            frm.lblInfo.Text   = roleName + " {" + cp.InfoDbServer + "}";
            frm.Caption        = "Modify Role: " + frm.lblInfo.Text;
            frm._parentContent = parent;
            frm.WireUpParentFormEvents();
            frm.btnGoToParent.Visible = parent != null;
            frm.InitializeUserControls();
            HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document);
        }
示例#9
0
        private static void ShowUdtForm(ConnectionParams cp, long udtId)
        {
            frmUdtEdit frm = new frmUdtEdit();

            frm.ConnectionParams = cp;
            if (udtId > 0)
            {
                frm._udtEdit.LoadUdt(udtId);
            }
            else
            {
                frm._udtEdit.CreateNew();
            }
            frm.ShowDialog();
        }
        public void NegotiatedCipherSuite_SslProtocolIsTls13_ShouldBeTls13()
        {
            var p = new ConnectionParams()
            {
                SslProtocols = SslProtocols.Tls13
            };

            NegotiatedParams ret = ConnectAndGetNegotiatedParams(p, p);

            ret.Succeeded();

            Assert.True(
                s_tls13CipherSuiteLookup.Contains(ret.CipherSuite),
                $"`{ret.CipherSuite}` is not recognized as TLS 1.3 cipher suite");
        }
示例#11
0
        private void acceptButton_Click(object sender, RoutedEventArgs e)
        {
            // Update connection params
            this.ConnectionInfo = new ConnectionParams()
            {
                Server = serverBox.Text, Port = portBox.Text, Database = databaseBox.Text, Directory = directoryBox.Text, Password = passwordBox.Password, Username = userBox.Text
            };
            this.ConnectionInfo.Source = (bool)this.databaseRadioButton.IsChecked ? ConnectionSource.MySQLDatabase : ConnectionSource.RSMLDirectory;

            // Save connection params
            EncryptedStorage.SaveEncryptedString("C_DATA", this.ConnectionInfo.ToXML());

            this.DialogResult = true;
            this.Close();
        }
示例#12
0
        public bool InitializeObjectGrouping(ConnectionParams connParams)
        {
            bool   result  = false;
            string infoMsg = String.Empty;

            tv.Nodes.Clear();

            try
            {
                _isInitializing = true;

                ConnParams = connParams;
                PopulateServerAndDatabaseCombos();

                if (!_grpFacade.IsObjectGroupingSupportInstalled())
                {
                    string msg = String.Format(PragmaSQL.Properties.Resources.DialogMessage_ObjectGroupSupportNotInstalled, _connParams.Server, _connParams.Database);

                    if (!MessageService.AskQuestion(msg))
                    {
                        result = false;
                    }
                    else
                    {
                        _grpFacade.InstallObjectGroupingSupport();
                        MessageService.ShowMessage("Object grouping support installed.");
                        result = true;
                    }
                }
                else
                {
                    result = true;
                }

                if (result)
                {
                    LoadInitial();
                }

                RaiseConnectionParamsChangedEvent(!result);
            }
            finally
            {
                CanEditObjectGrouping = result;
                _isInitializing       = false;
            }
            return(result);
        }
        private static NegotiatedParams ConnectAndGetNegotiatedParams(ConnectionParams serverParams, ConnectionParams clientParams)
        {
            (Stream clientStream, Stream serverStream) = TestHelper.GetConnectedStreams();

            using (clientStream)
                using (serverStream)
                    using (X509Certificate2 serverCert = Configuration.Certificates.GetSelfSignedServerCertificate())
                        using (SslStream server = new SslStream(serverStream, leaveInnerStreamOpen: false),
                               client = new SslStream(clientStream, leaveInnerStreamOpen: false))
                        {
                            var serverOptions = new SslServerAuthenticationOptions();
                            serverOptions.ServerCertificate   = serverCert;
                            serverOptions.EncryptionPolicy    = serverParams.EncryptionPolicy;
                            serverOptions.EnabledSslProtocols = serverParams.SslProtocols;
                            serverOptions.CipherSuitesPolicy  = serverParams.CipherSuitesPolicy;

                            var clientOptions = new SslClientAuthenticationOptions();
                            clientOptions.EncryptionPolicy    = clientParams.EncryptionPolicy;
                            clientOptions.EnabledSslProtocols = clientParams.SslProtocols;
                            clientOptions.CipherSuitesPolicy  = clientParams.CipherSuitesPolicy;
                            clientOptions.TargetHost          = "test";
                            clientOptions.RemoteCertificateValidationCallback = delegate { return(true); };

                            Exception failure = WaitForSecureConnection(client, clientOptions, server, serverOptions).WaitAsync(TestConfiguration.PassingTestTimeoutMilliseconds).GetAwaiter().GetResult();

                            if (failure == null)
                            {
                                // send some bytes, make sure they can talk
                                byte[] data         = new byte[] { 1, 2, 3 };
                                byte[] receivedData = new byte[1];
                                Task   serverTask   = server.WriteAsync(data, 0, data.Length);
                                for (int i = 0; i < data.Length; i++)
                                {
                                    Assert.True(client.ReadAsync(receivedData, 0, 1).Wait(TestConfiguration.PassingTestTimeoutMilliseconds),
                                                $"Read task failed to finish in {TestConfiguration.PassingTestTimeoutMilliseconds}ms.");
                                    Assert.Equal(data[i], receivedData[0]);
                                }

                                Assert.True(serverTask.Wait(TestConfiguration.PassingTestTimeoutMilliseconds),
                                            $"WriteTask failed to finish in {TestConfiguration.PassingTestTimeoutMilliseconds}ms.");
                                return(new NegotiatedParams(server, client));
                            }
                            else
                            {
                                return(new NegotiatedParams(failure));
                            }
                        }
        }
示例#14
0
        /*
         * private ConnectionParams PrepareWorkspaceItemConnection(RecoverContent item, out bool failedConnections)
         * {
         * failedConnections = false;
         * string key = item.Database.Trim().ToLowerInvariant();
         * key += (Char)29 + item.Server.Trim().ToLowerInvariant();
         *
         * ConnectionParams cp = null;
         * if (_confirmedConnections.ContainsKey(key))
         *  return _confirmedConnections[key];
         * else if (_failedConnections.ContainsKey(key))
         * {
         *  failedConnections = true;
         *  return null;
         * }
         * else
         * {
         *  cp = new ConnectionParams();
         *  cp.Server = item.Server;
         *  cp.Database = item.Database;
         *  cp.UserName = item.IntegratedSecurity.Length == 0 ? item.Username : String.Empty;
         *  cp.IntegratedSecurity = item.IntegratedSecurity;
         *  cp = ConfirmConnection(cp);
         *
         *  if (cp == null)
         *  {
         *    if (!_failedConnections.ContainsKey(key))
         *      _failedConnections.Add(key, cp);
         *
         *    return null;
         *  }
         *
         *  if (!_confirmedConnections.ContainsKey(key))
         *    _confirmedConnections.Add(key, cp);
         *
         *  return cp;
         * }
         * }
         *
         * private ConnectionParams ConfirmConnection(ConnectionParams cp)
         * {
         * string normalServerName = cp.Server.Trim().ToLowerInvariant();
         * frmConnectionParams frm = new frmConnectionParams(cp, false, true);
         * frm.InfoMessage = "Content Restore operation needs you to confirm the database connection.";
         * frm.ResetPassword();
         * frm.LogonOnly = true;
         * return frm.ShowDialog() != DialogResult.OK ? null : frm.GetCurrentConnectionSpec();
         * }
         */

        private ConnectionParams PrepareWorkspaceItemConnection(RecoverContent item, out bool failedConnections)
        {
            failedConnections = false;

            string key = item.Database.Trim().ToLowerInvariant();

            key += (Char)29 + item.Server.Trim().ToLowerInvariant();

            ConnectionParams cp = null;

            if (_confirmedConnections.ContainsKey(key))
            {
                return(_confirmedConnections[key]);
            }
            else
            {
                cp          = new ConnectionParams();
                cp.Server   = item.Server;
                cp.Database = item.Database;
                if (item.IntegratedSecurity.Length == 0)
                {
                    cp.UserName = item.Username;
                }
                else
                {
                    cp.UserName = String.Empty;
                }

                cp.IntegratedSecurity = item.IntegratedSecurity;

                cp = ConfirmConnection(cp);
                if (cp == null)
                {
                    if (!_failedConnections.ContainsKey(key))
                    {
                        _failedConnections.Add(key, cp);
                    }
                    return(null);
                }
                key  = item.Database.Trim().ToLowerInvariant();
                key += (Char)29 + cp.Server.Trim().ToLowerInvariant();
                if (!_confirmedConnections.ContainsKey(key))
                {
                    _confirmedConnections.Add(key, cp);
                }
                return(cp);
            }
        }
        public virtual void HandleDelete(ConnectionParams connectionParams, XmlWriterSettings settings, XmlSerializerNamespaces namespaces)
        {
            const string DeleteStageName = "Удаление";

            try
            {
                int deletedCount;
                this.InternalHandleDelete(connectionParams, settings, namespaces, out deletedCount);
                Log.Info(string.Format("  {0} {1}: завершено (удалено {2})", DeleteStageName, this.ElementNameInGenitive, deletedCount));
            }
            catch (Exception ex)
            {
                Log.Error(string.Format("  {0} {1}: ошибка. Подробнее: {2}", DeleteStageName, this.ElementNameInGenitive, ex.Message));
                throw;
            }
        }
示例#16
0
        public static bool DropDatabase(ConnectionParams cp, long dbid)
        {
            if (!MessageService.AskQuestion("Are you sure you want to drop the selected database?\nDatabase name: " + cp.Database))
            {
                return(false);
            }

            ConnectionParams tmp = cp.CreateCopy();

            tmp.Database = "master";
            using (SqlConnection conn = tmp.CreateSqlConnection(true, false))
            {
                DbCmd.DropDb(conn, cp.Database, dbid);
            }
            return(true);
        }
示例#17
0
        public static bool TruncateLogs(ConnectionParams cp)
        {
            if (!MessageService.AskQuestion("Are you sure you want to truncate logs for the selected database?\nDatabase name: " + cp.Database))
            {
                return(false);
            }

            ConnectionParams tmp = cp.CreateCopy();

            tmp.Database = "master";
            using (SqlConnection conn = tmp.CreateSqlConnection(true, false))
            {
                DbCmd.TruncLog(conn, cp.Database);
            }
            return(true);
        }
示例#18
0
        internal static frmScriptEditor OpenFile(string fileName, NodeData data)
        {
            ConnectionParams cp = data.ConnParams.CreateCopy();

            cp.Database = data.DBName;
            frmScriptEditor frm = Create(String.Empty, cp);

            if (!frm.OpenFile(fileName))
            {
                frm.Close();
                frm.Dispose();
                return(null);
            }
            frm.ContentPersister.ContentType = EditorContentType.File;
            return(frm);
        }
示例#19
0
        public void CreateScriptEditor(string caption, string script, ConnectionParams cp)
        {
            frmScriptEditor frm = null;

            try
            {
                frm = ScriptEditorFactory.Create(caption, script, cp);
                ScriptEditorFactory.ShowScriptEditor(frm);
            }
            catch (Exception ex)
            {
                frm.Dispose();
                frm = null;
                throw ex;
            }
        }
        public void CipherSuitesPolicy_AllowSomeCipherSuitesWithNoEncryptionOption_Fails()
        {
            CheckPrereqsForNonTls13Tests(1);
            var p = new ConnectionParams()
            {
                CipherSuitesPolicy = BuildPolicy(TlsCipherSuite.TLS_AES_128_GCM_SHA256,
                                                 SupportedNonTls13CipherSuites[0]),
#pragma warning disable SYSLIB0040 // NoEncryption and AllowNoEncryption are obsolete
                EncryptionPolicy = EncryptionPolicy.NoEncryption,
#pragma warning restore SYSLIB0040
            };

            NegotiatedParams ret = ConnectAndGetNegotiatedParams(p, p);

            ret.Failed();
        }
示例#21
0
        public DependencyExplorer(ConnectionParams cp)
        {
            if (cp == null)
            {
                throw new ArgumentNullException("cp", "Connection parameters object is null!");
            }

            ConnParams = cp;
            using (SqlConnection conn = _connParams.CreateSqlConnection(false, false))
            {
                sqlConn = new ServerConnection(conn);
                srvr    = new Server(sqlConn);

                db = srvr.Databases[_connParams.Database];
            }
        }
示例#22
0
        public void LoadScriptFile(string fileName, ConnectionParams cp)
        {
            frmScriptEditor frm = null;

            try
            {
                frm = ScriptEditorFactory.OpenFile(fileName, cp);
                ScriptEditorFactory.ShowScriptEditor(frm);
            }
            catch (Exception ex)
            {
                frm.Dispose();
                frm = null;
                throw ex;
            }
        }
        public void CipherSuitesPolicy_NothingAllowed_Fails()
        {
            CipherSuitesPolicy csp = BuildPolicy();

            var sp = new ConnectionParams();

            sp.CipherSuitesPolicy = csp;

            var cp = new ConnectionParams();

            cp.CipherSuitesPolicy = csp;

            NegotiatedParams ret = ConnectAndGetNegotiatedParams(sp, cp);

            ret.Failed();
        }
示例#24
0
        internal static frmScriptEditor Create(ConnectionParams cp)
        {
            int?windowNo = Numerator.NextNumber;

            if (!windowNo.HasValue)
            {
                _instanceCnt++;
                windowNo = _instanceCnt;
            }

            string          caption = String.Format("Script {0}", windowNo);
            frmScriptEditor editor  = Create(caption, cp);

            editor.WindowNo = windowNo;

            return(editor);
        }
示例#25
0
 public static bool CreateConfigFile(string ConfigFilePath, ConnectionParams SourceObject)
 {
     try
     {
         using (StreamWriter SW = new StreamWriter(ConfigFilePath))
         {
             var JS = new JsonSerializer();
             JS.Formatting = Formatting.Indented;
             JS.Serialize(SW, SourceObject);
             return(true);
         }
     }
     catch (System.Exception)
     {
         throw;
     }
 }
示例#26
0
        private void ProcessConnectionItem(object sender)
        {
            try
            {
                ToolStripMenuItem item = sender as ToolStripMenuItem;
                if (item == null)
                {
                    Logger.Error(LocalizibleStrings.CannotProcessMenuItem);
                    return;
                }

                ExchangeVersion version;
                if (!Enum.TryParse(item.Tag as string, true, out version))
                {
                    Logger.Error(LocalizibleStrings.UnrecognizedEwsVersion + item.Tag);
                    return;
                }

                ConnectionParams param = new ConnectionParams(
                    version,
                    Config.GetParam(Config.EwsUri),
                    new UserData(
                        Config.GetParam(Config.User),
                        Config.GetParam(Config.UserEmail),
                        Config.GetParam(Config.Password),
                        Config.GetParam(Config.Domain)),
                    false);

                if (!Service.TryConnectToService(this, param, out _service))
                {
                    return;
                }

                this.SuspendLayout();
                this.generateToolStripMenuItem.Enabled     = true;
                this.saveSettingsToolStripMenuItem.Enabled = true;
                // Bug VS
                SetEnabled(this);
                this.clTargetContacts.tsbtnRefresh.PerformClick();
                this.ResumeLayout(true);
            }
            catch (Exception exc)
            {
                Logger.Error(LocalizibleStrings.CannotConnectToEws, exc);
            }
        }
示例#27
0
        public static void ShowIndexDBCC(ConnectionParams cp, string owner, int objectId, string objectName, int indexId, string indexName)
        {
            frmIndexDBCC frm = new frmIndexDBCC();

            frm.Caption          = "Index DBCC: " + objectName + "." + indexName + " {" + cp.InfoDbServer + "}";
            frm.ConnectionParams = cp.CreateCopy();

            frm.IndexId     = indexId;
            frm.IndexName   = indexName;
            frm.ObjectOwner = owner;
            frm.ObjectId    = objectId;
            frm.ObjectName  = objectName;

            frm.lblIndexName.Text  = indexName;
            frm.lblObjectName.Text = objectName;

            HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document);
        }
        public void CipherSuitesPolicy_OnlyTls13CipherSuiteAllowedButChosenProtocolsDoesNotAllowIt_Fails()
        {
            var a = new ConnectionParams()
            {
                CipherSuitesPolicy = BuildPolicy(TlsCipherSuite.TLS_AES_128_GCM_SHA256),
                SslProtocols       = NonTls13Protocols,
            };

            var b = new ConnectionParams();

            for (int i = 0; i < 2; i++)
            {
                NegotiatedParams ret = i == 0 ?
                                       ConnectAndGetNegotiatedParams(a, b) :
                                       ConnectAndGetNegotiatedParams(b, a);
                ret.Failed();
            }
        }
示例#29
0
        public BatchScripter(ConnectionParams cp)
        {
            if (cp == null)
            {
                throw new ArgumentNullException("cp", "Connection parameters object is null!");
            }

            ConnParams = cp;
            using (SqlConnection conn = _connParams.CreateSqlConnection(false, false))
            {
                sqlConn = new ServerConnection(conn);
                srvr    = new Server(sqlConn);

                db   = srvr.Databases[_connParams.Database];
                scrp = new Scripter(srvr);
                scrp.ScriptingProgress += new ProgressReportEventHandler(scrp_ScriptingProgress);
            }
        }
 public IntPtr Connect(string deviceId, ConnectionParams parameters)
 {
     if (!this.connections.ContainsKey(deviceId))
     {
         try
         {
             this.BreakConnection(deviceId, 10 * 60 * 1000);
             IntPtr handle = ZKApi.Connect(parameters.ToString());
             connections.Add(deviceId, handle);
             return(handle);
         }
         catch (Exception ex)
         {
             return(IntPtr.Zero);
         }
     }
     return(connections[deviceId]);
 }
示例#31
0
        private void PopulateUsers(ConnectionParams cp, TreeNode parentNode)
        {
            if (cp == null || parentNode == null)
            {
                return;
            }

            if (!_connections.Keys.Contains(cp.Name))
            {
                return;
            }

            SqlConnection conn = _connections[cp.Name];

            if (conn.State != ConnectionState.Open)
            {
                throw new InvalidConnectionState("Can not populate users!");
            }

            TreeNode usersNode = AddNode(parentNode.Nodes, FolderType.Users, DBObjectType.UsersGroup);

            usersNode.Nodes.Clear();
            NodeData parentData    = NodeDataFactory.GetNodeData(parentNode.Tag);
            NodeData usersNodeData = NodeDataFactory.Create(parentData.ConnParams, FolderType.Users, DBObjectType.UsersGroup, parentData.DBName);

            usersNodeData.Populated = true;
            usersNode.Tag           = usersNodeData;

            DataTable users = conn.GetSchema("Users");

            users.DefaultView.Sort = "user_name";
            users = users.DefaultView.ToTable();

            foreach (DataRow row in users.Rows)
            {
                string   userName = (string)row["user_name"];
                TreeNode node     = AddNode(usersNode.Nodes, userName, DBObjectType.User);

                NodeData userNodeData = NodeDataFactory.Create(parentData.ConnParams, userName, DBObjectType.User, parentData.DBName);
                userNodeData.Populated = false;

                node.Tag = userNodeData;
            }
        }
示例#32
0
		public static void ShowBulkCopyDialog(ConnectionParams cp)
		{

			if (cp == null)
				throw new ArgumentNullException("cp", "Connection parameters object is null!");

			try
			{
				FuzzyWait.ShowFuzzyWait("Preparing PragmaSQL Bulk Copy wizard...");
				BulkCopyDialog frm = new BulkCopyDialog();
				frm.ConnParams = cp;
				frm.Text = "PragmaSQL Bulk Copy from [" + cp.InfoDbServer + "]";
				frm.Show();
			}
			finally
			{
				FuzzyWait.CloseFuzzyWait();
			}
		}
示例#33
0
 public static void Connect(ConnectionParams connectionParams)
 {
     Connect(connectionParams.Server, connectionParams.Port, connectionParams.ScreenWidth, connectionParams.ScreenHeight);
 }
示例#34
0
        private void ProcessConnectionItem(object sender)
        {
            try
            {
                ToolStripMenuItem item = sender as ToolStripMenuItem;
                if (item == null)
                {
                    Logger.Error(LocalizibleStrings.CannotProcessMenuItem);
                    return;
                }

                ExchangeVersion version;
                if (!Enum.TryParse(item.Tag as string, true, out version))
                {
                    Logger.Error(LocalizibleStrings.UnrecognizedEwsVersion + item.Tag);
                    return;
                }

                ConnectionParams param = new ConnectionParams(
                    version,
                    Config.GetParam(Config.EwsUri),
                    new UserData(
                        Config.GetParam(Config.User),
                        Config.GetParam(Config.UserEmail),
                        Config.GetParam(Config.Password),
                        Config.GetParam(Config.Domain)),
                    false);

                if (!Service.TryConnectToService(this, param, out _service))
                {
                    return;
                }

                this.SuspendLayout();
                this.generateToolStripMenuItem.Enabled = true;
                this.saveSettingsToolStripMenuItem.Enabled = true;
                // Bug VS
                SetEnabled(this);
                this.clTargetContacts.tsbtnRefresh.PerformClick();
                this.ResumeLayout(true);
            }
            catch (Exception exc)
            {
                Logger.Error(LocalizibleStrings.CannotConnectToEws, exc);
            }
        }