Example #1
0
 public Connection(int id, ConnectionData data)
 {
     this.id = id;
     // prirad datovy kontejner a prihlas se k odberu jeho udalosti
     this.data = data;
     data.ConnectionInvalidated += connectionDataInvalidatedHandler;
 }
Example #2
0
        public EConnectionSaveCode AddConnection(ConnectionData data)
        {
            EConnectionSaveCode saveCode;
            string connName = data.Name;

            // jmeno spojeni musi byt unikatni
            if (connectionNames.ContainsKey(connName))
            {
                return EConnectionSaveCode.DuplicateConnectionName;
            }

            // spojeni musi byt validni
            if ((saveCode = data.ValidateConnectionData()) != EConnectionSaveCode.Ok)
                return saveCode;

            // ziskej nove id
            int nextId = getNextConnectionId();
            //klonuj
            ConnectionData clone = data.Clone() as ConnectionData;
            // pridej do slovniku
            connections.Add(nextId, clone);
            connectionNames.Add(connName, clone);
            // vytvor handle a ohlas jej
            Connection handle = new Connection(nextId, clone);
            ConnectionAdded(new ConnectionAddedEventArgs()
            {
                Connection = handle,
                Source = EConnectionOperationSource.ConnectionManagerDialog
            });

            return EConnectionSaveCode.Ok;
        }
Example #3
0
 void connectionDataInvalidatedHandler()
 {
     // uloz pro ucely zpracovani vyjimek
     name = data.Name;
     // nuluj odkaz na data
     data = null;
 }
Example #4
0
        public object Clone()
        {
            ConnectionData clone = new ConnectionData();

            clone.Name = Name;
            clone.UserName = UserName;
            clone.OsAuthentication = OsAuthentication;
            clone.NamingMethod = NamingMethod;

            switch (NamingMethod)
            {
                case ENamingMethod.ConnectDescriptor:

                    clone.Server = Server;
                    clone.Port = Port;

                    if (clone.UsingSid = UsingSid)
                    {
                        clone.Sid = Sid;
                    } else
                    {
                        clone.ServiceName = ServiceName;
                        clone.InstanceName = InstanceName;
                    }

                    clone.ServerType = ServerType;
                    break;
                case ENamingMethod.TnsServiceName:

                    clone.TnsServiceName = TnsServiceName;
                    break;

                case ENamingMethod.Ldap:

                    clone.LdapServiceName = LdapServiceName;
                    clone.LdapServer = LdapServer;
                    clone.LdapPort = LdapPort;
                    clone.LdapContext = LdapContext;
                    break;
            }

            // advanced connection string options
            clone.Pooling = Pooling;
            clone.MinPoolSize = MinPoolSize;
            clone.MaxPoolSize = MaxPoolSize;
            clone.IncrPoolSize = IncrPoolSize;
            clone.DecrPoolSize = DecrPoolSize;
            clone.ConnectionLifetime = ConnectionLifetime;
            clone.ConnectionTimeout = ConnectionTimeout;
            clone.ProxyUserId = ProxyUserId;
            clone.ProxyUserPassword = ProxyUserPassword;

            return clone;
        }