예제 #1
0
        /// <summary>
        /// Execute the operation against GSM in the current transaction scope.
        /// </summary>
        /// <param name="ts">Transaction scope.</param>
        /// <returns>
        /// Results of the operation.
        /// </returns>
        public override IStoreResults DoGlobalExecute(IStoreTransactionScope ts)
        {
            IEnumerable <IStoreMapping> mappingsToReplace = this.GetMappingsToPurge(ts);

            return(ts.ExecuteOperation(
                       StoreOperationRequestBuilder.SpReplaceShardMappingsGlobal,
                       StoreOperationRequestBuilder.ReplaceShardMappingsGlobalWithoutLogging(
                           _shardMap,
                           mappingsToReplace.ToArray(),
                           _mappingsToAdd.ToArray())));
        }