Ejemplo n.º 1
0
        void GetDailycupData(DailycupFullDataEntity dailycupData, Guid managerId, int beginRound, int endRound)
        {
            try
            {
                List <DailycupMatchEntity> matchlist = DailycupMatchMgr.GetMatchByRound(dailycupData.DailycupId, beginRound, endRound);
                var manager        = ManagerCore.Instance.GetManager(managerId);
                var gambleCountMax = CacheFactory.VipdicCache.GetEffectValue(manager.VipLevel, EnumVipEffect.DailycupGambleCount);
                //BuffPlusHelper.DailycupGambleCount(ref gambleCountMax);
                dailycupData.GambleCountMax = gambleCountMax;
                dailycupData.MyGambleData   = DailycupGambleMgr.GetMyGamebleData(dailycupData.DailycupId, managerId);
                if (dailycupData.MyGambleData != null)
                {
                    foreach (var entity in dailycupData.MyGambleData)
                    {
                        entity.TimeTick = ShareUtil.GetTimeTick(entity.RowTime);
                    }
                }
                foreach (var entity in matchlist)
                {
                    entity.RoundType = CalRoundType(entity.Round, beginRound);
                }

                dailycupData.Matchs = matchlist;
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("doGetDailycupData", ex);
            }
        }
Ejemplo n.º 2
0
        DailycupFullDataResponse GetDailycupDataToday(Guid managerId, DailycupInfoEntity dailycup, DateTime curTime)
        {
            DailycupFullDataEntity dailycupData = new DailycupFullDataEntity();

            dailycupData.DailycupId  = dailycup.Idx;
            dailycupData.HasNext     = true;
            dailycupData.AttendState = GetAttendState(managerId) ? 1 : 0;
            if (dailycup.Status > (int)EnumDailycupStatus.Close)
            {
                //计算开始回合
                int beginRound = BeginRound(dailycup.Round);
                int endRound   = NowShowRound(beginRound, dailycup.Round, curTime);
                dailycupData.RoundType = CalRoundType(endRound, beginRound);
                if (endRound >= beginRound)
                {
                    GetDailycupData(dailycupData, managerId, beginRound, endRound);
                    //最新轮时间
                    DateTime cTime = NowRoundEndTime(dailycup.Round, endRound);
                    if (curTime < cTime) //最新轮比分是否隐藏
                    {
                        int  maxCount       = 0;
                        bool hasGambleRight = CheckGambleCount(dailycupData.MyGambleData.Count, managerId, out maxCount);
                        foreach (DailycupMatchEntity match in dailycupData.Matchs)
                        {
                            if (match.Round == endRound)
                            {
                                match.HomeScore = -1;
                                match.AwayScore = -1;
                                if (dailycupData.MyGambleData.Exists(gamble => gamble.MatchId == match.Idx))
                                {
                                    match.Status = (int)EnumDailycupMatchStatus.HasGamble;
                                }
                                else
                                {
                                    if (hasGambleRight)
                                    {
                                        match.Status = (int)EnumDailycupMatchStatus.Gamble;
                                    }
                                    else
                                    {
                                        match.Status = (int)EnumDailycupMatchStatus.NoGambel;
                                    }
                                }
                            }
                        }
                    }
                }
            }

            var response = ResponseHelper.CreateSuccess <DailycupFullDataResponse>();

            response.Data = dailycupData;
            return(response);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Gets the full dailycup data by day.
 /// </summary>
 /// <param name="managerId">The manager.</param>
 /// <param name="dailycupId">The daily.</param>
 /// <returns></returns>
 /// <remarks>
 /// </remarks>
 /// <history>
 /// </history>
 public DailycupFullDataResponse GetDailycupData(Guid managerId, int dailycupId, DateTime curTime)
 {
     try
     {
         DailycupInfoEntity dailycup = null;
         if (dailycupId == 0)
         {
             dailycup = DailycupInfoMgr.GetByDate(DateTime.Today);
             if (dailycup == null)
             {
                 return(ResponseHelper.Create <DailycupFullDataResponse>(MessageCode.DailycupNotExists));
             }
         }
         else
         {
             dailycup = DailycupInfoMgr.GetById(dailycupId);
         }
         if (dailycup == null)
         {
             return(ResponseHelper.InvalidParameter <DailycupFullDataResponse>());
         }
         if (dailycup.RunDate == DateTime.Today) //判断是否是当日杯赛,今天的杯赛是昨天创建
         {
             return(GetDailycupDataToday(managerId, dailycup, curTime));
         }
         else
         {
             //计算开始回合
             int beginRound = BeginRound(dailycup.Round);
             int endRound   = dailycup.Round;
             DailycupFullDataEntity dailycupData = new DailycupFullDataEntity();
             dailycupData.DailycupId = dailycup.Idx;
             GetDailycupData(dailycupData, managerId, beginRound, endRound);
             foreach (DailycupMatchEntity match in dailycupData.Matchs)
             {
                 match.Status = (int)EnumDailycupMatchStatus.ShowScore;
             }
             dailycupData.RoundType   = CalRoundType(endRound, beginRound);
             dailycupData.HasNext     = dailycup.RunDate < DateTime.Today.AddDays(1);
             dailycupData.AttendState = GetAttendState(managerId) ? 1 : 0;
             var response = ResponseHelper.CreateSuccess <DailycupFullDataResponse>();
             response.Data = dailycupData;
             return(response);
         }
     }
     catch (Exception ex)
     {
         SystemlogMgr.Error("GetDailycupData", ex);
         return(ResponseHelper.Create <DailycupFullDataResponse>(MessageCode.Exception));
     }
 }