public void Initialize(IWindowExternalCallbackWriter callbackWriter, ISettings settings, IReportGenerator reportGenerator, IJsReportProxy jsReportProxy) { this.reportGenerator = reportGenerator; this.windowExternalCallbackWriter = callbackWriter; this.settings = settings; this.jsReportProxy = jsReportProxy; }
public SettingsViewModel(IJsReportProxy jsReportProxy, IInitializeSettings initializeSettings) { this.jsReportProxy = jsReportProxy; InitializeCommand = new RelayCommand <object>(_ => { InitializeEnabled = false; var json = JsonConvert.SerializeObject(this); initializeSettings.Initialize(new JsonSettings { reportGenerationEnabled = this.ReportGenerationEnabled }); }); }
public MainViewModel( IWebBrowser webBrowser, IJsReportProxy jsReportProxy, IHtmlProvider htmlProvider, IScriptManager scriptManager, IGenerator generator, IToaster toaster ) { Settings = new SettingsViewModel(jsReportProxy, this); scriptManager.Initialize(this, Settings, this, jsReportProxy); webBrowser.ObjectForScripting = scriptManager; webBrowser.Navigate(htmlProvider.GetPath()); this.generator = generator; this.toaster = toaster; this.jsReportProxy = jsReportProxy; SelectProjectCommand = new RelayCommand <object>(_ => { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "dll|*.dll"; if (openFileDialog.ShowDialog() == true) { var dll = openFileDialog.FileName; var name = System.IO.Path.GetFileNameWithoutExtension(dll); this.AddTestProject(new TestProject { name = name, path = dll }); } }); ClearProjectsCommand = new RelayCommand <object>(_ => { TestProjects.Clear(); //going to mimic a new solution here jsReportProxy.ProjectsAdded(new TestProject[] { }, true); }); }