private void CreateReport(IProjectExplorerNode contextNode) { var dialog = this.serviceProvider.GetService <CreateReportDialog>(); if (contextNode is IProjectExplorerProjectNode projectNode) { dialog.SelectProjectId(projectNode.ProjectId); } var mainForm = this.serviceProvider.GetService <IMainForm>(); if (dialog.ShowDialog(mainForm.Window) == DialogResult.Cancel || !dialog.SelectedProjectIds.Any()) { return; } var projectIds = dialog.SelectedProjectIds; var builder = new ReportBuilder( this.serviceProvider.GetService <IAuditLogAdapter>(), this.serviceProvider.GetService <IAuditLogStorageSinkAdapter>(), this.serviceProvider.GetService <IComputeEngineAdapter>(), AuditLogSources.Api | AuditLogSources.StorageExport, projectIds, dialog.SelectedStartDate); var view = new ReportPaneView( ReportViewModel.CreateReportName(projectIds), builder, serviceProvider); view.ShowWindow(); }
private void CreateReport(IProjectExplorerNode contextNode) { var dialog = this.serviceProvider.GetService <CreateReportDialog>(); if (contextNode is IProjectExplorerProjectNode projectNode) { dialog.SelectProjectId(projectNode.ProjectId); } var mainForm = this.serviceProvider.GetService <IMainForm>(); if (dialog.ShowDialog(mainForm.Window) == DialogResult.Cancel || !dialog.SelectedProjectIds.Any()) { return; } var projectIds = dialog.SelectedProjectIds; var builder = new AuditLogReportBuilder( this.serviceProvider.GetService <IAuditLogAdapter>(), this.serviceProvider.GetService <IComputeEngineAdapter>(), projectIds, dialog.SelectedStartDate); var view = new ReportPaneView( ReportViewModel.CreateReportName(projectIds), builder, serviceProvider); view.ShowOrActivate( mainForm.MainPanel, WeifenLuo.WinFormsUI.Docking.DockState.Document); }