Beispiel #1
0
        public void OpenNewReport()
        {
            var window = new NewReportWindow();

            window.DataContext = new NewReportViewModel(_user);
            window.Show();
        }
Beispiel #2
0
        /// <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);
                    }
                }
            }
        }