public EnvironmentOverriddenElementPayload(EnvironmentalOverridesSection environmentSection, string elementPath)
        {
            Guard.ArgumentNotNull(environmentSection, "environmentSection");

            this.environmentSection = environmentSection;
            this.elementPath = elementPath;
        }
        protected override void Arrange()
        {
            base.Arrange();

            var resources = new ResourceHelper<ConfigFileLocator>();
            resources.DumpResourceFileToDisk("empty.config");

            var applicationViewModel = Container.Resolve<ApplicationViewModel>();
            ConfigurationSourceModel sourceModel = applicationViewModel.CurrentConfigurationSource;
            applicationViewModel.NewEnvironment();

            EhabModel = sourceModel.AddSection(ExceptionHandlingSettings.SectionName, Section);
            EnvironmentViewModel = applicationViewModel.Environments.First();
            EnvironmentSection = (EnvironmentalOverridesSection)EnvironmentViewModel.ConfigurationElement;

            ((EnvironmentSourceViewModel)EnvironmentViewModel).EnvironmentConfigurationFile = "empty.config";
            ((EnvironmentSourceViewModel)EnvironmentViewModel).EnvironmentDeltaFile = "empty.config";

            WrapHandler = EhabModel.DescendentElements().Where(x => x.ConfigurationType == typeof(WrapHandlerData)).First();

            MainExceptionMessage = WrapHandler.Property("ExceptionMessage");
            MainExceptionMessage.Value = "Main Value";

            OverridesProperty = WrapHandler.Properties.Where(x => x.PropertyName.StartsWith("Overrides")).First(); 
            OverriddenExceptionMessage = OverridesProperty.ChildProperties.Where(x => x.PropertyName == "ExceptionMessage").First();
        }
        protected override void Arrange()
        {
            TargetFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Format("{0}.config", Guid.NewGuid()));

            Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(
                        new ExeConfigurationFileMap
                        {
                            ExeConfigFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "merge_environment.dconfig")
                        }, ConfigurationUserLevel.None);

            MergeSection = (EnvironmentalOverridesSection)configuration.GetSection(EnvironmentalOverridesSection.EnvironmentallyOverriddenProperties);
        }
        protected override void Act()
        {
            var mergeSection = new EnvironmentalOverridesSection
                                   {
                                       EnvironmentName = "TestEnvironment",
                                       MergeElements =
                                           {    
                                               new EnvironmentalOverridesElement
                                                   {
                                                       LogicalParentElementPath = base.settings.Path
                                                   }       
                                           }
                                   };

            var appModel = base.Container.Resolve<ApplicationViewModel>();
            appModel.LoadEnvironment(mergeSection, string.Empty);
        }
        public void LoadEnvironment(EnvironmentalOverridesSection environment, string environmentDeltaFile)
        {
            var environmentSection =
                (EnvironmentSourceViewModel)
                SectionViewModel.CreateSection(builder, EnvironmentalOverridesSection.EnvironmentallyOverriddenProperties, environment);

            environmentSection.EnvironmentDeltaFile = environmentDeltaFile;
            environmentSection.LastEnvironmentDeltaSavedFilePath = environmentDeltaFile;

            environments.Add(environmentSection);

            SectionInitializer.InitializeSection(environmentSection, new InitializeContext(null));
            lookup.AddSection(environmentSection);

            environmentSection.Select();
        }
 public EnvironmentOverriddenElementReference(ElementLookup lookup, EnvironmentalOverridesSection environmentSourceModel)
 {
     this.lookup = lookup;
     this.environmentSourceModel = environmentSourceModel;
 }