public void Save(TransportQueueLogBatch serverQueueData) { if (serverQueueData == null) { throw new ArgumentNullException("serverQueueData"); } TransportQueueSession.CheckInputType(serverQueueData); TransportQueueLogSaveDataSet instance = TransportQueueLogSaveDataSet.CreateDataSet(serverQueueData); this.dataProviderMtrt.Save(instance); }
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); }
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); }
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); }