public void Parse(Dictionary <string, string> parameters, ConnectionConfigurationBuilder builder)
 {
     if (requiredParameters.All(parameters.ContainsKey))
     {
         configAction(parameters, builder);
     }
 }
        public ConnectionConfiguration Parse(string connectionString)
        {
            var builder = new ConnectionConfigurationBuilder();

            Parse(connectionString, builder);
            return(builder.Build());
        }
        public void Parse(string connectionString, ConnectionConfigurationBuilder builder)
        {
            var settingsDictionary =
                connectionString.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(x => x.Trim(new[] { ' ' }))
                .Select(x => x.Split(new[] { '=' }, StringSplitOptions.RemoveEmptyEntries))
                .Where(x => x.Length == 1 || x.Length == 2)
                .ToDictionary(x => x[0], x => x.Length == 1 ? null : x[1]);

            foreach (var parser in propertyParsers)
            {
                parser.Parse(settingsDictionary, builder);
            }
        }