예제 #1
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);
        }