public void OpenNewReport() { var window = new NewReportWindow(); window.DataContext = new NewReportViewModel(_user); window.Show(); }
/// <summary> /// Generate a new report. /// </summary> public override void Execute() { if (App.Instance.SalesForceApp.CurrentProject != null) { // setup type names SourceFileType[] types = null; using (App.Wait("Getting types")) types = App.Instance.SalesForceApp.CurrentProject.Client.Meta.GetSourceFileTypes(); List <string> typeNames = new List <string>(); foreach (SourceFileType sft in types) { typeNames.Add(sft.Name); } typeNames.Sort(); NewReportWindow dlg = new NewReportWindow(); dlg.Project = App.Instance.SalesForceApp.CurrentProject; dlg.Exclusions = typeNames.ToArray(); if (App.ShowDialog(dlg)) { using (App.Wait("Creating report")) { string[] exclusions = dlg.SelectedExclusions; List <SourceFileType> typeList = new List <SourceFileType>(); foreach (SourceFileType sft in types) { if (!exclusions.Contains(sft.Name)) { typeList.Add(sft); } } SourceFile[] allFiles = dlg.Project.Client.Meta.GetSourceFiles( typeList.ToArray(), true); SourceFile[] filteredFiles = dlg.ReportFilter.Filter(allFiles); ReportDocument document = new ReportDocument(filteredFiles); App.Instance.Content.OpenDocument(document); } } } }