Example #1
0
        public void EmptyList_ShouldResetOperationImportsToAnEmptyCollection()
        {
            var objectSelection = new OperationImportsViewModel()
            {
                OperationImports = new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    }
                }
            };

            objectSelection.EmptyList();

            objectSelection.OperationImports.Count().Should().Be(0);
        }
Example #2
0
        public void OperationImportsViewModel_PageEntering(object sender, EventArgs args)
        {
            if (sender is OperationImportsViewModel operationImportsViewModel)
            {
                if (this.ProcessedEndpointForOperationImports != ConfigODataEndpointViewModel.Endpoint)
                {
                    if (ConfigODataEndpointViewModel.EdmxVersion != Constants.EdmxVersion4)
                    {
                        operationImportsViewModel.View.IsEnabled          = false;
                        operationImportsViewModel.IsSupportedODataVersion = false;
                        return;
                    }

                    var model      = EdmHelper.GetEdmModelFromFile(ConfigODataEndpointViewModel.MetadataTempPath);
                    var operations = EdmHelper.GetOperationImports(model);
                    OperationImportsViewModel.LoadOperationImports(operations, new HashSet <string>(SchemaTypesViewModel.ExcludedSchemaTypeNames), SchemaTypesViewModel.SchemaTypeModelMap);

                    if (Context.IsUpdating)
                    {
                        operationImportsViewModel.ExcludeOperationImports(this._serviceConfig?.ExcludedOperationImports ?? Enumerable.Empty <string>());
                    }
                }

                this.ProcessedEndpointForOperationImports = ConfigODataEndpointViewModel.Endpoint;
            }
        }
Example #3
0
        public void ExcludedOperationImports_ShouldReturnNamesOfUnselectedOperations()
        {
            var objectSelection = new OperationImportsViewModel();

            objectSelection.OperationImports = new List <OperationImportModel>()
            {
                new OperationImportModel()
                {
                    Name = "Func1", IsSelected = false
                },
                new OperationImportModel()
                {
                    Name = "Func2", IsSelected = true
                },
                new OperationImportModel()
                {
                    Name = "Func3", IsSelected = false
                }
            };

            var excluded = objectSelection.ExcludedOperationImportsNames.ToList();

            excluded.ShouldBeEquivalentTo(new List <string>()
            {
                "Func1", "Func3"
            });
        }
Example #4
0
        public void SchemaTypeSelectionViewModel_PageLeaving(object sender, EventArgs args)
        {
            var model = EdmHelper.GetEdmModelFromFile(ConfigODataEndpointViewModel.MetadataTempPath);

            // exclude related operation imports for excluded types
            var operations          = EdmHelper.GetOperationImports(model);
            var operationsToExclude = operations.Where(x => !OperationImportsViewModel.IsOperationImportIncluded(x,
                                                                                                                 SchemaTypesViewModel.ExcludedSchemaTypeNames.ToList())).ToList();

            foreach (var operationImport in OperationImportsViewModel.OperationImports)
            {
                if (operationsToExclude.Any(x => x.Name == operationImport.Name))
                {
                    operationImport.IsSelected = false;
                }
            }

            // exclude bound operations for excluded types
            var boundOperations          = EdmHelper.GetBoundOperations(model);
            var boundOperationsToExclude = boundOperations.SelectMany(x => x.Value)
                                           .Where(x => !SchemaTypesViewModel.IsBoundOperationIncluded(x,
                                                                                                      SchemaTypesViewModel.ExcludedSchemaTypeNames.ToList())).ToList();

            foreach (var boundOperation in SchemaTypesViewModel.SchemaTypes.SelectMany(x => x.BoundOperations))
            {
                if (boundOperationsToExclude.Any(x => $"{x.Name}({x.Parameters.First().Type.Definition.FullTypeName()})" == boundOperation.Name))
                {
                    boundOperation.IsSelected = false;
                }
            }
        }
Example #5
0
        public override async Task <ConnectedServiceInstance> GetFinishedServiceInstanceAsync()
        {
            // ensure that the data has been loaded from wizard pages and saved to UserSettings
            if (Context.IsUpdating)
            {
                if (!OperationImportsViewModel.IsEntered)
                {
                    await OperationImportsViewModel.OnPageEnteringAsync(null).ConfigureAwait(false);

                    await OperationImportsViewModel.OnPageLeavingAsync(null).ConfigureAwait(false);
                }

                if (!SchemaTypesViewModel.IsEntered)
                {
                    await SchemaTypesViewModel.OnPageEnteringAsync(null).ConfigureAwait(false);

                    await SchemaTypesViewModel.OnPageLeavingAsync(null).ConfigureAwait(false);
                }

                if (!AdvancedSettingsViewModel.IsEntered)
                {
                    await AdvancedSettingsViewModel.OnPageEnteringAsync(null).ConfigureAwait(false);

                    await AdvancedSettingsViewModel.OnPageLeavingAsync(null).ConfigureAwait(false);
                }
            }

            UserSettings.Save();
            ServiceInstance.InstanceId           = UserSettings.GeneratedFileNamePrefix;
            ServiceInstance.Name                 = UserSettings.ServiceName;
            ServiceInstance.MetadataTempFilePath = ConfigODataEndpointViewModel.MetadataTempPath;
            ServiceInstance.ServiceConfig        = CreateServiceConfiguration();

            return(await Task.FromResult <ConnectedServiceInstance>(ServiceInstance).ConfigureAwait(false));
        }
        public void LoadOperationImports_ShouldSetOperationImportsWithoutDuplicatesAndSelectAll()
        {
            using (var objectSelection = new OperationImportsViewModel())
            {
                objectSelection.OperationImports = new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    }
                };

                var container  = new EdmEntityContainer("Test", "Default");
                var listToLoad = new List <IEdmOperationImport>()
                {
                    new EdmActionImport(container, "Update", new EdmAction("Test", "Update", null)),
                    new EdmFunctionImport(container, "GetTotal",
                                          new EdmFunction("Test", "GetTotal",
                                                          new EdmTypeReferenceForTest(
                                                              new EdmTypeDefinition("Test", "TypeDef", EdmPrimitiveTypeKind.Int32), false))),
                    new EdmActionImport(container, "Update",
                                        new EdmAction("Test", "Update",
                                                      new EdmTypeReferenceForTest(
                                                          new EdmTypeDefinition("Test", "TypeDef", EdmPrimitiveTypeKind.String), false)))
                };

                objectSelection.LoadOperationImports(listToLoad, new HashSet <string>(), new Dictionary <string, SchemaTypeModel>());

                objectSelection.OperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>()
                {
                    new OperationImportModel
                    {
                        ReturnType       = "Test.TypeDef",
                        ParametersString = "()",
                        Name             = "GetTotal",
                        IsSelected       = true
                    },
                    new OperationImportModel
                    {
                        ReturnType       = "void",
                        ParametersString = "()",
                        Name             = "Update",
                        IsSelected       = true
                    }
                });
            }
        }
        public void FillingSearchText_ShouldFilterOperationImports()
        {
            using (var objectSelection = new OperationImportsViewModel
            {
                OperationImports = new List <OperationImportModel>
                {
                    new OperationImportModel {
                        Name = "Func1", IsSelected = true
                    },
                    new OperationImportModel {
                        Name = "AnotherFunc2", IsSelected = true
                    }
                }
            })
            {
                objectSelection.FilteredOperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>
                {
                    new OperationImportModel {
                        Name = "Func1", IsSelected = true
                    },
                    new OperationImportModel {
                        Name = "AnotherFunc2", IsSelected = true
                    }
                });

                objectSelection.SearchText = "fun";

                objectSelection.FilteredOperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>
                {
                    new OperationImportModel {
                        Name = "Func1", IsSelected = true
                    }
                });

                objectSelection.SearchText = "wrong";

                objectSelection.FilteredOperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>());

                objectSelection.SearchText = string.Empty;

                objectSelection.FilteredOperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>
                {
                    new OperationImportModel {
                        Name = "Func1", IsSelected = true
                    },
                    new OperationImportModel {
                        Name = "AnotherFunc2", IsSelected = true
                    }
                });
            }
        }
        public void ExcludeOperationImports_ShouldUnselectTheSpecifiedOperations()
        {
            using (var objectSelection = new OperationImportsViewModel
            {
                OperationImports = new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = true
                    }
                }
            })
            {
                objectSelection.ExcludeOperationImports(new string[] { "Func1", "Func3", "Func4" });

                objectSelection.OperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    }
                });
            }
        }
        public void LoadOperationImports_ShouldSetOperationImportsWithoutDuplicatesAndSelectAll()
        {
            var objectSelection = new OperationImportsViewModel();

            objectSelection.OperationImports = new List <OperationImportModel>()
            {
                new OperationImportModel()
                {
                    Name = "Func1", IsSelected = false
                },
                new OperationImportModel()
                {
                    Name = "Func2", IsSelected = true
                },
                new OperationImportModel()
                {
                    Name = "Func3", IsSelected = false
                }
            };

            var container  = new EdmEntityContainer("Test", "Default");
            var listToLoad = new List <IEdmOperationImport>()
            {
                new EdmActionImport(container, "Update", new EdmAction("Test", "Update", null)),
                new EdmFunctionImport(container, "GetTotal",
                                      new EdmFunction("Test", "GetTotal",
                                                      new EdmTypeReferenceForTest(
                                                          new EdmTypeDefinition("Test", "TypeDef", EdmPrimitiveTypeKind.Int32), false))),
                new EdmActionImport(container, "Update",
                                    new EdmAction("Test", "Update",
                                                  new EdmTypeReferenceForTest(
                                                      new EdmTypeDefinition("Test", "TypeDef", EdmPrimitiveTypeKind.String), false)))
            };

            objectSelection.LoadOperationImports(listToLoad);

            objectSelection.OperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>()
            {
                new OperationImportModel()
                {
                    Name = "GetTotal", IsSelected = true
                },
                new OperationImportModel()
                {
                    Name = "Update", IsSelected = true
                }
            });
        }
Example #10
0
        public void SchemaTypeSelectionViewModel_PageLeaving(object sender, EventArgs args)
        {
            // exclude related operationimports for excluded types
            var model               = EdmHelper.GetEdmModelFromFile(ConfigODataEndpointViewModel.MetadataTempPath);
            var operations          = EdmHelper.GetOperationImports(model);
            var operationsToExclude = operations.Where(x => !OperationImportsViewModel.IsOperationImportIncluded(x,
                                                                                                                 SchemaTypesViewModel.ExcludedSchemaTypeNames.ToList())).ToList();

            foreach (var operationImport in OperationImportsViewModel.OperationImports)
            {
                if (operationsToExclude.Any(x => x.Name == operationImport.Name))
                {
                    operationImport.IsSelected = false;
                }
            }
        }
Example #11
0
        /// <summary>
        /// Cleanup object references
        /// </summary>
        /// <param name="disposing"></param>
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (disposing)
                {
                    if (AdvancedSettingsViewModel != null)
                    {
                        AdvancedSettingsViewModel.Dispose();
                        AdvancedSettingsViewModel = null;
                    }

                    if (OperationImportsViewModel != null)
                    {
                        OperationImportsViewModel.Dispose();
                        OperationImportsViewModel = null;
                    }

                    if (SchemaTypesViewModel != null)
                    {
                        SchemaTypesViewModel.Dispose();
                        SchemaTypesViewModel = null;
                    }

                    if (ConfigODataEndpointViewModel != null)
                    {
                        ConfigODataEndpointViewModel.Dispose();
                        ConfigODataEndpointViewModel = null;
                    }

                    if (serviceInstance != null)
                    {
                        serviceInstance.Dispose();
                        serviceInstance = null;
                    }
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }
        public void ObjectSelectionViewModel_PageEntering(object sender, EventArgs args)
        {
            if (sender is OperationImportsViewModel objectSelectionViewModel)
            {
                if (ConfigODataEndpointViewModel.EdmxVersion != Constants.EdmxVersion4)
                {
                    objectSelectionViewModel.View.IsEnabled          = false;
                    objectSelectionViewModel.IsSupportedODataVersion = false;
                    return;
                }
                var model      = EdmHelper.GetEdmModelFromFile(ConfigODataEndpointViewModel.MetadataTempPath);
                var operations = EdmHelper.GetOperationImports(model);
                OperationImportsViewModel.LoadOperationImports(operations);

                if (Context.IsUpdating)
                {
                    var serviceConfig = Context.GetExtendedDesignerData <ServiceConfigurationV4>();
                    objectSelectionViewModel.ExcludeOperationImports(serviceConfig?.ExcludedOperationImports ?? Enumerable.Empty <string>());
                }
            }
        }
Example #13
0
        public ODataConnectedServiceWizard(ConnectedServiceProviderContext context)
        {
            this.Context      = context;
            this.UserSettings = UserSettings.Load(context?.Logger);

            // Since ServiceConfigurationV4 is a derived type of ServiceConfiguration. So we can deserialize a ServiceConfiguration into a ServiceConfigurationV4.
            this._serviceConfig = this.Context?.GetExtendedDesignerData <ServiceConfigurationV4>();

            ConfigODataEndpointViewModel = new ConfigODataEndpointViewModel(this.UserSettings, this);
            AdvancedSettingsViewModel    = new AdvancedSettingsViewModel(this.UserSettings);
            SchemaTypesViewModel         = new SchemaTypesViewModel(this.UserSettings);
            OperationImportsViewModel    = new OperationImportsViewModel(this.UserSettings);

            OperationImportsViewModel.PageEntering += OperationImportsViewModel_PageEntering;

            SchemaTypesViewModel.PageEntering += SchemaTypeSelectionViewModel_PageEntering;
            SchemaTypesViewModel.PageLeaving  += SchemaTypeSelectionViewModel_PageLeaving;
            if (this.Context != null && this.Context.IsUpdating)
            {
                ConfigODataEndpointViewModel.Endpoint          = this._serviceConfig?.Endpoint;
                ConfigODataEndpointViewModel.EdmxVersion       = this._serviceConfig?.EdmxVersion;
                ConfigODataEndpointViewModel.ServiceName       = this._serviceConfig?.ServiceName;
                ConfigODataEndpointViewModel.CustomHttpHeaders = this._serviceConfig?.CustomHttpHeaders;

                // Restore the main settings to UI elements.
                ConfigODataEndpointViewModel.PageEntering += ConfigODataEndpointViewModel_PageEntering;

                // The ViewModel should always be filled otherwise if the wizard is completed without visiting this page the generated code becomes wrong
                AdvancedSettingsViewModel_PageEntering(AdvancedSettingsViewModel, EventArgs.Empty);

                // Restore the advanced settings to UI elements.
                AdvancedSettingsViewModel.PageEntering += AdvancedSettingsViewModel_PageEntering;
            }

            this.Pages.Add(ConfigODataEndpointViewModel);
            this.Pages.Add(SchemaTypesViewModel);
            this.Pages.Add(OperationImportsViewModel);
            this.Pages.Add(AdvancedSettingsViewModel);
            this.IsFinishEnabled = true;
        }
        public void UnSelectAll_ShouldMarkAllOperationsAsNotSelected()
        {
            using (var objectSelection = new OperationImportsViewModel()
            {
                OperationImports = new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = true
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    }
                }
            })
            {
                objectSelection.UnselectAll();

                objectSelection.OperationImports.ShouldBeEquivalentTo(new List <OperationImportModel>()
                {
                    new OperationImportModel()
                    {
                        Name = "Func1", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func2", IsSelected = false
                    },
                    new OperationImportModel()
                    {
                        Name = "Func3", IsSelected = false
                    }
                });
            }
        }
Example #15
0
        public ODataConnectedServiceWizard(ConnectedServiceProviderContext context)
        {
            Context = context;
            // We only use most recently used endpoints from the config file saved in user's isolated storage
            // The UserSettings constructor will load those endpoints
            UserSettings = new UserSettings(context?.Logger);

            // Since ServiceConfigurationV4 is a derived type of ServiceConfiguration,
            // we can deserialize a ServiceConfiguration into a ServiceConfigurationV4.
            ServiceConfig = Context?.GetExtendedDesignerData <ServiceConfigurationV4>();

            ConfigODataEndpointViewModel = new ConfigODataEndpointViewModel(UserSettings);
            AdvancedSettingsViewModel    = new AdvancedSettingsViewModel(UserSettings);
            SchemaTypesViewModel         = new SchemaTypesViewModel(UserSettings);
            OperationImportsViewModel    = new OperationImportsViewModel(UserSettings);

            OperationImportsViewModel.PageEntering += OperationImportsViewModel_PageEntering;
            SchemaTypesViewModel.PageEntering      += SchemaTypeSelectionViewModel_PageEntering;
            SchemaTypesViewModel.PageLeaving       += SchemaTypeSelectionViewModel_PageLeaving;

            if (Context != null && Context.IsUpdating)
            {
                LoadUserSettingsFromServiceConfig();
                ConfigODataEndpointViewModel.EdmxVersion = ServiceConfig?.EdmxVersion;

                // Restore the main settings to UI elements.
                ConfigODataEndpointViewModel.PageEntering += ConfigODataEndpointViewModel_PageEntering;
                // The ViewModel should always be filled otherwise if the wizard is completed without visiting this page the generated code becomes wrong
                AdvancedSettingsViewModel_PageEntering(AdvancedSettingsViewModel, EventArgs.Empty);
                // Restore the advanced settings to UI elements.
                AdvancedSettingsViewModel.PageEntering += AdvancedSettingsViewModel_PageEntering;
            }

            Pages.Add(ConfigODataEndpointViewModel);
            Pages.Add(SchemaTypesViewModel);
            Pages.Add(OperationImportsViewModel);
            Pages.Add(AdvancedSettingsViewModel);
            IsFinishEnabled = true;
        }
        public ODataConnectedServiceWizard(ConnectedServiceProviderContext context)
        {
            this.Context      = context;
            this.UserSettings = UserSettings.Load(context.Logger);

            ConfigODataEndpointViewModel = new ConfigODataEndpointViewModel(this.UserSettings, this);
            AdvancedSettingsViewModel    = new AdvancedSettingsViewModel(this.UserSettings);
            OperationImportsViewModel    = new OperationImportsViewModel();

            ServiceConfigurationV4 serviceConfig = null;

            OperationImportsViewModel.PageEntering += ObjectSelectionViewModel_PageEntering;

            if (this.Context.IsUpdating)
            {
                //Since ServiceConfigurationV4 is a derived type of ServiceConfiguration. So we can deserialize a ServiceConfiguration into a ServiceConfigurationV4.
                serviceConfig = this.Context.GetExtendedDesignerData <ServiceConfigurationV4>();
                ConfigODataEndpointViewModel.Endpoint          = serviceConfig.Endpoint;
                ConfigODataEndpointViewModel.EdmxVersion       = serviceConfig.EdmxVersion;
                ConfigODataEndpointViewModel.ServiceName       = serviceConfig.ServiceName;
                ConfigODataEndpointViewModel.CustomHttpHeaders = serviceConfig.CustomHttpHeaders;



                // The ViewModel should always be filled otherwise if the wizard is completed without visiting this page the generated code becomes wrong
                AdvancedSettingsViewModel.UseNamespacePrefix       = serviceConfig.UseNamespacePrefix;
                AdvancedSettingsViewModel.NamespacePrefix          = serviceConfig.NamespacePrefix;
                AdvancedSettingsViewModel.UseDataServiceCollection = serviceConfig.UseDataServiceCollection;

                if (serviceConfig.EdmxVersion == Common.Constants.EdmxVersion4)
                {
                    AdvancedSettingsViewModel.IgnoreUnexpectedElementsAndAttributes =
                        serviceConfig.IgnoreUnexpectedElementsAndAttributes;
                    AdvancedSettingsViewModel.EnableNamingAlias = serviceConfig.EnableNamingAlias;
                    AdvancedSettingsViewModel.IncludeT4File     = serviceConfig.IncludeT4File;
                    AdvancedSettingsViewModel.MakeTypesInternal = serviceConfig.MakeTypesInternal;
                }


                ConfigODataEndpointViewModel.PageEntering += (sender, args) =>
                {
                    var configOdataViewModel = sender as ConfigODataEndpointViewModel;
                    if (configOdataViewModel != null)
                    {
                        var configOdataView = configOdataViewModel.View as ConfigODataEndpoint;
                        configOdataView.Endpoint.IsEnabled = false;
                        configOdataView.OpenConnectedServiceJsonFileButton.IsEnabled = false;
                        configOdataView.OpenEndpointFileButton.IsEnabled             = !serviceConfig.Endpoint.StartsWith("http");
                        configOdataView.ServiceName.IsEnabled     = false;
                        configOdataViewModel.IncludeCustomHeaders = serviceConfig.IncludeCustomHeaders;
                        configOdataViewModel.IncludeWebProxy      = serviceConfig.IncludeWebProxy;
                        configOdataViewModel.WebProxyHost         = serviceConfig.WebProxyHost;

                        configOdataViewModel.IncludeWebProxyNetworkCredentials = serviceConfig.IncludeWebProxyNetworkCredentials;
                        configOdataViewModel.WebProxyNetworkCredentialsDomain  = serviceConfig.WebProxyNetworkCredentialsDomain;

                        // don't accept any credentials from the restored settings
                        configOdataViewModel.WebProxyNetworkCredentialsUsername = null;
                        configOdataViewModel.WebProxyNetworkCredentialsPassword = null;
                    }
                };


                //Restore the advanced settings to UI elements.
                AdvancedSettingsViewModel.PageEntering += (sender, args) =>
                {
                    if (sender is AdvancedSettingsViewModel advancedSettingsViewModel)
                    {
                        if (advancedSettingsViewModel.View is AdvancedSettings advancedSettings)
                        {
                            advancedSettingsViewModel.GeneratedFileNamePrefix  = serviceConfig.GeneratedFileNamePrefix;
                            advancedSettings.ReferenceFileName.IsEnabled       = false;
                            advancedSettingsViewModel.UseNamespacePrefix       = serviceConfig.UseNamespacePrefix;
                            advancedSettingsViewModel.NamespacePrefix          = serviceConfig.NamespacePrefix;
                            advancedSettingsViewModel.UseDataServiceCollection = serviceConfig.UseDataServiceCollection;
                            advancedSettingsViewModel.GenerateMultipleFiles    = serviceConfig.GenerateMultipleFiles;
                            advancedSettings.GenerateMultipleFiles.IsEnabled   = false;

                            if (serviceConfig.EdmxVersion == Common.Constants.EdmxVersion4)
                            {
                                advancedSettingsViewModel.IgnoreUnexpectedElementsAndAttributes = serviceConfig.IgnoreUnexpectedElementsAndAttributes;
                                advancedSettingsViewModel.EnableNamingAlias = serviceConfig.EnableNamingAlias;
                                advancedSettingsViewModel.IncludeT4File     = serviceConfig.IncludeT4File;
                                advancedSettingsViewModel.MakeTypesInternal = serviceConfig.MakeTypesInternal;
                                advancedSettings.IncludeT4File.IsEnabled    = false;
                            }
                        }
                    }
                };
            }

            this.Pages.Add(ConfigODataEndpointViewModel);
            this.Pages.Add(OperationImportsViewModel);
            this.Pages.Add(AdvancedSettingsViewModel);
            this.IsFinishEnabled = true;
        }