/// <summary>
        /// Initializes a new instance of the <see cref="ViewsViewModel" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="frameworkFactory">The framework factory.</param>
        /// <param name="pageFactory">The page factory.</param>
        /// <param name="layoutFactory">The layout factory.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="mvvmCrossViewFactory">The MVVM cross view factory.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewsViewModel(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IFrameworkFactory frameworkFactory,
            IXamarinPageFactory pageFactory,
            IXamarinLayoutFactory layoutFactory,
            IMessageBoxService messageBoxService,
            IMvvmCrossViewFactory mvvmCrossViewFactory,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
        {
            this.views = new ObservableCollection <View>();

            this.visualStudioService = visualStudioService;
            this.settingsService     = settingsService;
            this.frameworkFactory    = frameworkFactory;
            this.Pages             = pageFactory.Pages;
            this.Layouts           = layoutFactory.Layouts;
            this.messageBoxService = messageBoxService;
            this.MvxViews          = mvvmCrossViewFactory.Views;

            this.frameworks = frameworkFactory.AllowedFrameworks;

            this.allowFrameworkSelection = this.Frameworks.Count() > 1;

            this.DisplayGrid();

            this.MvvmCrossiOSViewTypes        = viewModelAndViewsFactory.GetAvailableMvvmCrossiOSViewTypes();
            this.SelectedMvvmCrossiOSViewType = this.settingsService.SelectedMvvmCrossiOSViewType;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectsViewModel" /> class.
 /// </summary>
 /// <param name="settingsService">The settings service.</param>
 /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
 public ProjectsViewModel(
     ISettingsService settingsService,
     IViewModelAndViewsFactory viewModelAndViewsFactory)
     : base(settingsService)
 {
     this.viewModelAndViewsFactory = viewModelAndViewsFactory;
     this.Init();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsService" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        /// <param name="fileOperationService">The file operation service.</param>
        /// <param name="nugetCommandsService">The nuget commands service.</param>
        public ViewModelViewsService(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IViewModelAndViewsFactory viewModelAndViewsFactory,
            IFileOperationService fileOperationService,
            INugetCommandsService nugetCommandsService)
            : base(settingsService)
        {
            TraceService.WriteLine("ViewModelViewsService::Constructor");

            this.visualStudioService = visualStudioService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
            this.fileOperationService = fileOperationService;
            this.nugetCommandsService = nugetCommandsService;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsService" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        /// <param name="fileOperationService">The file operation service.</param>
        /// <param name="nugetCommandsService">The nuget commands service.</param>
        public ViewModelViewsService(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IViewModelAndViewsFactory viewModelAndViewsFactory,
            IFileOperationService fileOperationService,
            INugetCommandsService nugetCommandsService)
            : base(settingsService)
        {
            TraceService.WriteLine("ViewModelViewsService::Constructor");

            this.visualStudioService      = visualStudioService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
            this.fileOperationService     = fileOperationService;
            this.nugetCommandsService     = nugetCommandsService;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsService" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="codeSnippetFactory">The code snippet factory.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="testingServiceFactory">The testing service factory.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewModelViewsService(
            IVisualStudioService visualStudioService,
            ICodeSnippetFactory codeSnippetFactory,
            ISettingsService settingsService,
            ITestingServiceFactory testingServiceFactory,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
        {
            TraceService.WriteLine("ViewModelViewsService::Constructor");

            this.visualStudioService = visualStudioService;
            this.codeSnippetFactory = codeSnippetFactory;
            this.settingsService = settingsService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
            this.testingService = testingServiceFactory.GetTestingService();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsController" /> class.
        /// </summary>
        /// <param name="viewModelViewsService">The view model views service.</param>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="resolverService">The resolver service.</param>
        /// <param name="readMeService">The read me service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewModelViewsController(
            IViewModelViewsService viewModelViewsService,
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IMessageBoxService messageBoxService,
            IResolverService resolverService,
            IReadMeService readMeService,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
            : base(visualStudioService,
            settingsService,
            messageBoxService,
            resolverService,
            readMeService)
        {
            TraceService.WriteLine("ViewModelAndViewsController::Constructor");

            this.viewModelViewsService = viewModelViewsService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsController" /> class.
        /// </summary>
        /// <param name="viewModelViewsService">The view model views service.</param>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="resolverService">The resolver service.</param>
        /// <param name="readMeService">The read me service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewModelViewsController(
            IViewModelViewsService viewModelViewsService,
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IMessageBoxService messageBoxService,
            IResolverService resolverService,
            IReadMeService readMeService,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
            : base(
                visualStudioService,
                settingsService,
                messageBoxService,
                resolverService,
                readMeService)
        {
            TraceService.WriteLine("ViewModelAndViewsController::Constructor");

            this.viewModelViewsService    = viewModelViewsService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="NinjaBaseViewModel" /> class.
 /// </summary>
 /// <param name="settingsService">The settings service.</param>
 /// <param name="testingServiceFactory">The testing service factory.</param>
 /// <param name="mockingServiceFactory">The mocking service factory.</param>
 /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
 public ProjectsViewModel(
     ISettingsService settingsService,
     ITestingServiceFactory testingServiceFactory,
     IMockingServiceFactory mockingServiceFactory,
     IViewModelAndViewsFactory viewModelAndViewsFactory)
     : base(settingsService)
 {
     this.testingServiceFactory = testingServiceFactory;
     this.mockingServiceFactory = mockingServiceFactory;
     this.viewModelAndViewsFactory = viewModelAndViewsFactory;
     this.Init();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ProjectsViewModel" /> class.
 /// </summary>
 /// <param name="settingsService">The settings service.</param>
 /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
 public ProjectsViewModel(
     ISettingsService settingsService,
     IViewModelAndViewsFactory viewModelAndViewsFactory)
     : base(settingsService)
 {
     this.viewModelAndViewsFactory = viewModelAndViewsFactory;
     this.Init();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ProjectsViewModel" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="projectFactory">The project factory.</param>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="folderBrowserDialogService">The folder browser dialog service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ProjectsViewModel(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IProjectFactory projectFactory,
            IFileSystem fileSystem,
            IMessageBoxService messageBoxService,
            IFolderBrowserDialogService folderBrowserDialogService,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
            : base(settingsService)
        {
            TraceService.WriteLine("ProjectsViewModel::Constructor Start");

            this.settingsService = settingsService;
            this.fileSystem = fileSystem;
            this.messageBoxService = messageBoxService;
            this.folderBrowserDialogService = folderBrowserDialogService;

            this.projects = new ObservableCollection<SelectableItemViewModel<ProjectTemplateInfo>>();

            IEnumerable<ProjectTemplateInfo> projectTemplateInfos = projectFactory.GetAllowedProjects();

            foreach (SelectableItemViewModel<ProjectTemplateInfo> viewModel in projectTemplateInfos
                .Select(projectTemplateInfo => new SelectableItemViewModel<ProjectTemplateInfo>(projectTemplateInfo, projectTemplateInfo.PreSelected)))
            {
                this.projects.Add(viewModel);
            }

            //// set the defaults!
            this.Project = visualStudioService.GetDefaultProjectName();

            string defaultPath = this.settingsService.DefaultProjectsPath;

            //// if we are already in the solution disable project name and path.
            this.solutionAlreadyCreated = this.Project.Length > 0;

            this.Path = string.IsNullOrEmpty(defaultPath) == false ? defaultPath : visualStudioService.DTEService.GetDefaultProjectsLocation();

            this.useNuget = this.settingsService.UseNugetForProjectTemplates;

            this.viewTypes = viewModelAndViewsFactory.GetAvailableViewTypes();
            this.selectedViewType = this.settingsService.SelectedViewType;

            TraceService.WriteLine("ProjectsViewModel::Constructor End");
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewModelViewsViewModel" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewModelViewsViewModel(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IMessageBoxService messageBoxService,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
            : base(settingsService)
        {
            this.visualStudioService = visualStudioService;
            this.settingsService = settingsService;
            this.messageBoxService = messageBoxService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;

            this.allowedViews = new ObservableCollection<SelectableItemViewModel<ItemTemplateInfo>>();

            foreach (SelectableItemViewModel<ItemTemplateInfo> view in
                this.viewModelAndViewsFactory.AllowedUIViews
                .Select(itemTemplateInfo => new SelectableItemViewModel<ItemTemplateInfo>(itemTemplateInfo)))
            {
                view.IsSelected = true;
                this.allowedViews.Add(view);
            }

            this.viewTypes = viewModelAndViewsFactory.GetAvailableViewTypes();
            this.selectedViewType = this.settingsService.SelectedViewType;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ViewsViewModel" /> class.
        /// </summary>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="frameworkFactory">The framework factory.</param>
        /// <param name="pageFactory">The page factory.</param>
        /// <param name="layoutFactory">The layout factory.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="mvvmCrossViewFactory">The MVVM cross view factory.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ViewsViewModel(
            IVisualStudioService visualStudioService,
            ISettingsService settingsService,
            IFrameworkFactory frameworkFactory,
            IXamarinPageFactory pageFactory,
            IXamarinLayoutFactory layoutFactory,
            IMessageBoxService messageBoxService,
            IMvvmCrossViewFactory mvvmCrossViewFactory,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
        {
            this.views = new ObservableCollection<View>();

            this.visualStudioService = visualStudioService;
            this.settingsService = settingsService;
            this.frameworkFactory = frameworkFactory;
            this.Pages = pageFactory.Pages;
            this.Layouts = layoutFactory.Layouts;
            this.messageBoxService = messageBoxService;
            this.MvxViews = mvvmCrossViewFactory.Views;

            this.frameworks = frameworkFactory.AllowedFrameworks;

            this.allowFrameworkSelection = this.Frameworks.Count() > 1;

            this.DisplayGrid();

            this.MvvmCrossiOSViewTypes = viewModelAndViewsFactory.GetAvailableMvvmCrossiOSViewTypes();
            this.SelectedMvvmCrossiOSViewType = this.settingsService.SelectedMvvmCrossiOSViewType;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ProjectsController" /> class.
        /// </summary>
        /// <param name="configurationService">The configuration service.</param>
        /// <param name="projectsService">The projects service.</param>
        /// <param name="nugetService">The nuget service.</param>
        /// <param name="visualStudioService">The visual studio service.</param>
        /// <param name="readMeService">The read me service.</param>
        /// <param name="settingsService">The settings service.</param>
        /// <param name="messageBoxService">The message box service.</param>
        /// <param name="mockingServiceFactory">The mocking service factory.</param>
        /// <param name="resolverService">The resolver service.</param>
        /// <param name="viewModelViewsService">The view model views service.</param>
        /// <param name="viewModelAndViewsFactory">The view model and views factory.</param>
        public ProjectsController(
            IConfigurationService configurationService,
            IProjectsService projectsService,
            INugetService nugetService,
            IVisualStudioService visualStudioService,
            IReadMeService readMeService,
            ISettingsService settingsService,
            IMessageBoxService messageBoxService,
            IMockingServiceFactory mockingServiceFactory,
            IResolverService resolverService,
            IViewModelViewsService viewModelViewsService,
            IViewModelAndViewsFactory viewModelAndViewsFactory)
            : base(configurationService,
            visualStudioService,
            readMeService,
            settingsService,
            messageBoxService,
            resolverService)
        {
            TraceService.WriteLine("ProjectsController::Constructor");

            this.projectsService = projectsService;
            this.nugetService = nugetService;
            this.viewModelViewsService = viewModelViewsService;
            this.viewModelAndViewsFactory = viewModelAndViewsFactory;
            this.mockingService = mockingServiceFactory.GetMockingService();
        }