コード例 #1
0
        public void CreateParemetersFile(RoleConfiguration role, string filePath)
        {
            this.log.Debug("Creating {0}", filePath);
            XmlTextWriter xmlTextWriter = new XmlTextWriter(filePath, Encoding.UTF8);

            xmlTextWriter.Formatting  = Formatting.Indented;
            xmlTextWriter.Indentation = 4;
            xmlTextWriter.WriteStartDocument();
            xmlTextWriter.WriteStartElement("parameters");
            foreach (ParameterConfiguration parameter in role.Parameters)
            {
                xmlTextWriter.WriteStartElement("parameter");
                xmlTextWriter.WriteAttributeString("name", parameter.Name);
                foreach (ParameterEntry entry in parameter.Entries)
                {
                    xmlTextWriter.WriteStartElement("parameterEntry");
                    xmlTextWriter.WriteAttributeString("kind", entry.Kind);
                    xmlTextWriter.WriteAttributeString("scope", entry.Scope);
                    xmlTextWriter.WriteAttributeString("match", entry.Match);
                    xmlTextWriter.WriteEndElement();
                }
                xmlTextWriter.WriteEndElement();
            }
            xmlTextWriter.WriteEndElement();
            xmlTextWriter.WriteEndDocument();
            xmlTextWriter.Flush();
            xmlTextWriter.Close();
        }
コード例 #2
0
 public static void ConfigSection(this RoleConfiguration roleConfiguration, string name,
                                  params Func <SimpleRoleConfiguration, SimpleRoleConfiguration>[] parameters)
 {
     foreach (var parameter in parameters)
     {
         parameter(new SimpleRoleConfiguration(roleConfiguration, name));
     }
 }
コード例 #3
0
        public void Role(string name, params Action <RoleConfiguration>[] configurations)
        {
            RoleConfiguration roleConfiguration = new RoleConfiguration(name);

            foreach (Action <RoleConfiguration> configuration in configurations)
            {
                configuration(roleConfiguration);
            }
            this.roles.Add(roleConfiguration);
        }
コード例 #4
0
        public void CreateSetParametersFile(string filePath, RoleConfiguration role, IDictionary <string, object> values)
        {
            this.log.Debug("Creating {0}", filePath);
            XmlTextWriter xmlTextWriter = new XmlTextWriter(filePath, Encoding.UTF8);

            xmlTextWriter.Formatting  = Formatting.Indented;
            xmlTextWriter.Indentation = 4;
            xmlTextWriter.WriteStartDocument();
            xmlTextWriter.WriteStartElement("parameters");
            foreach (ParameterConfiguration parameter in role.Parameters)
            {
                xmlTextWriter.WriteStartElement("setParameter");
                xmlTextWriter.WriteAttributeString("name", parameter.Name);
                xmlTextWriter.WriteAttributeString("value", values[parameter.Name].ToString());
                xmlTextWriter.WriteEndElement();
            }
            xmlTextWriter.WriteEndElement();
            xmlTextWriter.WriteEndDocument();
            xmlTextWriter.Flush();
            xmlTextWriter.Close();
        }
コード例 #5
0
        public IDictionary <string, object> GetParameters(RoleConfiguration role, string environment)
        {
            var data = (IDictionary <string, object>) new ExpandoObject();

            foreach (var dataSetGetter in this.environments[environment])
            {
                var dataSet = dataSetGetter(data);

                foreach (var item in dataSet)
                {
                    var key   = item.Key;
                    var value = item.Value;
                    data[key] = value;
                }
            }
            foreach (var parameter in role.Parameters)
            {
                string name  = parameter.Name;
                object value = parameter.ValueGetter(data);
                data[name] = value;
            }
            return(data);
        }
コード例 #6
0
 public static ParameterConfiguration ConnectionString(this RoleConfiguration roleConfiguration, string name, Func <dynamic, object> valueGetter = null)
 {
     return(roleConfiguration.Parameter(name, valueGetter).AsConnectionString());
 }
コード例 #7
0
 public SimpleRoleConfiguration(RoleConfiguration roleConfiguration, string sectionName)
 {
     this.roleConfiguration = roleConfiguration;
     this.sectionName       = sectionName;
 }