public static void SendPrize(CrossladderManagerhistoryEntity manager, EnumCrossLadderPrizeType crossLadderPrizeType, EnumMailType mailType, int seasonStatus)
        {
            if (string.IsNullOrEmpty(manager.PrizeItems))
            {
                manager.PrizeItems = "";
                MailBuilder mail = null;

                int packId = CacheFactory.CrossLadderCache.GetRankPrize(crossLadderPrizeType, manager.Rank,seasonStatus);
                if (packId <= 0)
                {
                    SystemlogMgr.Info("CrossLadderSendPrize", "no packid for rank:" + manager.Rank);
                    return;
                }
                mail = new MailBuilder(mailType, manager.ManagerId,manager.Season,manager.Rank,manager.RecordDate);
                var code = MallCore.Instance.BuildPackMail(packId, ref mail);
                if (code != MessageCode.Success)
                {
                    SystemlogMgr.Info("CrossLadderSendPrize", "build pack fail rank:" + manager.Rank + ",packId:" + packId);
                    return;
                }
                manager.PrizeItems = "pack:" + packId;
                manager.UpdateTime = DateTime.Now;
                try
                {
                    CrossladderManagerhistoryMgr.SavePrize(manager.Idx,manager.PrizeItems);
                    mail.Save(manager.SiteId);
                }
                catch (Exception ex)
                {
                    SystemlogMgr.Error("CrossLadderSendPrize", ex);
                }
            }
        }
 public static void ReSendSeasonPrize(int curSeason,int domainId)
 {
     var curSeasonEntity = CacheFactory.CrossLadderCache.GetEntity(curSeason);
     var managers = CrossladderManagerhistoryMgr.GetPrizeManager(curSeason, domainId);
     if (managers != null)
     {
         foreach (var manager in managers)
         {
             SendPrize(manager, EnumCrossLadderPrizeType.Season, EnumMailType.CrossLadderPrize, curSeasonEntity == null ? 0 : curSeasonEntity.Status);
         }
     }
 }
 void SendSeasonPrize(int curSeason,int seasonStatus)
 {
     var managers = CrossladderManagerhistoryMgr.GetPrizeManager(curSeason,_domainId);
     if (managers != null)
     {
         foreach (var manager in managers)
         {
             SendPrize(manager, EnumCrossLadderPrizeType.Season, EnumMailType.CrossLadderPrize, seasonStatus);
             if (manager.Rank < 3)
             {
                 NbManagerhonorMgr.Add(manager.ManagerId, (int)EnumMatchType.CrossLadder, 0, manager.Season,
                                         manager.Rank,null,manager.SiteId);
             }
         }
     }
 }