protected override void PreviewInternal(IEnumerable <CalendarOutputData> outputData) { if (outputData == null) { return; } var commonOutputData = outputData.OfType <AdCalendarOutputData>(); var previewGroups = new List <PreviewGroup>(); FormProgress.SetTitle("Chill-Out for a few seconds...\nPreparing Calendar for Preview..."); FormProgress.ShowProgress(); Enabled = false; foreach (var outputItem in commonOutputData) { var previewGroup = new PreviewGroup { Name = outputItem.MonthText, PresentationSourcePath = Path.Combine(Core.Common.ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName())) }; AdSchedulePowerPointHelper.Instance.PrepareCalendarEmail(previewGroup.PresentationSourcePath, new[] { outputItem }); previewGroups.Add(previewGroup); } Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false); Enabled = true; FormProgress.CloseProgress(); if (!(previewGroups.Any() && previewGroups.All(pg => File.Exists(pg.PresentationSourcePath)))) { return; } using (var formPreview = new FormPreview(Controller.Instance.FormMain, AdSchedulePowerPointHelper.Instance, BusinessObjects.Instance.HelpManager, Controller.Instance.ShowFloater, TrackOutput)) { formPreview.Text = "Preview this Calendar"; formPreview.LoadGroups(previewGroups); RegistryHelper.MainFormHandle = formPreview.Handle; RegistryHelper.MaximizeMainForm = false; var previewResult = formPreview.ShowDialog(); RegistryHelper.MaximizeMainForm = Controller.Instance.FormMain.WindowState == FormWindowState.Maximized; RegistryHelper.MainFormHandle = Controller.Instance.FormMain.Handle; if (previewResult != DialogResult.OK) { Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false); } } }
protected override void PdfInternal(IEnumerable <CalendarOutputData> outputData) { if (outputData == null) { return; } var commonOutputData = outputData.OfType <AdCalendarOutputData>(); TrackOutput(); var previewGroups = new List <PreviewGroup>(); Controller.Instance.ShowFloater(() => { FormProgress.SetTitle(outputData.Count() == 2 ? "Creating 2 (two) Calendar slides…\nThis will take about a minute…" : "Creating Calendar slides…\nThis will take a few minutes…"); FormProgress.ShowProgress(); Enabled = false; foreach (var outputItem in commonOutputData) { var previewGroup = new PreviewGroup { Name = outputItem.MonthText, PresentationSourcePath = Path.Combine(Core.Common.ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName())) }; AdSchedulePowerPointHelper.Instance.PrepareCalendarEmail(previewGroup.PresentationSourcePath, new[] { outputItem }); previewGroups.Add(previewGroup); } var pdfFileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), String.Format("{0}-{1}.pdf", _localSchedule.Name, DateTime.Now.ToString("MM-dd-yy-hmmss"))); AdSchedulePowerPointHelper.Instance.BuildPdf(pdfFileName, previewGroups.Select(pg => pg.PresentationSourcePath)); if (File.Exists(pdfFileName)) { try { Process.Start(pdfFileName); } catch { } } Enabled = true; FormProgress.CloseProgress(); }); }
protected override void PdfInternal(IEnumerable<CalendarOutputData> outputData) { if (outputData == null) return; var commonOutputData = outputData.OfType<AdCalendarOutputData>(); TrackOutput(); var previewGroups = new List<PreviewGroup>(); Controller.Instance.ShowFloater(() => { FormProgress.SetTitle(outputData.Count() == 2 ? "Creating 2 (two) Calendar slides…\nThis will take about a minute…" : "Creating Calendar slides…\nThis will take a few minutes…"); FormProgress.ShowProgress(); Enabled = false; foreach (var outputItem in commonOutputData) { var previewGroup = new PreviewGroup { Name = outputItem.MonthText, PresentationSourcePath = Path.Combine(Core.Common.ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName())) }; AdSchedulePowerPointHelper.Instance.PrepareCalendarEmail(previewGroup.PresentationSourcePath, new[] { outputItem }); previewGroups.Add(previewGroup); } var pdfFileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), String.Format("{0}-{1}.pdf", _localSchedule.Name, DateTime.Now.ToString("MM-dd-yy-hmmss"))); AdSchedulePowerPointHelper.Instance.BuildPdf(pdfFileName, previewGroups.Select(pg => pg.PresentationSourcePath)); if (File.Exists(pdfFileName)) try { Process.Start(pdfFileName); } catch { } Enabled = true; FormProgress.CloseProgress(); }); }
protected override void PreviewInternal(IEnumerable<CalendarOutputData> outputData) { if (outputData == null) return; var commonOutputData = outputData.OfType<AdCalendarOutputData>(); var previewGroups = new List<PreviewGroup>(); FormProgress.SetTitle("Chill-Out for a few seconds...\nPreparing Calendar for Preview..."); FormProgress.ShowProgress(); Enabled = false; foreach (var outputItem in commonOutputData) { var previewGroup = new PreviewGroup { Name = outputItem.MonthText, PresentationSourcePath = Path.Combine(Core.Common.ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName())) }; AdSchedulePowerPointHelper.Instance.PrepareCalendarEmail(previewGroup.PresentationSourcePath, new[] { outputItem }); previewGroups.Add(previewGroup); } Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false); Enabled = true; FormProgress.CloseProgress(); if (!(previewGroups.Any() && previewGroups.All(pg => File.Exists(pg.PresentationSourcePath)))) return; using (var formPreview = new FormPreview(Controller.Instance.FormMain, AdSchedulePowerPointHelper.Instance, BusinessObjects.Instance.HelpManager, Controller.Instance.ShowFloater, TrackOutput)) { formPreview.Text = "Preview this Calendar"; formPreview.LoadGroups(previewGroups); RegistryHelper.MainFormHandle = formPreview.Handle; RegistryHelper.MaximizeMainForm = false; var previewResult = formPreview.ShowDialog(); RegistryHelper.MaximizeMainForm = Controller.Instance.FormMain.WindowState == FormWindowState.Maximized; RegistryHelper.MainFormHandle = Controller.Instance.FormMain.Handle; if (previewResult != DialogResult.OK) Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false); } }