public void Save(MessageTraceBatch messageTraceBatch) { if (messageTraceBatch == null) { throw new ArgumentNullException("messageTraceBatch"); } IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket != null) { Dictionary <object, List <MessageTrace> > dictionary = DalHelper.SplitByPhysicalInstance <MessageTrace>(hashBucket, MessageTraceSchema.OrganizationalUnitRootProperty, messageTraceBatch.ToList <MessageTrace>(), CommonMessageTraceSchema.HashBucketProperty); foreach (object obj in dictionary.Keys) { dictionary[obj].Sort(); IEnumerable <List <MessageTrace> > optimizedBathesForSave = this.GetOptimizedBathesForSave(dictionary[obj]); foreach (List <MessageTrace> messageList in optimizedBathesForSave) { MessageTraceForSaveDataSet instance = MessageTraceForSaveDataSet.CreateDataSet(obj, null, messageList, messageTraceBatch.PersistentStoreCopyId); this.DataProvider.Save(instance); } } return; } if (messageTraceBatch.OrganizationalUnitRoot == null) { throw new ArgumentException("MessageTraceBatch.OrganizationalUnitRoot should have valid TenantId"); } foreach (MessageTrace messageTrace in messageTraceBatch) { messageTrace[CommonMessageTraceSchema.HashBucketProperty] = 1; } MessageTraceForSaveDataSet instance2 = MessageTraceForSaveDataSet.CreateDataSet(null, messageTraceBatch.OrganizationalUnitRoot, messageTraceBatch, null); this.DataProvider.Save(instance2); }
public void Save(IEnumerable <MessageTrafficTypeMapping> messageTrafficTypeMappingBatch, int?persistentStoreCopyId = null) { if (messageTrafficTypeMappingBatch == null) { throw new ArgumentNullException("messageTrafficTypeMappingBatch"); } IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket == null) { throw new NotSupportedException(string.Format("Save(MessageTrafficTypeMapping) is not supported for DataProvider: {0}", this.DataProvider.GetType())); } foreach (MessageTrafficTypeMapping messageTrafficTypeMapping in messageTrafficTypeMappingBatch) { messageTrafficTypeMapping[CommonReportingSchema.DomainHashKeyProp] = new byte[0]; messageTrafficTypeMapping[CommonReportingSchema.DataSourceProperty] = (messageTrafficTypeMapping.DataSource ?? "EXO"); } Dictionary <object, List <MessageTrafficTypeMapping> > dictionary = DalHelper.SplitByPhysicalInstance <MessageTrafficTypeMapping>(hashBucket, CommonReportingSchema.OrganizationalUnitRootProperty, messageTrafficTypeMappingBatch, DalHelper.HashBucketProp); foreach (object obj in dictionary.Keys) { MessageTrafficTypeMappings messageTrafficTypeMappings = new MessageTrafficTypeMappings(dictionary[obj]); messageTrafficTypeMappings[DalHelper.PhysicalInstanceKeyProp] = obj; if (persistentStoreCopyId != null) { messageTrafficTypeMappings[DalHelper.FssCopyIdProp] = persistentStoreCopyId; } this.DataProvider.Save(messageTrafficTypeMappings); } }
internal void Save(IEnumerable <AggPolicyTrafficData> aggPolicyTrafficDataBatch, int?persistentStoreCopyId = null) { if (aggPolicyTrafficDataBatch == null) { throw new ArgumentNullException("aggPolicyTrafficDataBatch"); } IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket == null) { throw new NotSupportedException(string.Format("Save(AggPolicyTrafficData) is not supported for DataProvider: {0}", this.DataProvider.GetType())); } foreach (AggPolicyTrafficData aggPolicyTrafficData in aggPolicyTrafficDataBatch) { aggPolicyTrafficData[CommonReportingSchema.DomainHashKeyProp] = new byte[0]; aggPolicyTrafficData[CommonReportingSchema.DataSourceProperty] = (aggPolicyTrafficData.DataSource ?? "EXO"); } Dictionary <object, List <AggPolicyTrafficData> > dictionary = DalHelper.SplitByPhysicalInstance <AggPolicyTrafficData>(hashBucket, CommonReportingSchema.OrganizationalUnitRootProperty, aggPolicyTrafficDataBatch, DalHelper.HashBucketProp); foreach (object obj in dictionary.Keys) { AggPolicyTrafficDatas aggPolicyTrafficDatas = new AggPolicyTrafficDatas(dictionary[obj]); aggPolicyTrafficDatas[DalHelper.PhysicalInstanceKeyProp] = obj; if (persistentStoreCopyId != null) { aggPolicyTrafficDatas[DalHelper.FssCopyIdProp] = persistentStoreCopyId; } this.DataProvider.Save(aggPolicyTrafficDatas); } }
public object GetPartitionId(string hashKey) { IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket == null) { throw new NotSupportedException(string.Format("Not supported for DataProvider type: {0}", this.DataProvider.GetType())); } int logicalHash = hashBucket.GetLogicalHash(hashKey); return(hashBucket.GetPhysicalInstanceIdByHashValue(logicalHash)); }
public void Save(UnifiedPolicyTraceBatch traceBatch) { if (traceBatch == null) { throw new ArgumentNullException("traceBatch"); } IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket != null) { Dictionary <object, List <UnifiedPolicyTrace> > dictionary = DalHelper.SplitByPhysicalInstance <UnifiedPolicyTrace>(hashBucket, UnifiedPolicyCommonSchema.OrganizationalUnitRootProperty, traceBatch.ToList <UnifiedPolicyTrace>(), UnifiedPolicyCommonSchema.HashBucketProperty); foreach (object obj in dictionary.Keys) { dictionary[obj].Sort(); UnifiedPolicyForSaveDataSet instance = UnifiedPolicyForSaveDataSet.CreateDataSet(obj, dictionary[obj], traceBatch.PersistentStoreCopyId); this.DataProvider.Save(instance); } } }
internal void Save(IEnumerable <DeviceData> deviceDataBatch, int?persistentStoreCopyId = null) { if (deviceDataBatch == null) { throw new ArgumentNullException("deviceDataBatch"); } IHashBucket hashBucket = this.DataProvider as IHashBucket; if (hashBucket == null) { foreach (DeviceData deviceData in deviceDataBatch) { deviceData[DeviceCommonSchema.HashBucketProperty] = 1; } using (IEnumerator <DeviceData> enumerator2 = deviceDataBatch.GetEnumerator()) { while (enumerator2.MoveNext()) { DeviceData instance = enumerator2.Current; this.DataProvider.Save(instance); } return; } } Dictionary <object, List <DeviceData> > dictionary = DalHelper.SplitByPhysicalInstance <DeviceData>(hashBucket, DeviceCommonSchema.OrganizationalUnitRootProperty, deviceDataBatch, DeviceCommonSchema.HashBucketProperty); foreach (object obj in dictionary.Keys) { DeviceDataBatch deviceDataBatch2 = new DeviceDataBatch(dictionary[obj]); deviceDataBatch2[DalHelper.PhysicalInstanceKeyProp] = obj; if (persistentStoreCopyId != null) { deviceDataBatch2[DalHelper.FssCopyIdProp] = persistentStoreCopyId; } this.DataProvider.Save(deviceDataBatch2); } }