public ProjectSuiteController(INewProjectSuiteWindowFactory newProjectSuiteWindowFactory,
     INewProjectSuiteViewModelFactory newProjectSuiteViewModelFactory,
     IProjectExplorerViewFactory projectExplorerViewFactory,
     IProjectExplorerViewModelFactory projectExplorerViewModelFactory,
     IProjectSuiteFileManager projectSuiteFileManager,
     IRecentFileManager recentFileManager,
     IRegionManager regionManager)
 {
     this.newProjectSuiteWindowFactory = newProjectSuiteWindowFactory;
     this.newProjectSuiteViewModelFactory = newProjectSuiteViewModelFactory;
     this.projectExplorerViewFactory = projectExplorerViewFactory;
     this.projectExplorerViewModelFactory = projectExplorerViewModelFactory;
     this.projectSuiteFileManager = projectSuiteFileManager;
     this.recentFileManager = recentFileManager;
     this.regionManager = regionManager;
 }
        public StartPageViewModel(IProjectSuiteController projectSuiteController,
            IRecentFileViewModelFactory recentFileViewModelFactory,
            IRecentFileManager recentFileManager)
        {
            this.projectSuiteController = projectSuiteController;
            this.recentFileViewModelFactory = recentFileViewModelFactory;
            NewProjectSuiteCommand = new DelegateCommand(ExecuteNewProjectCommand);
            OpenProjectSuiteCommand = new DelegateCommand(ExecuteOpenProjectCommand);

            string filePath = DefaultData.GoldenHorseRecentProjectsFilePath;

            if (!File.Exists(filePath))
                return;

            string[] projects = recentFileManager.GetRecentFiles();

            RecentFiles = projects.Select(recentFileViewModelFactory.Create).ToArray();
        }
        public StatementControllerFileOperations(
            [NotNull] IUiContext uiContext,
            [NotNull] IStatementFileManager statementFileManager,
            [NotNull] IRecentFileManager recentFileManager,
            [NotNull] DemoFileHelper demoFileHelper,
            [NotNull] IBudgetBucketRepository budgetBucketRepository)
        {
            if (uiContext == null)
            {
                throw new ArgumentNullException("uiContext");
            }

            if (statementFileManager == null)
            {
                throw new ArgumentNullException("statementFileManager");
            }

            if (recentFileManager == null)
            {
                throw new ArgumentNullException("recentFileManager");
            }

            if (demoFileHelper == null)
            {
                throw new ArgumentNullException("demoFileHelper");
            }

            if (budgetBucketRepository == null)
            {
                throw new ArgumentNullException("budgetBucketRepository");
            }

            this.uiContext = uiContext;
            this.statementFileManager = statementFileManager;
            this.recentFileManager = recentFileManager;
            this.demoFileHelper = demoFileHelper;
            this.recentFileCommands = new List<ICommand> { null, null, null, null, null };
            ViewModel = new StatementViewModel(budgetBucketRepository);
        }