示例#1
0
        public OutputGroup GetOutputGroup()
        {
            var outputGroup = new OutputGroup
            {
                Name      = Text,
                IsCurrent = TabControl != null && TabControl.SelectedTabPage == this
            };

            if (PackageRecords.Any())
            {
                outputGroup.Items = new List <OutputItem>(new[]
                {
                    new OutputItem
                    {
                        Name = Text,
                        PresentationSourcePath =
                            Path.Combine(ResourceManager.Instance.TempFolder.LocalPath, Path.GetFileName(Path.GetTempFileName())),
                        SlidesCount           = PackageRecords.Count() / RowsPerSlide + (PackageRecords.Count() % RowsPerSlide > 0 ? 1 : 0),
                        IsCurrent             = true,
                        SlideGeneratingAction = (processor, destinationPresentation) =>
                        {
                            PopulateReplacementsList();
                            processor.AppendWebPackage(this, destinationPresentation);
                        },
                        PreviewGeneratingAction = (processor, filePath) =>
                        {
                            PopulateReplacementsList();
                            processor.PrepareWebPackageEmail(filePath, this);
                        }
                    }
                });
            }
            return(outputGroup);
        }