/// <summary> /// Returns the available shard /// </summary> /// <param name="obj"></param> /// <returns></returns> public long SelectShardIdForExistingObject(ShardStartegyData obj) { long shardId = 0; switch (obj.StrategyType) { case Strategy.Sequential: { var app = obj.App; if (app != null && app.Shards.Count > 0) { // var shardWileList = new SqlDataReader().GetShardStrategy(); foreach (var shard in app.Shards) { // shardId = GetSequentialStrategy(shard.shard_id,shardWileList); if (shard.total_count < shard.max_count) { shardId = shard.shard_id; } if (shardId > 0) { break; } } } } break; case Strategy.Regional: break; } return shardId; }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public long SelectShardIdForNewObject(ShardStartegyData obj) { throw new System.NotImplementedException(); }