Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 public long SelectShardIdForNewObject(ShardStartegyData obj)
 {
     throw new System.NotImplementedException();
 }