ContainsKey() public method

public ContainsKey ( string keyword ) : bool
keyword string
return bool
Beispiel #1
0
 public void Initialize(string connectionString)
 {
     var parser = new DbConnectionStringBuilder {ConnectionString = connectionString};
     var fileName = parser.ContainsKey("Filename")
         ? parser["Filename"].ToString()
         : Path.Combine(Directory.GetCurrentDirectory(), "PlayPass.log");
     var appendMode = !parser.ContainsKey("Append") || (parser["Append"].ToString() == "1");
     _file = new StreamWriter(fileName, appendMode) {AutoFlush = true};
 }
        protected void CheckAssertions(string connectionString)
        {
            DbConnectionStringBuilder dbConnection = new DbConnectionStringBuilder { ConnectionString = connectionString };

            foreach (ConnectionStringSetting setting in StringSettings)
            {
                if (dbConnection.ContainsKey(setting.SettingName))
                {
                    AssertState.Equal(setting.ExpectedValue, dbConnection[setting.SettingName].ToString());
                }
                else
                {
                    throw new AssertionException(string.Format("Connection String setting [{0}] not found", setting.SettingName));
                }
            }

            if (dbConnection.Keys != null)
                AssertState.Equal(StringSettings.Count, dbConnection.Keys.Count);
            else
            {
                throw new AssertionException("No StringSetting values were found");
            }

            if (CheckConnectivity)
                using (SqlConnection sqlConnection = (new SqlConnection(connectionString)))
                    sqlConnection.Open();
        }
Beispiel #3
0
        /// <summary>
        /// Replaces any existing 'enlist' parameter in the connection string
        /// with a value indicating that manual enlist is necessary.
        /// </summary>
        /// <remarks>
        /// ODP.NET supports 3 values for 'enlist'; 'true', 'false' and 'dynamic'.
        ///  'dynamic' effectively works the same as 'false' in System.Data.OracleClient.
        /// </remarks>
        protected override void ReplaceEnlistInConnectionString(DbConnectionStringBuilder dbConnectionStringBuilder)
        {
            if (dbConnectionStringBuilder.ContainsKey("enlist"))
                dbConnectionStringBuilder.Remove("enlist");

            dbConnectionStringBuilder.Add("enlist", "dynamic");
        }
 private static string GetDataSourceFilePath(DbConnectionStringBuilder builder, string connectionString)
 {
     builder.ConnectionString = connectionString;
     if (!builder.ContainsKey("Data Source"))
     {
         throw new ArgumentException("A 'Data Source' parameter was expected in the supplied connection string, but it was not found.");
     }
     return ConnectionStringHelper.ResolveDataSourceFilePath(builder["Data Source"].ToString());
 }
Beispiel #5
0
        public IDbConnection Get(string connectionString)
        {
            var csb = new DbConnectionStringBuilder();
            csb.ConnectionString = connectionString;

            string providerName = string.Empty;
            if (csb.ContainsKey("Provider"))
                providerName = InterpretProviderName(csb["Provider"].ToString());

            if (string.IsNullOrEmpty(providerName) && csb.ContainsKey("Driver"))
                providerName= "Odbc";

            if (string.IsNullOrEmpty(providerName))
                providerName="SqlClient";

            if (string.IsNullOrEmpty(providerName))
                throw new ArgumentException(string.Format("No provider found for connectionString '{0}'", connectionString));

            return Get(providerName, connectionString);
        }
        /// <summary>
        /// Extracts the provider from the connection string or uses the default.
        /// </summary>
        /// <param name="csb">The DbConnectionStringBuilder object to use.</param>
        /// <returns>the string type of the provider.</returns>
        private static string GetProvider(DbConnectionStringBuilder csb)
        {
            string provider = "System.Data.SqlClient"; // default factory provider

            if (csb.ContainsKey("provider"))
            {
                provider = csb["provider"].ToString();
                csb.Remove("provider");
            }

            return provider;
        }
        public void CanUploadFileToRootDirUsingProperties()
        {
            using (var file = new DummyFile(1024 * 1024 * 3))
            {
                var csb = new DbConnectionStringBuilder { ConnectionString = Cs };
                Sftp.Host = csb["host"] as string;
                Sftp.Username = csb["username"] as string;
                Sftp.Password = csb["password"] as string;
                Sftp.Hostkey = csb["hostkey"] as string;
                Sftp.Port = csb.ContainsKey("port") ? csb["port"] as string : string.Empty;

                Sftp.UploadFile(file.FileInfo.FullName, true);
            }
        }
Beispiel #8
0
 /// <summary>
 ///     Initializes the Queue List with custom settings
 /// </summary>
 public void Initialize(string connectionString)
 {
     var parser = new DbConnectionStringBuilder {ConnectionString = connectionString};
     if (parser.ContainsKey("Data Source"))
         _skipFilePath = parser["Data Source"].ToString();
     else
     {
         var mediaStorageLocation = PlayOnSettings.GetMediaStorageLocation();
         if (mediaStorageLocation == "")
             throw new Exception("Unable to find PlayLater's Media Storage Location");
         _skipFilePath = mediaStorageLocation;
     }
     if (!Directory.Exists(_skipFilePath))
         throw new Exception(String.Format("Queue List data path does not exists: {0}", _skipFilePath));
 }
Beispiel #9
0
        protected DynamicModel(DbConnectionStringBuilder connectionStringBuilder, string tableName = "",
            string primaryKeyField = "", string descriptorField = "")
        {
            TableName = tableName == "" ? this.GetType().Name : tableName;
            PrimaryKeyField = string.IsNullOrEmpty(primaryKeyField) ? "ID" : primaryKeyField;
            DescriptorField = descriptorField;

            string _providerName =
                connectionStringBuilder.ContainsKey("ProviderName")
                    ? (string) connectionStringBuilder["ProviderName"]
                    : "System.Data.SqlClient";

            _factory = DbProviderFactories.GetFactory(_providerName);
            ConnectionString = connectionStringBuilder.ConnectionString;
        }
Beispiel #10
0
        public static IQueueList GetQueueList(string connectionString)
        {
            var parser = new DbConnectionStringBuilder {ConnectionString = connectionString};
            if (!parser.ContainsKey("Provider"))
                throw new Exception("Queue List Provider Type is not specified");

            var providerType = parser["Provider"].ToString().ToUpper();

            if (!Classes.ContainsKey(providerType))
                throw new Exception(String.Format("Unregistered Queue List Provider Type: {0}", providerType));

            var type = Classes[providerType];
            var instance = (IQueueList) Activator.CreateInstance(type);
            instance.Initialize(connectionString);
            return instance;
        }
        public void CanCreateConnection()
        {
            var provider = new MicrOrmConnectionProvider(DbUtility.ConnectionStringName);

              var connection = provider.CreateConnection();

              Assert.NotNull(connection);
              Assert.AreEqual(ConnectionState.Closed, connection.State);

              var connectionStringActual = new DbConnectionStringBuilder {ConnectionString = connection.ConnectionString};

              foreach (string key in provider.ConnectionString.Keys)
              {
            Assert.True(connectionStringActual.ContainsKey(key));
            Assert.AreEqual(provider.ConnectionString[key], connectionStringActual[key]);
              }
        }
Beispiel #12
0
        public static ILogger GetLogger(string connectionString, bool debugMode, bool verboseMode)
        {
            var parser = new DbConnectionStringBuilder {ConnectionString = connectionString};
            if (!parser.ContainsKey("Provider"))
                throw new Exception("Logger Provider Type is not specified");

            var providerType = parser["Provider"].ToString().ToUpper();

            if (!Classes.ContainsKey(providerType))
                throw new Exception(String.Format("Unregistered Logger Provider Type: {0}", providerType));

            var type = Classes[providerType];
            var instance = (ILogger) Activator.CreateInstance(type);
            instance.DebugMode = debugMode;
            instance.VerboseMode = verboseMode;
            instance.Initialize(connectionString);
            return instance;
        }
        public static string ExtractSchemaName(this string connectionString, out string schemaName)
        {
            const string key = "Queue Schema";

            var connectionStringParser = new DbConnectionStringBuilder
            {
                ConnectionString = connectionString
            };
            if (connectionStringParser.ContainsKey(key))
            {
                schemaName = (string) connectionStringParser[key];
                connectionStringParser.Remove(key);
                connectionString = connectionStringParser.ConnectionString;
            }
            else
            {
                schemaName = null;
            }
            return connectionString;
        }
        /// <summary>
        /// Gets the command timeout (in seconds) from
        /// the connection string (if the CommandTimeout key is specified).
        /// </summary>
        private static int? GetCommandTimeout(DbConnectionStringBuilder csb)
        {
            const string key = "CommandTimeout";

            int? value = null;
            if (csb.ContainsKey(key))
            {
                int iValue;
                if (Int32.TryParse(csb[key].ToString(), out iValue))
                {
                    // ignore negative values
                    if (iValue >= 0)
                    {
                        value = iValue;
                    }
                }
                csb.Remove(key);
            }

            return value;
        }
        /// <summary>
        /// Initialize the Connection Parameters using the Connection String Settings
        /// </summary>
        /// <param name="settings"></param>
        public void ReadConnectionParameters(ConnectionStringSettings settings)
        {
            var connectionString = new DbConnectionStringBuilder { ConnectionString = settings.ConnectionString };

            if (connectionString.ContainsKey("Database"))
            {
                DatabaseName = (string)connectionString["Database"];
            }

            if (connectionString.ContainsKey("DriverClass"))
            {
                Connection_DriverClass = (string)connectionString["DriverClass"];
                connectionString.Remove("DriverClass");
            }
            else
                throw new ConnectionElementNotFoundException("DriverClass");

            if (connectionString.ContainsKey("Dialect"))
            {
                Dialect = (string)connectionString["Dialect"];
                connectionString.Remove("Dialect");
            }
            else
                throw new ConnectionElementNotFoundException("Dialect");

            if (connectionString.ContainsKey("proxyfactory.factory_class"))
            {
                ProxyFactoryClass = (string)connectionString["proxyfactory.factory_class"];
                connectionString.Remove("proxyfactory.factory_class");
            }

            if (connectionString.ContainsKey("TablePrefix"))
            {
                TablePrefix = (string)connectionString["TablePrefix"];
                connectionString.Remove("TablePrefix");
            }

            if (connectionString.ContainsKey("show_sql"))
            {
                ShowSql = (string)connectionString["NHibernateInterceptor"] == "true";
                connectionString.Remove("show_sql");
            }
            if (connectionString.ContainsKey("NHibernateInterceptor"))
            {
                Interceptor = (string)connectionString["NHibernateInterceptor"];
                connectionString.Remove("NHibernateInterceptor");
            }

            if (connectionString.ContainsKey("CreatedOn"))
            {
                FieldCreatedOn = (string)connectionString["CreatedOn"];
                connectionString.Remove("CreatedOn");
            }

            if (connectionString.ContainsKey("UpdatedOn"))
            {
                FieldUpdatedOn = (string)connectionString["UpdatedOn"];
                connectionString.Remove("UpdatedOn");
            }

            if (connectionString.ContainsKey("CreatedBy"))
            {
                FieldCreatedBy = (string)connectionString["CreatedBy"];
                connectionString.Remove("CreatedBy");
            }

            if (connectionString.ContainsKey("UpdatedBy"))
            {
                FieldUpdatedBy = (string)connectionString["UpdatedBy"];
                connectionString.Remove("UpdatedBy");
            }

            Connection_ConnectionString = connectionString.ConnectionString;
        }
        internal static string InjectEFAttributesIntoConnectionString(string sourceConnectionString, string providerInvariantName)
        {
            // if the provider connection string's provider property is "System.Data.SqlClient" then add the 
            // MARS attribute (value is true if SQL Server version >= 9, false otherwise). Also add the App
            // attribute (with fixed value EntityFramework) - which is useful for statistics on server.
            if (!string.Equals(providerInvariantName, SqlClientProviderName, StringComparison.Ordinal))
            {
                return sourceConnectionString;
            }

            var configFileConnectionBuilder = new DbConnectionStringBuilder();

            try
            {
                configFileConnectionBuilder.ConnectionString = sourceConnectionString;
            }
            catch (ArgumentException)
            {
                return sourceConnectionString;
            }

            // add MARS property if it does not already exist
            object marsValue;
            if (!configFileConnectionBuilder.TryGetValue(XmlAttrNameMultipleActiveResultSets, out marsValue))
            {
                configFileConnectionBuilder[XmlAttrNameMultipleActiveResultSets] = true.ToString();
            }

            // add App attribute if neither App nor Application Name property is already set
            if (!configFileConnectionBuilder.ContainsKey(ProviderConnectionStringPropertyNameApp)
                && !configFileConnectionBuilder.ContainsKey(ProviderConnectionStringPropertyNameApplicationName))
            {
                // note: fixed value so no localization;
                configFileConnectionBuilder[ProviderConnectionStringPropertyNameApp] = "EntityFramework";
            }

            return configFileConnectionBuilder.ConnectionString;
        }
        private static void SetDataHelperNamesLegacyConnectionString(DbConnectionStringBuilder connectionStringBuilder)
        {
            // get the data layer type and parse it
            var datalayerType = String.Empty;
            if (connectionStringBuilder.ContainsKey(ConnectionStringDataLayerIdentifier))
            {
                datalayerType = connectionStringBuilder[ConnectionStringDataLayerIdentifier].ToString();
                connectionStringBuilder.Remove(ConnectionStringDataLayerIdentifier);
            }

            _connectionString = connectionStringBuilder.ConnectionString;

            var datalayerTypeParts = datalayerType.Split(",".ToCharArray());

            _dataHelperTypeName = datalayerTypeParts[0].Trim();
            _dataHelperAssemblyName = datalayerTypeParts.Length < 2
                                          ? string.Empty
                                          : datalayerTypeParts[1].Trim();

            if (datalayerTypeParts.Length > 2 || (_dataHelperTypeName.Length == 0 && _dataHelperAssemblyName.Length > 0))
                throw new ArgumentException("Illegal format of data layer property. Should be 'DataLayer = Full_Type_Name [, Assembly_Name]'.", "connectionString");
        }
Beispiel #18
0
        private static DbConnection GetConnection(string connectionString)
        {
            string providerName = null;
            var csb = new DbConnectionStringBuilder { ConnectionString = connectionString };

            if (csb.ContainsKey("provider"))
            {
                providerName = csb["provider"].ToString();
            }
            else
            {
                var css = ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>().FirstOrDefault(x => string.Equals(x.ConnectionString, connectionString, StringComparison.OrdinalIgnoreCase));
                if (css != null) providerName = css.ProviderName;
            }

            if (providerName != null)
            {
                var providerExists = DbProviderFactories.GetFactoryClasses().Rows.Cast<DataRow>().Any(r => r[2].Equals(providerName));
                if (providerExists)
                {
                    var factory = DbProviderFactories.GetFactory(providerName);
                    return factory.CreateConnection();
                }
            }

            return null;
        }
Beispiel #19
0
		private string GetDatabaseName(string constr)
		{
			DbConnectionStringBuilder builder = new DbConnectionStringBuilder();
			builder.ConnectionString = constr;

			if(builder.ContainsKey("Initial Catalog"))
			{
				return (string)builder["Initial Catalog"];
			}
			else if(builder.ContainsKey("Database"))
			{
				return (string)builder["Database"];
			}
			else if(builder.ContainsKey("AttachDBFileName"))
			{
				return (string)builder["AttachDBFileName"];
			}
			else if(builder.ContainsKey("Data Source")
				&& ((string)builder["Data Source"]).EndsWith(".sdf", StringComparison.OrdinalIgnoreCase))
			{
				return (string)builder["Data Source"];
			}
			else
			{
				return _services.Model.DatabaseName;
			}
		}
Beispiel #20
0
        /// <summary>
        /// Replaces any existing 'enlist' parameter in the connection String
        /// with a value indicating that manual enlist is necessary.
        /// </summary>
        protected virtual void ReplaceEnlistInConnectionString(DbConnectionStringBuilder dbConnectionStringBuilder)
        {
            if (dbConnectionStringBuilder.ContainsKey("enlist"))
                dbConnectionStringBuilder.Remove("enlist");

            dbConnectionStringBuilder.Add("enlist", false);
        }
        public void ConnectionString()
        {
            DbConnectionStringBuilder sb;

            sb = new DbConnectionStringBuilder();
            sb.ConnectionString = "A=B";
            Assert.True(sb.ContainsKey("A"));
            Assert.Equal("a=B", sb.ConnectionString);
            Assert.Equal(1, sb.Count);
            Assert.Equal(1, sb.Keys.Count);

            sb.ConnectionString = null;
            Assert.False(sb.ContainsKey("A"));
            Assert.Equal(string.Empty, sb.ConnectionString);
            Assert.Equal(0, sb.Count);
            Assert.Equal(0, sb.Keys.Count);

            sb = new DbConnectionStringBuilder();
            sb.ConnectionString = "A=B";
            sb.ConnectionString = string.Empty;
            Assert.False(sb.ContainsKey("A"));
            Assert.Equal(string.Empty, sb.ConnectionString);
            Assert.Equal(0, sb.Count);
            Assert.Equal(0, sb.Keys.Count);

            sb = new DbConnectionStringBuilder();
            sb.ConnectionString = "A=B";
            sb.ConnectionString = "\r ";
            Assert.False(sb.ContainsKey("A"));
            Assert.Equal(string.Empty, sb.ConnectionString);
            Assert.Equal(0, sb.Count);
            Assert.Equal(0, sb.Keys.Count);
        }
		public void ContainsKey ()
		{
			builder ["SourceType"] = "DBC";
			builder.Add ("Port", "56");
			Assert.IsTrue (builder.ContainsKey ("SourceType"), "#A1");
			Assert.IsTrue (builder.ContainsKey ("Port"), "#A2");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#A3");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#A4");
			Assert.IsFalse (builder.ContainsKey ("xyz"), "#A5");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.ContainsKey ("Dsn"), "#A6");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.ContainsKey ("Driver"), "#A7");
			builder ["abc"] = "pqr";
			Assert.IsTrue (builder.ContainsKey ("ABC"), "#A8");
			Assert.IsFalse (builder.ContainsKey (string.Empty), "#A9");

			builder = new DbConnectionStringBuilder (false);
			builder ["SourceType"] = "DBC";
			builder.Add ("Port", "56");
			Assert.IsTrue (builder.ContainsKey ("SourceType"), "#A1");
			Assert.IsTrue (builder.ContainsKey ("Port"), "#A2");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#A3");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#A4");
			Assert.IsFalse (builder.ContainsKey ("xyz"), "#A5");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.ContainsKey ("Dsn"), "#A6");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.ContainsKey ("Driver"), "#A7");
			builder ["abc"] = "pqr";
			Assert.IsTrue (builder.ContainsKey ("ABC"), "#A8");
			Assert.IsFalse (builder.ContainsKey (string.Empty), "#A9");

			builder = new DbConnectionStringBuilder (true);
			builder ["SourceType"] = "DBC";
			builder.Add ("Port", "56");
			Assert.IsTrue (builder.ContainsKey ("SourceType"), "#A1");
			Assert.IsTrue (builder.ContainsKey ("Port"), "#A2");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#A3");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#A4");
			Assert.IsFalse (builder.ContainsKey ("xyz"), "#A5");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.ContainsKey ("Dsn"), "#A6");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.ContainsKey ("Driver"), "#A7");
			builder ["abc"] = "pqr";
			Assert.IsTrue (builder.ContainsKey ("ABC"), "#A8");
			Assert.IsFalse (builder.ContainsKey (string.Empty), "#A9");
		}
        public void Remove()
        {
            Assert.False(_builder.Remove("Dsn"));
            Assert.False(_builder.Remove("Driver"));
            _builder.Add("DriverID", "790");
            _builder["DefaultDir"] = "C:\\";
            Assert.True(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.False(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.True(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.ContainsKey("DefaultDir"));
            Assert.False(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.Remove("userid"));
            Assert.False(_builder.Remove(string.Empty));
            Assert.False(_builder.Remove("\r"));
            Assert.False(_builder.Remove("a;"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.Remove("Dsn"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.Remove("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.Remove("Driver"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.Remove("Driver"));

            _builder = new DbConnectionStringBuilder(false);
            Assert.False(_builder.Remove("Dsn"));
            Assert.False(_builder.Remove("Driver"));
            _builder.Add("DriverID", "790");
            _builder["DefaultDir"] = "C:\\";
            Assert.True(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.False(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.True(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.ContainsKey("DefaultDir"));
            Assert.False(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.Remove("userid"));
            Assert.False(_builder.Remove(string.Empty));
            Assert.False(_builder.Remove("\r"));
            Assert.False(_builder.Remove("a;"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.Remove("Dsn"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.Remove("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.Remove("Driver"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.Remove("Driver"));

            _builder = new DbConnectionStringBuilder(true);
            Assert.False(_builder.Remove("Dsn"));
            Assert.False(_builder.Remove("Driver"));
            _builder.Add("DriverID", "790");
            _builder["DefaultDir"] = "C:\\";
            Assert.True(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.False(_builder.Remove("DriverID"));
            Assert.False(_builder.ContainsKey("DriverID"));
            Assert.True(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.ContainsKey("DefaultDir"));
            Assert.False(_builder.Remove("defaulTdIr"));
            Assert.False(_builder.Remove("userid"));
            Assert.False(_builder.Remove(string.Empty));
            Assert.False(_builder.Remove("\r"));
            Assert.False(_builder.Remove("a;"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.Remove("Dsn"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.Remove("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.Remove("Driver"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.Remove("Driver"));
        }
        public void ContainsKey()
        {
            _builder["SourceType"] = "DBC";
            _builder.Add("Port", "56");
            Assert.True(_builder.ContainsKey("SourceType"));
            Assert.True(_builder.ContainsKey("Port"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.ContainsKey("xyz"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.ContainsKey("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.ContainsKey("Driver"));
            _builder["abc"] = "pqr";
            Assert.True(_builder.ContainsKey("ABC"));
            Assert.False(_builder.ContainsKey(string.Empty));

            _builder = new DbConnectionStringBuilder(false);
            _builder["SourceType"] = "DBC";
            _builder.Add("Port", "56");
            Assert.True(_builder.ContainsKey("SourceType"));
            Assert.True(_builder.ContainsKey("Port"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.ContainsKey("xyz"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.ContainsKey("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.ContainsKey("Driver"));
            _builder["abc"] = "pqr";
            Assert.True(_builder.ContainsKey("ABC"));
            Assert.False(_builder.ContainsKey(string.Empty));

            _builder = new DbConnectionStringBuilder(true);
            _builder["SourceType"] = "DBC";
            _builder.Add("Port", "56");
            Assert.True(_builder.ContainsKey("SourceType"));
            Assert.True(_builder.ContainsKey("Port"));
            Assert.False(_builder.ContainsKey("Dsn"));
            Assert.False(_builder.ContainsKey("Driver"));
            Assert.False(_builder.ContainsKey("xyz"));
            _builder["Dsn"] = "myDsn";
            Assert.True(_builder.ContainsKey("Dsn"));
            _builder["Driver"] = "SQL Server";
            Assert.True(_builder.ContainsKey("Driver"));
            _builder["abc"] = "pqr";
            Assert.True(_builder.ContainsKey("ABC"));
            Assert.False(_builder.ContainsKey(string.Empty));
        }
 private String GetProviderName(string connectionString)
 {
     var csb = new DbConnectionStringBuilder {ConnectionString = connectionString};
       String providerName = null;
       if (csb.ContainsKey("provider")) {
     providerName = csb["provider"].ToString();
       } else {
     var css = ConfigurationManager
       .ConnectionStrings
       .Cast<ConnectionStringSettings>()
       .FirstOrDefault(x => x.ConnectionString == connectionString);
     if (css != null) providerName = css.ProviderName;
       }
       return providerName;
 }
        private void SyncSelectedObjects(TreeNode selectedNode, bool nodeChecked)
        {
            if ((selectedNode == this.siteTree.TopNode) ||
                 (null == this.siteTree.Tag))
            {
                return;
            }

            SelectedObjects selectedObjs = (SelectedObjects)this.siteTree.Tag;
            Type objectType = selectedNode.Tag.GetType();

            //
            // Add or remove selected items from the selected objects list.
            //
            if (nodeChecked) {
                if(typeof(string) == objectType && selectedNode.Tag == "AddDB")
                {
                    AddDbConnectionDialog dbDialog = new AddDbConnectionDialog();
                    if(dbDialog.ShowDialog() == DialogResult.OK)
                    {
                        string dbConnectionString = dbDialog.textBoxDbConnectionString.Text.Trim();
                        try
                        {
                            var dbConn = new DbConnectionStringBuilder { ConnectionString = dbConnectionString };
                            // dbConn.ConnectionString = dbConnectionString;
                            if (dbConn.ContainsKey("Provider") && (dbConn["Provider"].ToString() == "SQLOLEDB" || dbConn["Provider"].ToString().Contains("SQLNCLI")))
                            {
                                dbConn.Remove("Provider");
                            }

                            var sqlConn = new SqlConnectionStringBuilder(dbConn.ConnectionString);

                            //sqlConn.ConnectionString = dbConnectionString;
                            Site site = (Site)selectedNode.Parent.Tag;
                            Database db = new Database("", sqlConn.InitialCatalog, sqlConn.ConnectionString) { ParentSite = site };
                            site.Add(db);
                            selectedNode.Tag = db;
                            objectType = typeof(Database);
                        }
                        catch (System.ArgumentException ex)
                        {
                            string message = "Invalid connection string.\r\n\r\nValid connection string should be like\r\n 'Data Source=<servername>; Initial Catalog=<intialCatalog>; Trusted_Connection=<Yes|No>'";
                            MessageBox.Show(message);
                            selectedNode.Tag = "AddDB";
                            selectedNode.Checked = false;
                            TraceHelper.Tracer.WriteTrace(message);
                            return;
                        }
                    }
                    else
                    {
                        selectedNode.Tag = "AddDB";
                        selectedNode.Checked = false;
                        return;
                    }

                }
                //
                // If this is a child node, and it's been checked, make sure its
                // parent nodes are checked.
                //
                TreeNode nodeParent = selectedNode.Parent;
                while (null != nodeParent) {
                    if (!nodeParent.Checked) {
                        nodeParent.Checked = true;
                    }
                    nodeParent = nodeParent.Parent;
                }

                if (typeof(Site) == objectType) {
                    if (!selectedObjs.SelectedSites.Contains((Site)selectedNode.Tag)) {
                        selectedObjs.SelectedSites.Add((Site)selectedNode.Tag);
                    }
                    // It's actually not possible to check (enable) anything
                    // in the tree without at least one site being checked.
                    this.StartButton.Enabled = true;
                }
                else if (typeof(Database) == objectType)
                {
                    if (!selectedObjs.SelectedDatabases.Contains((Database)selectedNode.Tag))
                    {
                        selectedObjs.SelectedDatabases.Add((Database)selectedNode.Tag);
                    }
                }
                else if (typeof(IISServer) == objectType)
                {
                    if (!selectedObjs.SelectedServers.Contains((IISServer)selectedNode.Tag))
                    {
                        selectedObjs.SelectedServers.Add((IISServer)selectedNode.Tag);
                    }
                }
            }
            else
            {
                if (typeof(Site) == objectType)
                {
                    if (selectedObjs.SelectedSites.Contains((Site)selectedNode.Tag))
                    {
                        selectedObjs.SelectedSites.Remove((Site)selectedNode.Tag);
                    }
                }
                else if (typeof(Database) == objectType)
                {
                    if (selectedObjs.SelectedDatabases.Contains((Database)selectedNode.Tag))
                    {
                        selectedObjs.SelectedDatabases.Remove((Database)selectedNode.Tag);
                    }
                }
                else if (typeof(IISServer) == objectType)
                {
                    if (!selectedObjs.SelectedServers.Contains((IISServer)selectedNode.Tag))
                    {
                        selectedObjs.SelectedServers.Remove((IISServer)selectedNode.Tag);
                    }
                }
                this.StartButton.Enabled = (0 != selectedObjs.SelectedSites.Count());
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ControlStringHandler"/> class.
        /// </summary>
        /// <param name="controlString">The control string.</param>
        public WatinControlStringHandler(string controlString)
        {
            _ContolStringBuilder = new DbConnectionStringBuilder();
            _ContolStringBuilder.ConnectionString = controlString;

            // Set WaitForComplete if we need to wait for the control
            if (_ContolStringBuilder.ContainsKey("WaitForComplete"))
            {
                WaitForComplete = Convert.ToBoolean(_ContolStringBuilder["WaitForComplete"]);
            }
            else
            {
                WaitForComplete = true;
            }

            // Set the report viewer
            if (_ContolStringBuilder.ContainsKey("IsInReportViewer"))
            {
                IsInReportViewer = Convert.ToBoolean(_ContolStringBuilder["IsInReportViewer"]);
            }
            else
            {
                IsInReportViewer = false;
            }

            // Set frame controller
            if (_ContolStringBuilder.ContainsKey("Frame"))
            {
                Frame = _ContolStringBuilder["Frame"].ToString();
            }

            // Set HtmlDialog controller
            if (_ContolStringBuilder.ContainsKey("HTMLDialog"))
            {
                HTMLDialog = _ContolStringBuilder["HTMLDialog"].ToString();
            }

            // Set HtmlDialog controller
            if (_ContolStringBuilder.ContainsKey("Table"))
            {
                TableDefinition = _ContolStringBuilder["Table"].ToString();
            }

            // get the type of HTML control, e.g Button or Link
            if (_ContolStringBuilder.ContainsKey("Type"))
            {
                ControlType = Convert.ToString(_ContolStringBuilder["Type"]).ToLower();
            }

            EvaluateAndConstructWatiNAttribute();
        }
		public void ConnectionString ()
		{
			DbConnectionStringBuilder sb;

			sb = new DbConnectionStringBuilder ();
			sb.ConnectionString = "A=B";
			Assert.IsTrue (sb.ContainsKey ("A"), "#A1");
			Assert.AreEqual ("a=B", sb.ConnectionString, "#A2");
			Assert.AreEqual (1, sb.Count, "#A3");
			Assert.AreEqual (1, sb.Keys.Count, "#A4");

			sb.ConnectionString = null;
			Assert.IsFalse (sb.ContainsKey ("A"), "#B1");
			Assert.AreEqual (string.Empty, sb.ConnectionString, "#B2");
			Assert.AreEqual (0, sb.Count, "#B3");
			Assert.AreEqual (0, sb.Keys.Count, "#B4");

			sb = new DbConnectionStringBuilder ();
			sb.ConnectionString = "A=B";
			sb.ConnectionString = string.Empty;
			Assert.IsFalse (sb.ContainsKey ("A"), "#C1");
			Assert.AreEqual (string.Empty, sb.ConnectionString, "#C2");
			Assert.AreEqual (0, sb.Count, "#C3");
			Assert.AreEqual (0, sb.Keys.Count, "#C4");

			sb = new DbConnectionStringBuilder ();
			sb.ConnectionString = "A=B";
			sb.ConnectionString = "\r ";
			Assert.IsFalse (sb.ContainsKey ("A"), "#D1");
			Assert.AreEqual (string.Empty, sb.ConnectionString, "#D2");
			Assert.AreEqual (0, sb.Count, "#D3");
			Assert.AreEqual (0, sb.Keys.Count, "#D4");
		}
        private void SetConnectionString(string connectionString)
        {
            if (String.IsNullOrEmpty(connectionString) || String.IsNullOrEmpty(connectionString.Trim()))
                throw new ArgumentNullException("connectionString", ExecutionStringManager.MissingConnectionString);

            DbConnectionStringBuilder dcsb = new DbConnectionStringBuilder();
            dcsb.ConnectionString = connectionString;

            // Don't allow the client to specify an auto-enlist value since we decide whether to participate in a transaction
            // (enlist for writing and not for reading).
            if (dcsb.ContainsKey("enlist"))
            {
                throw new ArgumentException(ExecutionStringManager.InvalidEnlist);
            }

            this.connString = connectionString;
            //
            // We only support sqlclient, sql is the only data store our OOB services talk to.
            localProvider = Provider.SqlClient;
        }
		public void Remove ()
		{
			Assert.IsFalse (builder.Remove ("Dsn"), "#A1");
			Assert.IsFalse (builder.Remove ("Driver"), "#A2");
			builder.Add ("DriverID", "790");
			builder ["DefaultDir"] = "C:\\";
			Assert.IsTrue (builder.Remove ("DriverID"), "#B1");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B2");
			Assert.IsFalse (builder.Remove ("DriverID"), "#B3");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B4");
			Assert.IsTrue (builder.Remove ("defaulTdIr"), "#B5");
			Assert.IsFalse (builder.ContainsKey ("DefaultDir"), "#B6");
			Assert.IsFalse (builder.Remove ("defaulTdIr"), "#B7");
			Assert.IsFalse (builder.Remove ("userid"), "#B8");
			Assert.IsFalse (builder.Remove (string.Empty), "#B9");
			Assert.IsFalse (builder.Remove ("\r"), "#B10");
			Assert.IsFalse (builder.Remove ("a;"), "#B11");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.Remove ("Dsn"), "#C1");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#C2");
			Assert.IsFalse (builder.Remove ("Dsn"), "#C3");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.Remove ("Driver"), "#D1");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#D2");
			Assert.IsFalse (builder.Remove ("Driver"), "#D3");

			builder = new DbConnectionStringBuilder (false);
			Assert.IsFalse (builder.Remove ("Dsn"), "#A1");
			Assert.IsFalse (builder.Remove ("Driver"), "#A2");
			builder.Add ("DriverID", "790");
			builder ["DefaultDir"] = "C:\\";
			Assert.IsTrue (builder.Remove ("DriverID"), "#B1");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B2");
			Assert.IsFalse (builder.Remove ("DriverID"), "#B3");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B4");
			Assert.IsTrue (builder.Remove ("defaulTdIr"), "#B5");
			Assert.IsFalse (builder.ContainsKey ("DefaultDir"), "#B6");
			Assert.IsFalse (builder.Remove ("defaulTdIr"), "#B7");
			Assert.IsFalse (builder.Remove ("userid"), "#B8");
			Assert.IsFalse (builder.Remove (string.Empty), "#B9");
			Assert.IsFalse (builder.Remove ("\r"), "#B10");
			Assert.IsFalse (builder.Remove ("a;"), "#B11");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.Remove ("Dsn"), "#C1");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#C2");
			Assert.IsFalse (builder.Remove ("Dsn"), "#C3");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.Remove ("Driver"), "#D1");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#D2");
			Assert.IsFalse (builder.Remove ("Driver"), "#D3");

			builder = new DbConnectionStringBuilder (true);
			Assert.IsFalse (builder.Remove ("Dsn"), "#A1");
			Assert.IsFalse (builder.Remove ("Driver"), "#A2");
			builder.Add ("DriverID", "790");
			builder ["DefaultDir"] = "C:\\";
			Assert.IsTrue (builder.Remove ("DriverID"), "#B1");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B2");
			Assert.IsFalse (builder.Remove ("DriverID"), "#B3");
			Assert.IsFalse (builder.ContainsKey ("DriverID"), "#B4");
			Assert.IsTrue (builder.Remove ("defaulTdIr"), "#B5");
			Assert.IsFalse (builder.ContainsKey ("DefaultDir"), "#B6");
			Assert.IsFalse (builder.Remove ("defaulTdIr"), "#B7");
			Assert.IsFalse (builder.Remove ("userid"), "#B8");
			Assert.IsFalse (builder.Remove (string.Empty), "#B9");
			Assert.IsFalse (builder.Remove ("\r"), "#B10");
			Assert.IsFalse (builder.Remove ("a;"), "#B11");
			builder ["Dsn"] = "myDsn";
			Assert.IsTrue (builder.Remove ("Dsn"), "#C1");
			Assert.IsFalse (builder.ContainsKey ("Dsn"), "#C2");
			Assert.IsFalse (builder.Remove ("Dsn"), "#C3");
			builder ["Driver"] = "SQL Server";
			Assert.IsTrue (builder.Remove ("Driver"), "#D1");
			Assert.IsFalse (builder.ContainsKey ("Driver"), "#D2");
			Assert.IsFalse (builder.Remove ("Driver"), "#D3");
		}