ASR.Interface.Report.AddScanner C# (CSharp) Метод

AddScanner() публичный Метод

Add a Scanner to the report
public AddScanner ( ASR.DomainObjects.ScannerItem scanner ) : void
scanner ASR.DomainObjects.ScannerItem
Результат void
        public void AddScanner(ScannerItem scanner)
        {
            Sitecore.Diagnostics.Assert.ArgumentNotNull(scanner, "scanner");

            if (!scanners.ContainsKey(scanner.ID.ToString()))
            {
                scanners.Add(scanner.ID.ToString(), scanner);
                FlushCache();
            }
        }

Usage Example

        public void Process(Item[] items, Sitecore.Tasks.CommandItem commandItem, ScheduleItem schedule)
        {
            CheckboxField active = commandItem.InnerItem.Fields["active"];
            if (active.Checked)
            {
                //prepare email message
                string from = commandItem["from"];
                string to = commandItem["to"];
                string subject = commandItem["subject"];

                MailMessage message = new MailMessage(from, to)
                {
                    Subject = subject,
                };

                //attach reports in excel format
                MultilistField reportReferences = commandItem.InnerItem.Fields["reports"];
                foreach (Item item in reportReferences.GetItems())
                {
                    ReportItem reportItem = null;
                    Report report = null;
                    try
                    {
                        reportItem = Director.LoadObjectFromItem<ReportItem>(item);
                        report = new Report();
                        foreach (var sItem in reportItem.Scanners)
                        {
                            report.AddScanner(sItem);
                        }
                        foreach (var vItem in reportItem.Viewers)
                        {
                            report.AddViewer(vItem);
                        }
                        foreach (var fItem in reportItem.Filters)
                        {
                            report.AddFilter(fItem);
                        }
                        report.Run();

                        //attach to mail message
                        string tempPath = new ASR.Export.HtmlExport(report, reportItem).SaveFile("Automated report " + reportItem.Name, "xls");
                        Attachment newAttachment = new Attachment(tempPath);
                        message.Attachments.Add(newAttachment);

                    }
                    catch (Exception ex)
                    {
                        message.Body += String.Format("An error occured while running '{0}'\n{1}\n\n", reportItem.Name, ex.ToString());
                    }
                }

                MainUtil.SendMail(message);
            }
        }