예제 #1
0
        public void Save(TransportQueueLogBatch serverQueueData)
        {
            if (serverQueueData == null)
            {
                throw new ArgumentNullException("serverQueueData");
            }
            TransportQueueSession.CheckInputType(serverQueueData);
            TransportQueueLogSaveDataSet instance = TransportQueueLogSaveDataSet.CreateDataSet(serverQueueData);

            this.dataProviderMtrt.Save(instance);
        }
예제 #2
0
        private static DataTable GetDataFilter(MultiValuedProperty <ComparisonFilter> dataFilterList)
        {
            BatchPropertyTable batchPropertyTable = new BatchPropertyTable();

            if (dataFilterList != null)
            {
                foreach (ComparisonFilter filter in dataFilterList)
                {
                    TransportQueueSession.AddDataFilterRow(batchPropertyTable, filter);
                }
            }
            return(batchPropertyTable);
        }
예제 #3
0
        private static DataTable GetFilter(MultiValuedProperty <Guid> guidList)
        {
            DataTable  dataTable = new DataTable("ReportFilterTable");
            DataColumn column    = new DataColumn("ReportFilter", typeof(string));

            dataTable.Columns.Add(column);
            if (guidList != null)
            {
                foreach (Guid guid in guidList)
                {
                    TransportQueueSession.AddReportFilterRow(dataTable, guid.ToString());
                }
            }
            return(dataTable);
        }
예제 #4
0
        public IPagedReader <TransportQueueStatistics> FindTransportQueueInfo(Guid forestId, string aggregatedBy, TimeSpan freshnessCutoffTime, MultiValuedProperty <Guid> adSiteIdList = null, MultiValuedProperty <Guid> dagIdList = null, MultiValuedProperty <Guid> serverIdList = null, MultiValuedProperty <ComparisonFilter> dataFilter = null, DetailsLevel detailsLevel = DetailsLevel.None, int pageSize = 100, int detailsResultsSize = 20)
        {
            if (forestId == Guid.Empty)
            {
                throw new ArgumentNullException("forestId");
            }
            if (string.IsNullOrWhiteSpace(aggregatedBy))
            {
                throw new ArgumentNullException("aggregatedBy");
            }
            QueryFilter filter = new AndFilter(new ComparisonFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.ForestIdQueryProperty, forestId),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.AggregatedByQueryProperty, aggregatedBy),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.FreshnessCutoffTimeSecondsProperty, freshnessCutoffTime.TotalSeconds),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.DetailsLevelQueryProperty, detailsLevel),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.PageSizeQueryProperty, pageSize),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.DetailsResultSizeQueryProperty, detailsResultsSize),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.ADSiteQueryProperty, TransportQueueSession.GetFilter(adSiteIdList)),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.DagQueryProperty, TransportQueueSession.GetFilter(dagIdList)),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.ServerQueryProperty, TransportQueueSession.GetFilter(serverIdList)),
                new ComparisonFilter(ComparisonOperator.Equal, TransportQueueStatisticsSchema.DataFilterQueryProperty, TransportQueueSession.GetDataFilter(dataFilter))
            });

            return(this.FindTransportQueueInfo(filter, pageSize));
        }