Пример #1
0
        public RankResponse GetRanking(string siteId, Guid managerId, int rankType, int pageIndex, int pageSize)
        {
            if (rankType == (int)EnumRankType.ArenaRank)
            {
                return(GetArenaRank(siteId, managerId, rankType, pageIndex, pageSize));
            }
            RankHandler handler = GetHandler(siteId, rankType);

            if (handler != null)
            {
                var response = handler.GetResponse(managerId, pageIndex, pageSize);
                if (response != null && response.Data != null)
                {
                    response.Data.RankType = rankType;
                    var zoneInfo = CacheFactory.ZoneCache.GetZoneInfo(siteId);
                    if (zoneInfo != null)
                    {
                        response.Data.MyZoneName = zoneInfo.Name;
                    }
                }
                return(response);
            }
            else
            {
                return(ResponseHelper.InvalidParameter <RankResponse>());
            }
        }
Пример #2
0
        public BaseRankEntity GetMyRank(string siteId, Guid managerId, int rankType)
        {
            RankHandler handler = GetHandler(siteId, rankType);

            if (handler != null)
            {
                return(handler.GetMyRankEntity(managerId));
            }
            else
            {
                return(null);
            }
        }
Пример #3
0
        public BaseRankEntity GetMyRank(Guid managerId, int rankType)
        {
            RankHandler handler = null;

            _rankHandlers.TryGetValue(rankType, out handler);
            if (handler != null)
            {
                return(handler.GetMyRankEntity(managerId));
            }
            else
            {
                return(null);
            }
        }
Пример #4
0
        public RankResponse GetRanking(Guid managerId, int rankType, int pageIndex, int pageSize)
        {
            RankHandler handler = null;

            _rankHandlers.TryGetValue(rankType, out handler);
            if (handler != null)
            {
                var response = handler.GetResponse(managerId, pageIndex, pageSize);
                if (response != null && response.Data != null)
                {
                    response.Data.RankType = rankType;
                }
                return(response);
            }
            else
            {
                return(ResponseHelper.InvalidParameter <RankResponse>());
            }
        }
Пример #5
0
        public CrossRankThread(int b)
        {
            _rankRecordDate   = DateTime.Today;
            _rankHandlers     = new Dictionary <int, Dictionary <int, RankHandler> >();
            _siterankHandlers = new Dictionary <string, Dictionary <int, RankHandler> >();
            var domainList = CrossSiteCache.Instance().GetDomainList();

            if (domainList != null && domainList.Count > 0)
            {
                foreach (var i in domainList)
                {
                    if (i > 0)
                    {
                        _rankHandlers.Add(i, new Dictionary <int, RankHandler>());
                        var rankHandler1 = new RankHandler(EnumRankType.CrossCrowdRank, i);
                        var rankHandler2 = new RankHandler(EnumRankType.CrossLadderRank, i);
                        var rankHandler3 = new RankHandler(EnumRankType.CrossLadderDailyRank, i);

                        _rankHandlers[i].Add((int)EnumRankType.CrossCrowdRank, rankHandler1);
                        _rankHandlers[i].Add((int)EnumRankType.CrossLadderRank, rankHandler2);
                        _rankHandlers[i].Add((int)EnumRankType.CrossLadderDailyRank, rankHandler3);

                        var siteList = CrossSiteCache.Instance().GetSiteListByDomain(i);
                        if (siteList != null && siteList.Count > 0)
                        {
                            foreach (var site in siteList)
                            {
                                _siterankHandlers.Add(site, new Dictionary <int, RankHandler>());
                                _siterankHandlers[site].Add((int)EnumRankType.CrossCrowdRank, rankHandler1);
                                _siterankHandlers[site].Add((int)EnumRankType.CrossLadderRank, rankHandler2);
                                _siterankHandlers[site].Add((int)EnumRankType.CrossLadderDailyRank, rankHandler3);
                            }
                        }
                    }
                }
            }
        }