Example #1
0
 public static void CreateDataCenterKeyProperties(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
 {
     if (settings.ReplicationBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ReplicationBusKeyName))
         {
             env.CreateParameters(context, settings.ReplicationBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.ServiceBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ServiceBusKeyName))
         {
             env.CreateParameters(context, settings.ServiceBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.DatabaseKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.DatabaseKeyName))
         {
             env.CreateParameters(context, settings.DatabaseKeyName, true);
             context.SaveChanges();
         }
     }
     EnsureUriFormat(settings.ReplicationBusNamespaceFormat, settings.ReplicationUriBusKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.DatabaseUriFormat, settings.DatabaseUriKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.ServiceBusNamespaceFormat, settings.ServiceBusUriKeyName, settings, env.ConfigSet, context);
 }
 public static IEnvironment CreateEnvironment(this IConfigSet configSet, ConfigurationContext context, string name, bool isImport = false)
 {
     var environment = context.Environments.Create();
     environment.ConfigSet = configSet;
     environment.ConfigSetNameId = configSet.Id;
     environment.Name = name;
     foreach (var serviceParameter in ServiceParameters)
     {
         environment.CreateSubstitutionParameters(context, serviceParameter, isImport);
     }
     context.SaveChanges();
     foreach (var service in configSet.Services)
     {
         var addressOverride = string.Format("{0}_Address", service.Name);
         var overrideProp = environment.SubstitutionParameters.SingleOrDefault(x => string.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
         if (overrideProp.IsNull())
         {
             var subParam = environment.CreateSubstitutionParameters(context, addressOverride);
             if (isImport)
                 subParam.ItemValue = "{0}";
         }
     }
     configSet.Environments.Add(environment);
     context.SaveChanges();
     AddToChildren(configSet, context, environment);
     return environment;
 }
Example #3
0
        public void Create(ref IEntity entity)
        {
            var table = _tableContext.Tables.Add(new Table(((Table)entity).Name));

            _tableContext.SaveChanges();
            entity = table.Entity;
        }
Example #4
0
        public static IEnvironment CreateEnvironment(this IConfigSet configSet, ConfigurationContext context, string name, bool isImport = false)
        {
            var environment = context.Environments.Create();

            environment.ConfigSet       = configSet;
            environment.ConfigSetNameId = configSet.Id;
            environment.Name            = name;
            foreach (var serviceParameter in ServiceParameters)
            {
                environment.CreateSubstitutionParameters(context, serviceParameter, isImport);
            }
            context.SaveChanges();
            foreach (var service in configSet.Services)
            {
                var addressOverride = string.Format("{0}_Address", service.Name);
                var overrideProp    = environment.SubstitutionParameters.SingleOrDefault(x => string.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
                if (overrideProp.IsNull())
                {
                    var subParam = environment.CreateSubstitutionParameters(context, addressOverride);
                    if (isImport)
                    {
                        subParam.ItemValue = "{0}";
                    }
                }
            }
            configSet.Environments.Add(environment);
            context.SaveChanges();
            AddToChildren(configSet, context, environment);
            return(environment);
        }
Example #5
0
        public Database SeedSectionWithChild()
        {
            using (var context = new ConfigurationContext())
            {
                var complex = new SectionWithChild()
                {
                    Id    = Guid.NewGuid(),
                    Name  = "parent",
                    Child = new Child()
                    {
                        Id   = Guid.NewGuid(),
                        Name = "child"
                    }
                };

                var section = new SectionEntity()
                {
                    ApplicationName = "SampleApplication", Aspect = "settings", SectionName = "SectionWithChild"
                };
                context.Sections.Add(section);
                context.SaveChanges();

                var setting = new SettingEntity()
                {
                    SectionId = section.Id, Key = "SectionWithChild"
                };
                setting.SetValue(complex);

                context.Settings.Add(setting);
                context.SaveChanges();
            }
            return(this);
        }
Example #6
0
        public bool Add(ContractViewModel viewModel)
        {
            using (var scope = new TransactionScope(TransactionScopeOption.Required,
                                                    new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadCommitted
            }))
            {
                if (viewModel != null)
                {
                    // Contract
                    var contract = AddContract(viewModel);
                    if (contract == null)
                    {
                        return(false);
                    }

                    // Signed Contract
                    var signedContract = AddSignedContract(viewModel, contract);
                    if (signedContract == null)
                    {
                        return(false);
                    }

                    // Contract Beneficiaries
                    if (AddContractBeneficiaries(viewModel, signedContract))
                    {
                        _db.SaveChanges();
                        scope.Complete();
                        return(true);
                    }
                }
                scope.Dispose();
                return(false);
            }
        }
        public void Create(ref IEntity entity)
        {
            var attributeNew = (Attribute)entity;
            var attribute    = _attributeContext.Attributes.Add(new Attribute(attributeNew.ColumnName));

            _attributeContext.SaveChanges();
            entity = attribute.Entity;
        }
Example #8
0
        public void Create(ref IEntity entity)
        {
            var tableAttributeNew = (TableAttribute)entity;
            var table             = _tableAttributeContext.Tables.Find(tableAttributeNew.Table.Id);
            var attribute         = _tableAttributeContext.Attributes.Find(tableAttributeNew.Attribute.Id);
            var tableAttribute    = _tableAttributeContext.TableAttributes.Add(new TableAttribute(table, attribute));

            _tableAttributeContext.SaveChanges();
            entity = tableAttribute.Entity;
        }
        public void Create(ref IEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            var attributeCollection = _attributeCollectionContext.AttributeCollections.Add(new AttributeCollection());

            _attributeCollectionContext.SaveChanges();
            entity = attributeCollection.Entity;
        }
Example #10
0
        public void Create(ref IEntity entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            var functionalDependency = _functionalDependencyContext.FunctionalDependencies.Add(new FunctionalDependency());

            _functionalDependencyContext.SaveChanges();
            entity = functionalDependency.Entity;
        }
        public void Create(ref IEntity entity)
        {
            var keyGroupNew         = (KeyGroup)entity;
            var attributeCollection = _keyGroupContext.AttributeCollections.Find
                                      (
                keyGroupNew.AttributeCollection.Id
                                      );
            var keyGroup = _keyGroupContext.KeyGroups.Add(new KeyGroup(attributeCollection));

            _keyGroupContext.SaveChanges();
            entity = keyGroup.Entity;
        }
        public bool Add(Telephone telephone)
        {
            if (telephone != null)
            {
                _db.Add(telephone);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
        public bool Add(Individual individual)
        {
            if (individual != null)
            {
                _db.Add(individual);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
Example #14
0
        public bool Add(Beneficiary beneficiary)
        {
            if (beneficiary != null)
            {
                _db.Add(beneficiary);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
        public bool Add(BeneficiaryTelephone telephones)
        {
            if (telephones != null)
            {
                _db.Add(telephones);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
Example #16
0
        public bool Add(Address address)
        {
            if (address != null)
            {
                _db.Add(address);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
Example #17
0
        public bool Add(Contract contract)
        {
            if (contract != null)
            {
                _db.Add(contract);
                if (_db.SaveChanges() == 1)
                {
                    return(true);
                }

                return(false);
            }
            return(false);
        }
 public static IEnvironment CreateChild(this IEnvironment environment, ConfigurationContext context, ref IConfigSet configSet)
 {
     var newEnvironment = context.Environments.Create();
     newEnvironment.ConfigSetNameId = configSet.Id;
     newEnvironment.ConfigSet = configSet;
     newEnvironment.ParentEnvironment = environment;
     newEnvironment.Name = environment.Name;
     configSet.Environments.Add(newEnvironment);
     context.SaveChanges();
     foreach (var substitutionParameter in environment.SubstitutionParameters)
     {
         var child = CreateChild(substitutionParameter, context, ref newEnvironment);
         if (newEnvironment.SubstitutionParameters.All(sp => !string.Equals(sp.Name, substitutionParameter.Name, StringComparison.OrdinalIgnoreCase)))
             newEnvironment.SubstitutionParameters.Add(child);
     }
     foreach (var service in configSet.Services)
     {
         var addressOverride = string.Format("{0}_Address", service.Name);
         var overrideProp = newEnvironment.SubstitutionParameters.SingleOrDefault(x => string.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
         if (overrideProp.IsNull())
             newEnvironment.CreateSubstitutionParameters(context, addressOverride);
     }
     foreach (var environmentParameter in environment.EnvironmentParameters)
     {
         newEnvironment.EnvironmentParameters.Add(CreateChild(environmentParameter, context, ref newEnvironment));
     }
     return newEnvironment;
 }
Example #19
0
        public static IEnvironment CreateChild(this IEnvironment environment, ConfigurationContext context, ref IConfigSet configSet)
        {
            var newEnvironment = context.Environments.Create();

            newEnvironment.ConfigSetNameId   = configSet.Id;
            newEnvironment.ConfigSet         = configSet;
            newEnvironment.ParentEnvironment = environment;
            newEnvironment.Name = environment.Name;
            configSet.Environments.Add(newEnvironment);
            context.SaveChanges();
            foreach (var substitutionParameter in environment.SubstitutionParameters)
            {
                var child = CreateChild(substitutionParameter, context, ref newEnvironment);
                if (newEnvironment.SubstitutionParameters.All(sp => !string.Equals(sp.Name, substitutionParameter.Name, StringComparison.OrdinalIgnoreCase)))
                {
                    newEnvironment.SubstitutionParameters.Add(child);
                }
            }
            foreach (var service in configSet.Services)
            {
                var addressOverride = string.Format("{0}_Address", service.Name);
                var overrideProp    = newEnvironment.SubstitutionParameters.SingleOrDefault(x => string.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
                if (overrideProp.IsNull())
                {
                    newEnvironment.CreateSubstitutionParameters(context, addressOverride);
                }
            }
            foreach (var environmentParameter in environment.EnvironmentParameters)
            {
                newEnvironment.EnvironmentParameters.Add(CreateChild(environmentParameter, context, ref newEnvironment));
            }
            return(newEnvironment);
        }
Example #20
0
        private void Seed()
        {
            using (var context = new ConfigurationContext(ContextOptions))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();

                IEnumerable <User> users = Enumerable.Range(1, 20)
                                           .Select(x =>
                {
                    var user = new User
                    {
                        FirstName = $"Tal_{x}",
                        LastName  = $"Almog_{x}",
                        Username  = $"TalAlmog45_{x}",
                        Email     = $"email_{x}"
                    };

                    using (var hmac = new HMACSHA512())
                    {
                        user.PasswordSalt = hmac.Key;
                        user.PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes("test-password"));
                    }

                    return(user);
                });


                context.AddRange(users);
                context.SaveChanges();
            }
        }
Example #21
0
        private static void EnsureUriFormat(string format, string propertyName, ConfigurationSettings settings, IConfigSet configSet, ConfigurationContext context)
        {
            var hostSettings = configSet.ServiceHosts.Single(s => String.Equals(s.Name, settings.DataCenterServiceHostName, StringComparison.OrdinalIgnoreCase));
            var param        = hostSettings.Parameters.SingleOrDefault(p => string.Equals(p.Name, propertyName, StringComparison.OrdinalIgnoreCase));

            if (param.IsNull())
            {
                param           = hostSettings.CreateParameter(context, propertyName, false, true);
                param.ItemValue = "{0}";
                if (param.IsEnvironmental)
                {
                    foreach (var environment in hostSettings.ConfigSet.Environments)
                    {
                        environment.CreateSubstitutionParameters(context, hostSettings.Name + "_" + param.Name);
                    }
                }
            }
            var env = configSet.Environments.Single(e => e.Name == settings.Environment);

            var subPar = env.SubstitutionParameters.SingleOrDefault(sp => sp.Name == hostSettings.Name + "_" + propertyName);

            if (subPar.IsNull())
            {
                subPar = env.CreateSubstitutionParameters(context, hostSettings.Name + "_" + propertyName);
            }
            subPar.ItemValue = format;
            context.SaveChanges();
        }
        public static IServiceDescription CreateChild(this IServiceDescription service, ConfigurationContext context, ref IConfigSet configSet)
        {
            var child = context.ServiceDescriptions.Create();

            child.Name                     = service.Name;
            child.ConfigSetNameId          = configSet.Id;
            child.ConfigSet                = configSet;
            child.PatentServiceDescription = service;
            service.ChildServiceDescriptions.Add(child);
            context.SaveChanges();
            foreach (var endpoint in service.Endpoints)
            {
                var newEndpoint = endpoint.CreateChild(context, ref child);
                child.Endpoints.Add(newEndpoint);
            }
            foreach (var environment in configSet.Environments)
            {
                var addressOverride = string.Format("{0}_Address", service.Name);
                var overrideProp    = environment.SubstitutionParameters.SingleOrDefault(x => String.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
                if (overrideProp.IsNull())
                {
                    environment.CreateSubstitutionParameters(context, addressOverride);
                }
            }
            return(child);
        }
        public User Register(User user, string password)
        {
            if (_context.Users.Any(x => x.Username == user.Username))
            {
                throw new ArgumentException($"Username: {user.Username} already exists", nameof(user.Username));
            }

            CreatePasswordHash(password, out var passwordHash, out var passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;

            _context.Users.Add(user);
            _context.SaveChanges();

            return(user);
        }
Example #24
0
        public Database SeedSectionWithChildren()
        {
            using (var context = new ConfigurationContext())
            {
                var complex = new SectionWithChildren()
                {
                    Id   = Guid.NewGuid(),
                    Name = "parent",
                };
                complex.Children = new Collection <Child>();
                complex.Children.Add
                (
                    new Child()
                {
                    Id   = Guid.NewGuid(),
                    Name = "child1"
                }
                );
                complex.Children.Add
                (
                    new Child()
                {
                    Id   = Guid.NewGuid(),
                    Name = "child2"
                }
                );

                var section = new SectionEntity()
                {
                    ApplicationName = "Sample", SectionName = "SectionWithChildren"
                };
                context.Sections.Add(section);
                context.SaveChanges();

                var setting = new SettingEntity()
                {
                    SectionId = section.Id, Key = "SectionWithChildren"
                };
                setting.SetValue(complex);

                context.Settings.Add(setting);
                context.SaveChanges();
            }
            return(this);
        }
 private static void AddToChildren(IConfigSet configSet, ConfigurationContext context, IEnvironment environment)
 {
     foreach (var childConfigSet in configSet.ChildConfigSets)
     {
         var c = childConfigSet;
         var child = environment.CreateChild(context, ref c);
         context.SaveChanges();
         AddToChildren(c, context, child);
     }
 }
Example #26
0
 public static void AddToChildren(this IEnvironment env, ConfigurationContext context, IEnvironmentParameter newPar)
 {
     foreach (var childEnvironment in env.ChildEnvironments)
     {
         var e     = childEnvironment;
         var param = newPar.CreateChild(context, ref e);
         context.SaveChanges();
         AddToChildren(e, context, param);
     }
 }
Example #27
0
 private static void AddToChildren(IConfigSet configSet, ConfigurationContext context, IEnvironment environment)
 {
     foreach (var childConfigSet in configSet.ChildConfigSets)
     {
         var c     = childConfigSet;
         var child = environment.CreateChild(context, ref c);
         context.SaveChanges();
         AddToChildren(c, context, child);
     }
 }
        public void Create(ref IEntity entity)
        {
            var tableAttributeCollectionNew = (TableAttributeCollection)entity;
            var attributeCollection         = _tableAttributeCollectionContext.AttributeCollections.Find
                                              (
                tableAttributeCollectionNew.AttributeCollection.Id
                                              );
            var tableAttribute = _tableAttributeCollectionContext.TableAttributes.Find
                                 (
                tableAttributeCollectionNew.TableAttribute.Id
                                 );
            var tableAttributeCollection = _tableAttributeCollectionContext.TableAttributeCollections.Add
                                           (
                new TableAttributeCollection(attributeCollection, tableAttribute)
                                           );

            _tableAttributeCollectionContext.SaveChanges();
            entity = tableAttributeCollection.Entity;
        }
 private static ISubstitutionParameter CreateChild(this ISubstitutionParameter substitutionParameter, ConfigurationContext context, ref IEnvironment newEnvironment)
 {
     var subParameter = context.SubstitutionParameters.Create();
     subParameter.EnvironmentNameId = newEnvironment.Id;
     subParameter.Environment = newEnvironment;
     subParameter.Name = substitutionParameter.Name;
     subParameter.Parent = substitutionParameter;
     context.SaveChanges();
     return subParameter;
 }
Example #30
0
        public Database SeedAppSettingWithDiscriminator()
        {
            using (var context = new ConfigurationContext())
            {
                var section = new SectionEntity()
                {
                    ApplicationName = "SampleApplication", Aspect = "settings", SectionName = "appSettings", Discriminator = @"{""Environment"":""Testing"", ""Username"":""Patrick""}"
                };
                context.Sections.Add(section);
                context.SaveChanges();

                var setting = new SettingEntity()
                {
                    SectionId = section.Id, Key = "UserTestSetting", Json = @"""User Test Value"""
                };
                context.Settings.Add(setting);
                context.SaveChanges();
            }
            return(this);
        }
 private static void AddToChildren(IServiceDescription service, ConfigurationContext context, IEndpoint endpoint)
 {
     foreach (var child in service.ChildServiceDescriptions)
     {
         var c             = child;
         var childEndpoint = endpoint.CreateChild(context, ref c);
         child.Endpoints.Add(childEndpoint);
         context.SaveChanges();
         AddToChildren(c, context, childEndpoint);
     }
 }
 public static IEnvironmentParameter CreateChild(this IEnvironmentParameter substitutionParameter, ConfigurationContext context, ref IEnvironment newEnvironment)
 {
     var envParameter = context.EnvironmentParameters.Create();
     envParameter.EnvironmentNameId = newEnvironment.Id;
     envParameter.Environment = newEnvironment;
     envParameter.Name = substitutionParameter.Name;
     envParameter.Parent = substitutionParameter;
     envParameter.IsSecureString = substitutionParameter.IsSecureString;
     context.SaveChanges();
     return envParameter;
 }
Example #33
0
        public Database SeedAppSetting()
        {
            using (var context = new ConfigurationContext())
            {
                var section = new SectionEntity()
                {
                    ApplicationName = "SampleApplication", Aspect = "settings", SectionName = "appSettings"
                };
                context.Sections.Add(section);
                context.SaveChanges();

                var setting = new SettingEntity()
                {
                    SectionId = section.Id, Key = "TestSetting", Json = @"""Test Value"""
                };
                context.Settings.Add(setting);
                context.SaveChanges();
            }
            return(this);
        }
Example #34
0
        private static ISubstitutionParameter CreateChild(this ISubstitutionParameter substitutionParameter, ConfigurationContext context, ref IEnvironment newEnvironment)
        {
            var subParameter = context.SubstitutionParameters.Create();

            subParameter.EnvironmentNameId = newEnvironment.Id;
            subParameter.Environment       = newEnvironment;
            subParameter.Name   = substitutionParameter.Name;
            subParameter.Parent = substitutionParameter;
            context.SaveChanges();
            return(subParameter);
        }
 public bool Add(Vehicle vehicle)
 {
     if (vehicle != null)
     {
         _db.Vehicles.Add(vehicle);
         if (_db.SaveChanges() == 1)
         {
             return(true);
         }
     }
     return(false);
 }
 public static IEnvironment AddIdentitySettingsToEnvironment(this IEnvironment environment, ConfigurationContext context, IdentitySettings identitySettings)
 {
     if (identitySettings.IsNull()) return environment;
     context.SaveChanges();
     SetIdeneityValue(environment, "StsAddress", identitySettings.IssuerAddress);
     SetIdeneityValue(environment, "IssuerName", identitySettings.IssuerName);
     SetIdeneityValue(environment, "CertificateValidationMode", identitySettings.CertificateValidationMode);
     SetIdeneityValue(environment, "Thumbprint", identitySettings.Thumbprint);
     SetIdeneityValue(environment, "Audience", identitySettings.Audiences.FirstOrDefault());
     SetIdeneityValue(environment, "Realm", identitySettings.Realm);
     SetIdeneityValue(environment, "RequireHttps", identitySettings.RequireHttps.ToString().ToLower());
     SetIdeneityValue(environment, "EnforceCertificateValidation", identitySettings.EnforceCertificateValidation.ToString().ToLower());
     return environment;
 }
        public static IServiceDescription CreateChild(this IServiceDescription service, ConfigurationContext context, ref IConfigSet configSet)
        {
            var child = context.ServiceDescriptions.Create();
            child.Name = service.Name;
            child.ConfigSetNameId = configSet.Id;
            child.ConfigSet = configSet;
            child.PatentServiceDescription = service;
            service.ChildServiceDescriptions.Add(child);
            context.SaveChanges();
            foreach (var endpoint in service.Endpoints)
            {
                var newEndpoint = endpoint.CreateChild(context, ref child);
                child.Endpoints.Add(newEndpoint);

            }
            foreach (var environment in configSet.Environments)
            {
                var addressOverride = string.Format("{0}_Address", service.Name);
                var overrideProp = environment.SubstitutionParameters.SingleOrDefault(x => String.Equals(x.Name, addressOverride, StringComparison.OrdinalIgnoreCase));
                if (overrideProp.IsNull())
                    environment.CreateSubstitutionParameters(context, addressOverride);
            }
            return child;
        }
 private static void EnsureSubstitutionParameters(ConfigurationContext context, IEnvironment env)
 {
     foreach (var serviceHostSettingse in env.ConfigSet.ServiceHosts)
     {
         foreach (var serviceHostParameter in from p in serviceHostSettingse.Parameters where p.IsEnvironmental select p)
         {
             if (
                 env.SubstitutionParameters.All(
                     s => s.Name != string.Format("{0}_{1}", serviceHostSettingse.Name, serviceHostParameter.Name)))
             {
                 env.CreateSubstitutionParameters(
                     context,
                     string.Format("{0}_{1}", serviceHostSettingse.Name, serviceHostParameter.Name));
                 context.SaveChanges();
             }
         }
     }
 }
 public static IEndpoint CreateChild(this IEndpoint endpoint, ConfigurationContext context, ref IServiceDescription service)
 {
     var child = context.Endpoints.Create();
     child.Name = endpoint.Name;
     child.ServiceNameId = service.Id;
     child.ServiceDescription = service;
     context.SaveChanges();
     foreach (var endpointParameter in endpoint.Parameters)
     {
         var parameter = CreateChild(endpointParameter, context, child);
         child.Parameters.Add(parameter);
     }
     return child;
 }
 private static void AddToChildren(IServiceDescription service, ConfigurationContext context, IEndpoint endpoint)
 {
     foreach (var child in service.ChildServiceDescriptions)
     {
         var c = child;
         var childEndpoint = endpoint.CreateChild(context, ref c);
         child.Endpoints.Add(childEndpoint);
         context.SaveChanges();
         AddToChildren(c, context, childEndpoint);
     }
 }
 private static void EnsureUriFormat(string format, string propertyName, ConfigurationSettings settings, IConfigSet configSet, ConfigurationContext context)
 {
     var hostSettings = configSet.ServiceHosts.Single(s => String.Equals(s.Name, settings.DataCenterServiceHostName, StringComparison.OrdinalIgnoreCase));
     var param = hostSettings.Parameters.SingleOrDefault(p => string.Equals(p.Name, propertyName, StringComparison.OrdinalIgnoreCase));
     if (param.IsNull())
     {
         param=hostSettings.CreateParameter(context, propertyName, false, true);
         param.ItemValue = "{0}";
         if (param.IsEnvironmental)
         {
             foreach (var environment in hostSettings.ConfigSet.Environments)
             {
                 environment.CreateSubstitutionParameters(context, hostSettings.Name + "_" + param.Name);
             }
         }
     }
     var env = configSet.Environments.Single(e => e.Name == settings.Environment);
     
     var subPar = env.SubstitutionParameters.SingleOrDefault(sp => sp.Name == hostSettings.Name + "_" + propertyName);
     if (subPar.IsNull())
     {
         subPar = env.CreateSubstitutionParameters(context, hostSettings.Name + "_" + propertyName);
     }
     subPar.ItemValue = format;
     context.SaveChanges();
 }
        public static void AddNewDataCenter(this ISubstitutionParameter envParam, ConfigurationContext context, ConfigurationSettings settings)
        {
            List<string> datacenters = new List<string>();
            if (envParam.IsNull())
            {
                throw new InvalidDataException("new parameter not found???");
            }
            datacenters = envParam.ItemValue.ContainsCharacters()?envParam.ItemValue.Split('|').ToList():new List<string>();
            if(!datacenters.Contains(settings.DataCenterName))
                datacenters.Add(settings.DataCenterName);
            envParam.ItemValue = string.Join("|", datacenters);
            context.SaveChanges();
            settings.DataCenterList = datacenters;

            Logging.DebugMessage("Added new datacenter {0}", string.Join("|", datacenters));
        }
 public static void CreateDataCenterKeyProperties(this IEnvironment env, ConfigurationContext context, ConfigurationSettings settings)
 {
     if (settings.ReplicationBusKeyName.ContainsCharacters())
     {
         if(env.EnvironmentParameters.All(s => s.Name != settings.ReplicationBusKeyName))
         {
             env.CreateParameters(context, settings.ReplicationBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.ServiceBusKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.ServiceBusKeyName))
         {
             env.CreateParameters(context, settings.ServiceBusKeyName, true);
             context.SaveChanges();
         }
     }
     if (settings.DatabaseKeyName.ContainsCharacters())
     {
         if (env.EnvironmentParameters.All(s => s.Name != settings.DatabaseKeyName))
         {
             env.CreateParameters(context, settings.DatabaseKeyName, true);
             context.SaveChanges();
         }
     }
     EnsureUriFormat(settings.ReplicationBusNamespaceFormat, settings.ReplicationUriBusKeyName, settings, env.ConfigSet,context);
     EnsureUriFormat(settings.DatabaseUriFormat, settings.DatabaseUriKeyName, settings, env.ConfigSet, context);
     EnsureUriFormat(settings.ServiceBusNamespaceFormat, settings.ServiceBusUriKeyName, settings, env.ConfigSet, context);
 }
 public static IEndpoint CreateEndpoint(this IServiceDescription service, ConfigurationContext context, string endpointName, bool ignoreParameters = false, List<string> parameters = null)
 {
     var endpoint = context.Endpoints.Create();
     endpoint.Name = endpointName;
     endpoint.ServiceNameId = service.Id;
     if (service.Endpoints.Count == 0)
         service.ClientEndpointValue = endpoint.Name;
     if (!ignoreParameters)
     {
         var cParam = CustomServiceParameters;
         if (parameters.IsInstance())
             cParam = parameters.ToDictionary(s => s, v => "{0}");
         AddServiceParameters(service, context, endpoint, string.Equals(endpointName, "custom", StringComparison.OrdinalIgnoreCase) ? cParam : WcfServiceParameters);
     }
     service.Endpoints.Add(endpoint);
     context.SaveChanges();
     CreateSubstitutionParameters(service, context, endpointName, endpoint);
     return endpoint;
 }
 public static void AddToChildren(this IEnvironment env, ConfigurationContext context, IEnvironmentParameter newPar)
 {
     foreach (var childEnvironment in env.ChildEnvironments)
     {
         var e = childEnvironment;
         var param = newPar.CreateChild(context, ref e);
         context.SaveChanges();
         AddToChildren(e, context, param);
     }
 }