Esempio n. 1
0
        public void PrintOutput()
        {
            Save();
            var tabPages         = xtraTabControlPublications.TabPages.Where(tabPage => tabPage.PageEnabled).OfType <IBasicOverviewOutputControl>();
            var selectedProducts = new List <IBasicOverviewOutputControl>();

            if (tabPages.Count() > 1)
            {
                using (var form = new FormSelectOutputItems())
                {
                    form.Text = "Select Products";
                    var currentProduct = xtraTabControlPublications.SelectedTabPage as IBasicOverviewOutputControl;
                    foreach (var tabPage in tabPages)
                    {
                        var item = new CheckedListBoxItem(tabPage, tabPage.SlideName);
                        form.checkedListBoxControlOutputItems.Items.Add(item);
                        if (tabPage == currentProduct)
                        {
                            form.buttonXSelectCurrent.Tag = item;
                        }
                    }
                    form.checkedListBoxControlOutputItems.CheckAll();
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
                                                  OfType <CheckedListBoxItem>().
                                                  Where(ci => ci.CheckState == CheckState.Checked).
                                                  Select(ci => ci.Value).
                                                  OfType <IBasicOverviewOutputControl>());
                    }
                }
            }
            else
            {
                selectedProducts.AddRange(tabPages);
            }
            if (!selectedProducts.Any())
            {
                return;
            }
            TrackOutput(selectedProducts.OfType <PublicationBasicOverviewControl>());
            FormProgress.SetTitle("Chill-Out for a few seconds...\nGenerating slides so your presentation can look AWESOME!");
            Controller.Instance.ShowFloater(() =>
            {
                FormProgress.ShowProgress();
                foreach (var product in selectedProducts)
                {
                    product.Output();
                }
                FormProgress.CloseProgress();
            });
        }
Esempio n. 2
0
        public void PrintPdf()
        {
            Save();
            var tabPages         = xtraTabControlPublications.TabPages.Where(tabPage => tabPage.PageEnabled).OfType <IBasicOverviewOutputControl>();
            var selectedProducts = new List <IBasicOverviewOutputControl>();

            if (tabPages.Count() > 1)
            {
                using (var form = new FormSelectOutputItems())
                {
                    form.Text = "Select Products";
                    var currentProduct = xtraTabControlPublications.SelectedTabPage as IBasicOverviewOutputControl;
                    foreach (var tabPage in tabPages)
                    {
                        var item = new CheckedListBoxItem(tabPage, tabPage.SlideName);
                        form.checkedListBoxControlOutputItems.Items.Add(item);
                        if (tabPage == currentProduct)
                        {
                            form.buttonXSelectCurrent.Tag = item;
                        }
                    }
                    form.checkedListBoxControlOutputItems.CheckAll();
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
                                                  OfType <CheckedListBoxItem>().
                                                  Where(ci => ci.CheckState == CheckState.Checked).
                                                  Select(ci => ci.Value).
                                                  OfType <IBasicOverviewOutputControl>());
                    }
                }
            }
            else
            {
                selectedProducts.AddRange(tabPages);
            }
            if (!selectedProducts.Any())
            {
                return;
            }
            TrackOutput(selectedProducts.OfType <PublicationBasicOverviewControl>());
            FormProgress.SetTitle("Chill-Out for a few seconds...\nGenerating slides so your presentation can look AWESOME!");
            Controller.Instance.ShowFloater(() =>
            {
                FormProgress.ShowProgress();
                var previewGroups = new List <PreviewGroup>();
                previewGroups.AddRange(selectedProducts.Select(productControl =>
                {
                    var previewGroup = productControl.GetPreviewGroup();
                    if (productControl is PublicationBasicOverviewControl)
                    {
                        AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewEmail(previewGroup.PresentationSourcePath, new[] { (PublicationBasicOverviewControl)productControl });
                    }
                    else if (productControl is BasicOverviewSummaryControl)
                    {
                        var summaryControl = productControl as BasicOverviewSummaryControl;
                        summaryControl.PopulateReplacementsList();
                        AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewSummaryEmail(previewGroup.PresentationSourcePath, summaryControl);
                    }
                    return(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 { }
                }
                FormProgress.CloseProgress();
            });
        }
Esempio n. 3
0
        public void Preview()
        {
            Save();
            var tabPages         = xtraTabControlPublications.TabPages.Where(tabPage => tabPage.PageEnabled).OfType <IBasicOverviewOutputControl>();
            var selectedProducts = new List <IBasicOverviewOutputControl>();

            if (tabPages.Count() > 1)
            {
                using (var form = new FormSelectOutputItems())
                {
                    form.Text = "Select Products";
                    var currentProduct = xtraTabControlPublications.SelectedTabPage as IBasicOverviewOutputControl;
                    foreach (var tabPage in tabPages)
                    {
                        var item = new CheckedListBoxItem(tabPage, tabPage.SlideName);
                        form.checkedListBoxControlOutputItems.Items.Add(item);
                        if (tabPage == currentProduct)
                        {
                            form.buttonXSelectCurrent.Tag = item;
                        }
                    }
                    form.checkedListBoxControlOutputItems.CheckAll();
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
                                                  OfType <CheckedListBoxItem>().
                                                  Where(ci => ci.CheckState == CheckState.Checked).
                                                  Select(ci => ci.Value).
                                                  OfType <IBasicOverviewOutputControl>());
                    }
                }
            }
            else
            {
                selectedProducts.AddRange(tabPages);
            }
            if (!selectedProducts.Any())
            {
                return;
            }
            var previewGroups = new List <PreviewGroup>();

            FormProgress.SetTitle("Chill-Out for a few seconds...\nPreparing Preview...");
            FormProgress.ShowProgress();
            foreach (var productControl in selectedProducts)
            {
                var previewGroup = productControl.GetPreviewGroup();
                if (productControl is PublicationBasicOverviewControl)
                {
                    AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewEmail(previewGroup.PresentationSourcePath, new[] { (PublicationBasicOverviewControl)productControl });
                }
                else if (productControl is BasicOverviewSummaryControl)
                {
                    var summaryControl = productControl as BasicOverviewSummaryControl;
                    summaryControl.PopulateReplacementsList();
                    AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewSummaryEmail(previewGroup.PresentationSourcePath, summaryControl);
                }
                previewGroups.Add(previewGroup);
            }
            Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false);
            FormProgress.CloseProgress();
            if (!(previewGroups.Any() && previewGroups.All(pg => File.Exists(pg.PresentationSourcePath))))
            {
                return;
            }
            var trackAction = new Action(() => TrackOutput(selectedProducts.OfType <PublicationBasicOverviewControl>()));

            using (var formPreview = new FormPreview(Controller.Instance.FormMain, AdSchedulePowerPointHelper.Instance, BusinessObjects.Instance.HelpManager, Controller.Instance.ShowFloater, trackAction))
            {
                formPreview.Text = "Preview Basic Overview";
                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);
                }
            }
        }
		public void PrintOutput()
		{
			var tabPages = _tabPages;
			var selectedProducts = new List<PublicationDetailedGridControl>();
			if (tabPages.Count() > 1)
				using (var form = new FormSelectOutputItems())
				{
					form.Text = "Select Products";
					var currentProduct = xtraTabControlPublications.SelectedTabPage as PublicationDetailedGridControl;
					foreach (var tabPage in tabPages)
					{
						var item = new CheckedListBoxItem(tabPage, tabPage.PrintProduct.Name);
						form.checkedListBoxControlOutputItems.Items.Add(item);
						if (tabPage == currentProduct)
							form.buttonXSelectCurrent.Tag = item;
					}
					form.checkedListBoxControlOutputItems.CheckAll();
					if (form.ShowDialog() == DialogResult.OK)
						selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
							OfType<CheckedListBoxItem>().
							Where(ci => ci.CheckState == CheckState.Checked).
							Select(ci => ci.Value).
							OfType<PublicationDetailedGridControl>());
				}
			else
				selectedProducts.AddRange(tabPages);
			if (!selectedProducts.Any()) return;
			TrackOutput(selectedProducts);
			FormProgress.SetTitle("Chill-Out for a few seconds...\nGenerating slides so your presentation can look AWESOME!");
			Controller.Instance.ShowFloater(() =>
			{
				foreach (var product in selectedProducts)
					product.PrintOutput();
				FormProgress.CloseProgress();
			});
		}
		public void PrintPdf()
		{
			var tabPages = _tabPages;
			var selectedProducts = new List<PublicationDetailedGridControl>();
			if (tabPages.Count() > 1)
				using (var form = new FormSelectOutputItems())
				{
					form.Text = "Select Products";
					var currentProduct = xtraTabControlPublications.SelectedTabPage as PublicationDetailedGridControl;
					foreach (var tabPage in tabPages)
					{
						var item = new CheckedListBoxItem(tabPage, tabPage.PrintProduct.Name);
						form.checkedListBoxControlOutputItems.Items.Add(item);
						if (tabPage == currentProduct)
							form.buttonXSelectCurrent.Tag = item;
					}
					form.checkedListBoxControlOutputItems.CheckAll();
					if (form.ShowDialog() == DialogResult.OK)
						selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
							OfType<CheckedListBoxItem>().
							Where(ci => ci.CheckState == CheckState.Checked).
							Select(ci => ci.Value).
							OfType<PublicationDetailedGridControl>());
				}
			else
				selectedProducts.AddRange(tabPages);
			if (!selectedProducts.Any()) return;
			TrackOutput(selectedProducts);
			FormProgress.SetTitle("Chill-Out for a few seconds...\nGenerating slides so your presentation can look AWESOME!");
			Controller.Instance.ShowFloater(() =>
			{
				FormProgress.ShowProgress();
				foreach (var product in selectedProducts)
					product.PrepareOutput();
				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.PrepareDetailedGridGridBasedPdf(pdfFileName, selectedProducts.ToArray());
				if (File.Exists(pdfFileName))
					try
					{
						Process.Start(pdfFileName);
					}
					catch { }
				FormProgress.CloseProgress();
			});
		}
		public void Preview()
		{
			var tabPages = _tabPages;
			var selectedProducts = new List<PublicationDetailedGridControl>();
			if (tabPages.Count() > 1)
				using (var form = new FormSelectOutputItems())
				{
					form.Text = "Select Products";
					var currentProduct = xtraTabControlPublications.SelectedTabPage as PublicationDetailedGridControl;
					foreach (var tabPage in tabPages)
					{
						var item = new CheckedListBoxItem(tabPage, tabPage.PrintProduct.Name);
						form.checkedListBoxControlOutputItems.Items.Add(item);
						if (tabPage == currentProduct)
							form.buttonXSelectCurrent.Tag = item;
					}
					form.checkedListBoxControlOutputItems.CheckAll();
					if (form.ShowDialog() == DialogResult.OK)
						selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
							OfType<CheckedListBoxItem>().
							Where(ci => ci.CheckState == CheckState.Checked).
							Select(ci => ci.Value).
							OfType<PublicationDetailedGridControl>());
				}
			else
				selectedProducts.AddRange(tabPages);
			if (!selectedProducts.Any()) return;
			var tempFileName = Path.Combine(Core.Common.ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName()));
			FormProgress.SetTitle("Chill-Out for a few seconds...\nPreparing Preview...");
			FormProgress.ShowProgress();
			foreach (var product in selectedProducts)
				product.PrepareOutput();
			AdSchedulePowerPointHelper.Instance.PrepareDetailedGridGridBasedEmail(tempFileName, selectedProducts.ToArray());
			Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false);
			FormProgress.CloseProgress();
			if (!File.Exists(tempFileName)) return;
			var trackAction = new Action(() => TrackOutput(selectedProducts));
			using (var formPreview = new FormPreview(Controller.Instance.FormMain, AdSchedulePowerPointHelper.Instance, BusinessObjects.Instance.HelpManager, Controller.Instance.ShowFloater, trackAction))
			{
				formPreview.Text = "Preview Detailed Advertising Grid";
				formPreview.LoadGroups(new[] { new PreviewGroup { Name = "Preview", PresentationSourcePath = tempFileName } });
				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);
			}
		}
		public void PrintPdf()
		{
			Save();
			var tabPages = xtraTabControlPublications.TabPages.Where(tabPage => tabPage.PageEnabled).OfType<IBasicOverviewOutputControl>();
			var selectedProducts = new List<IBasicOverviewOutputControl>();
			if (tabPages.Count() > 1)
				using (var form = new FormSelectOutputItems())
				{
					form.Text = "Select Products";
					var currentProduct = xtraTabControlPublications.SelectedTabPage as IBasicOverviewOutputControl;
					foreach (var tabPage in tabPages)
					{
						var item = new CheckedListBoxItem(tabPage, tabPage.SlideName);
						form.checkedListBoxControlOutputItems.Items.Add(item);
						if (tabPage == currentProduct)
							form.buttonXSelectCurrent.Tag = item;
					}
					form.checkedListBoxControlOutputItems.CheckAll();
					if (form.ShowDialog() == DialogResult.OK)
						selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
							OfType<CheckedListBoxItem>().
							Where(ci => ci.CheckState == CheckState.Checked).
							Select(ci => ci.Value).
							OfType<IBasicOverviewOutputControl>());
				}
			else
				selectedProducts.AddRange(tabPages);
			if (!selectedProducts.Any()) return;
			TrackOutput(selectedProducts.OfType<PublicationBasicOverviewControl>());
			FormProgress.SetTitle("Chill-Out for a few seconds...\nGenerating slides so your presentation can look AWESOME!");
			Controller.Instance.ShowFloater(() =>
			{
				FormProgress.ShowProgress();
				var previewGroups = new List<PreviewGroup>();
				previewGroups.AddRange(selectedProducts.Select(productControl =>
				{
					var previewGroup = productControl.GetPreviewGroup();
					if (productControl is PublicationBasicOverviewControl)
						AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewEmail(previewGroup.PresentationSourcePath, new[] { (PublicationBasicOverviewControl)productControl });
					else if (productControl is BasicOverviewSummaryControl)
					{
						var summaryControl = productControl as BasicOverviewSummaryControl;
						summaryControl.PopulateReplacementsList();
						AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewSummaryEmail(previewGroup.PresentationSourcePath, summaryControl);
					}
					return 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 { }
				FormProgress.CloseProgress();
			});
		}
		public void Preview()
		{
			Save();
			var tabPages = xtraTabControlPublications.TabPages.Where(tabPage => tabPage.PageEnabled).OfType<IBasicOverviewOutputControl>();
			var selectedProducts = new List<IBasicOverviewOutputControl>();
			if (tabPages.Count() > 1)
				using (var form = new FormSelectOutputItems())
				{
					form.Text = "Select Products";
					var currentProduct = xtraTabControlPublications.SelectedTabPage as IBasicOverviewOutputControl;
					foreach (var tabPage in tabPages)
					{
						var item = new CheckedListBoxItem(tabPage, tabPage.SlideName);
						form.checkedListBoxControlOutputItems.Items.Add(item);
						if (tabPage == currentProduct)
							form.buttonXSelectCurrent.Tag = item;
					}
					form.checkedListBoxControlOutputItems.CheckAll();
					if (form.ShowDialog() == DialogResult.OK)
						selectedProducts.AddRange(form.checkedListBoxControlOutputItems.Items.
							OfType<CheckedListBoxItem>().
							Where(ci => ci.CheckState == CheckState.Checked).
							Select(ci => ci.Value).
							OfType<IBasicOverviewOutputControl>());
				}
			else
				selectedProducts.AddRange(tabPages);
			if (!selectedProducts.Any()) return;
			var previewGroups = new List<PreviewGroup>();
			FormProgress.SetTitle("Chill-Out for a few seconds...\nPreparing Preview...");
			FormProgress.ShowProgress();
			foreach (var productControl in selectedProducts)
			{
				var previewGroup = productControl.GetPreviewGroup();
				if (productControl is PublicationBasicOverviewControl)
					AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewEmail(previewGroup.PresentationSourcePath, new[] { (PublicationBasicOverviewControl)productControl });
				else if (productControl is BasicOverviewSummaryControl)
				{
					var summaryControl = productControl as BasicOverviewSummaryControl;
					summaryControl.PopulateReplacementsList();
					AdSchedulePowerPointHelper.Instance.PrepareBasicOverviewSummaryEmail(previewGroup.PresentationSourcePath, summaryControl);
				}
				previewGroups.Add(previewGroup);
			}
			Utilities.Instance.ActivateForm(Controller.Instance.FormMain.Handle, true, false);
			FormProgress.CloseProgress();
			if (!(previewGroups.Any() && previewGroups.All(pg => File.Exists(pg.PresentationSourcePath)))) return;
			var trackAction = new Action(() => TrackOutput(selectedProducts.OfType<PublicationBasicOverviewControl>()));
			using (var formPreview = new FormPreview(Controller.Instance.FormMain, AdSchedulePowerPointHelper.Instance, BusinessObjects.Instance.HelpManager, Controller.Instance.ShowFloater, trackAction))
			{
				formPreview.Text = "Preview Basic Overview";
				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);
			}
		}