protected override IReadOnlyList <MessageTraceDetail> AggregateOutput()
        {
            IEnumerable dalRecords = base.GetDalRecords(new FfoReportingDalTask <MessageTraceDetail> .DalRetrievalDelegate(ServiceLocator.Current.GetService <IDalProvider>().GetSingleDataPage), null);
            IReadOnlyList <GetMessageTraceDetail.DalPlaceholder> readOnlyList = DataProcessorDriver.Process <GetMessageTraceDetail.DalPlaceholder>(dalRecords, ConversionProcessor.Create <GetMessageTraceDetail.DalPlaceholder>(this));
            List <MessageTraceDetail> list = new List <MessageTraceDetail>();

            foreach (GetMessageTraceDetail.DalPlaceholder dalPlaceholder in readOnlyList)
            {
                GetMessageTraceDetail.ParseDataDelegate parseDataDelegate;
                if (string.IsNullOrEmpty(dalPlaceholder.EventDescription))
                {
                    base.Diagnostics.TraceWarning("Unknown EventDescription");
                }
                else if (this.functionMap.TryGetValue(dalPlaceholder.EventDescription.ToLower(), out parseDataDelegate))
                {
                    MessageTraceDetail messageTraceDetail = parseDataDelegate(dalPlaceholder);
                    if (messageTraceDetail != null)
                    {
                        list.Add(messageTraceDetail);
                        base.Diagnostics.Checkpoint(dalPlaceholder.EventDescription);
                    }
                    else
                    {
                        base.Diagnostics.TraceWarning(string.Format("EventDescription not defined[{0}]", dalPlaceholder.EventDescription));
                    }
                }
            }
            return(list);
        }
示例#2
0
        protected override IReadOnlyList <TOutputObject> AggregateOutput()
        {
            IEnumerable           dalRecords = this.GetDalRecords(new FfoReportingDalTask <TOutputObject> .DalRetrievalDelegate(ServiceLocator.Current.GetService <IDalProvider>().GetSingleDataPage), null);
            List <IDataProcessor> list       = new List <IDataProcessor>();
            int startIndex = (this.Page - 1) * this.PageSize;

            list.Add(ConversionProcessor.CreatePageable <TOutputObject>(this, startIndex));
            if (base.NeedSuppressingPiiData)
            {
                list.Add(RedactionProcessor.Create <TOutputObject>());
            }
            return(DataProcessorDriver.Process <TOutputObject>(dalRecords, list));
        }
        protected override IReadOnlyList <MailTrafficSummaryReport> AggregateOutput()
        {
            Tuple <string, GetMailTrafficSummaryReport.AggregateDelegate> tuple;

            if (this.mappings.TryGetValue(this.CategoryEnum, out tuple))
            {
                GetMailTrafficSummaryReport.AggregateDelegate item         = tuple.Item2;
                IReadOnlyList <MailTrafficSummaryReport>      readOnlyList = item();
                if (base.NeedSuppressingPiiData)
                {
                    DataProcessorDriver.Process <MailTrafficSummaryReport>(readOnlyList, RedactionProcessor.Create <MailTrafficSummaryReport>());
                }
                return(readOnlyList);
            }
            throw new InvalidOperationException(Strings.InvalidCategory);
        }
示例#4
0
 protected override IReadOnlyList <OutboundConnectorReport> AggregateOutput()
 {
     return(DataProcessorDriver.Process <OutboundConnectorReport>(ServiceLocator.Current.GetService <ISmtpCheckerProvider>().GetOutboundConnectors(this.Domain, base.ConfigSession), ConversionProcessor.Create <OutboundConnectorReport>(this)));
 }
示例#5
0
 protected override IReadOnlyList <ServiceDeliveryReport> AggregateOutput()
 {
     return(DataProcessorDriver.Process <ServiceDeliveryReport>(ServiceLocator.Current.GetService <ISmtpCheckerProvider>().GetServiceDeliveries(this.Recipient, base.ConfigSession), ConversionProcessor.Create <ServiceDeliveryReport>(this)));
 }
        private IReadOnlyList <TDataObject> GetData <TDataObject>(IEnumerable <ComparisonFilter> filters)
        {
            IEnumerable dalRecords = base.GetDalRecords(new FfoReportingDalTask <MailTrafficSummaryReport> .DalRetrievalDelegate(ServiceLocator.Current.GetService <IDalProvider>().GetAllDataPages), this.BuildQueryFilter(filters));

            return(DataProcessorDriver.Process <TDataObject>(dalRecords, ConversionProcessor.Create <TDataObject>(this)));
        }