示例#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
        public static TransportQueueLogSaveDataSet CreateDataSet(TransportQueueLogBatch batch)
        {
            TransportQueueLogSaveDataSet transportQueueLogSaveDataSet = new TransportQueueLogSaveDataSet();

            transportQueueLogSaveDataSet[TransportQueueLogSaveDataSetSchema.ForestIdProperty]                = batch.ForestId;
            transportQueueLogSaveDataSet[TransportQueueLogSaveDataSetSchema.ServerIdProperty]                = batch.ServerId;
            transportQueueLogSaveDataSet[TransportQueueLogSaveDataSetSchema.SnapshotDatetimeProperty]        = batch.SnapshotDatetime;
            transportQueueLogSaveDataSet[TransportQueueLogSaveDataSetSchema.ServerPropertiesTableProperty]   = TransportQueueLogSaveDataSet.GetServerProperties(batch);
            transportQueueLogSaveDataSet[TransportQueueLogSaveDataSetSchema.QueueLogPropertiesTableProperty] = TransportQueueLogSaveDataSet.GetQueueLogProperties(batch);
            return(transportQueueLogSaveDataSet);
        }
示例#3
0
        private static DataTable GetServerProperties(TransportQueueLogBatch batch)
        {
            PropertyTable propertyTable = new PropertyTable();

            foreach (PropertyDefinition propertyDefinition in batch.GetPropertyDefinitions(false))
            {
                if (string.Compare(propertyDefinition.Name, TransportQueueLogSaveDataSetSchema.QueueLogPropertiesTableProperty.Name, StringComparison.OrdinalIgnoreCase) != 0)
                {
                    propertyTable.AddPropertyValue(propertyDefinition, batch[propertyDefinition]);
                }
            }
            return(propertyTable);
        }
示例#4
0
        private static DataTable GetQueueLogProperties(TransportQueueLogBatch batch)
        {
            BatchPropertyTable batchPropertyTable = new BatchPropertyTable();

            if (batch.QueueLogs != null)
            {
                foreach (TransportQueueLog transportQueueLog in batch.QueueLogs)
                {
                    foreach (PropertyDefinition propertyDefinition in DalHelper.GetPropertyDefinitions(transportQueueLog, true))
                    {
                        if (!propertyDefinition.Type.Equals(typeof(DataTable)))
                        {
                            batchPropertyTable.AddPropertyValue(transportQueueLog.QueueId, propertyDefinition, transportQueueLog[propertyDefinition]);
                        }
                    }
                }
            }
            return(batchPropertyTable);
        }