MessageCode SaveMatch(NbManagerEntity manager, NbManagerextraEntity managerex, BaseMatchData pkmatchData, Guid lotteryMatchId, int win, int lose, int draw, int prizeExp, int prizeCoin, int prizeItemCode, string prizeItemString , bool isrevenge, long revengeRecordId, ref long outRevengeRecordId, PlayerkillInfoEntity info, int pointCount) { if (manager == null) { return(MessageCode.NbUpdateFail); } try { using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); var messageCode = Tran_SaveMatch(transactionManager.TransactionObject, manager, managerex, pkmatchData, lotteryMatchId, win, lose, draw, prizeExp, prizeCoin, prizeItemCode, prizeItemString , isrevenge, revengeRecordId, ref outRevengeRecordId, info, pointCount); if (messageCode == ShareUtil.SuccessCode) { transactionManager.Commit(); } else { transactionManager.Rollback(); } return(messageCode); } } catch (Exception ex) { SystemlogMgr.Error("SavePlayerKillMatch", ex); return(MessageCode.Exception); } }
/// <summary> /// 将IDataReader的当前记录读取到NbManagerextraEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public NbManagerextraEntity LoadSingleRow(IDataReader reader) { var obj = new NbManagerextraEntity(); obj.ManagerId = (System.Guid)reader["ManagerId"]; obj.Stamina = (System.Int32)reader["Stamina"]; obj.StaminaMax = (System.Int32)reader["StaminaMax"]; obj.ResumeStaminaTime = (System.DateTime)reader["ResumeStaminaTime"]; obj.HelpTrainCount = (System.Int32)reader["HelpTrainCount"]; obj.ByHelpTrainCount = (System.Int32)reader["ByHelpTrainCount"]; obj.RecordDate = (System.DateTime)reader["RecordDate"]; obj.Kpi = (System.Int32)reader["Kpi"]; obj.FunctionList = (System.String)reader["FunctionList"]; obj.GuideBuffRecord = (System.String)reader["GuideBuffRecord"]; obj.HasGuidePrize = (System.Boolean)reader["HasGuidePrize"]; obj.GuidePrizeExpired = (System.DateTime)reader["GuidePrizeExpired"]; obj.PayFirstFlag = (System.Boolean)reader["PayFirstFlag"]; obj.PayContinuDate = (System.DateTime)reader["PayContinuDate"]; obj.Status = (System.Int32)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; obj.Vigor = (System.Int32)reader["Vigor"]; obj.LevelGiftExpired = (System.DateTime)reader["LevelGiftExpired"]; obj.GuidePrizeCount = (System.Int32)reader["GuidePrizeCount"]; obj.GuidePrizeLastDate = (System.DateTime)reader["GuidePrizeLastDate"]; obj.Scouting = (System.Int32)reader["Scouting"]; obj.ScoutingUpdate = (System.DateTime)reader["ScoutingUpdate"]; obj.LevelGiftStep = (System.Int32)reader["LevelGiftStep"]; obj.LevelGiftExpired2 = (System.DateTime)reader["LevelGiftExpired2"]; obj.LevelGiftExpired3 = (System.DateTime)reader["LevelGiftExpired3"]; obj.Active = (System.Int32)reader["Active"]; obj.ScoutingPointFirst = (System.Boolean)reader["ScoutingPointFirst"]; obj.FriendInviteCount = (System.Int32)reader["FriendInviteCount"]; obj.VeteranNumber = (System.Int32)reader["VeteranNumber"]; obj.StaminaGiftStatus = (System.Int32)reader["StaminaGiftStatus"]; obj.GuideItemCode = (System.Int32)reader["GuideItemCode"]; obj.IsGuideLottery = (System.Boolean)reader["IsGuideLottery"]; obj.LeagueScore = (System.Int32)reader["LeagueScore"]; obj.CoinScouting = (System.Int32)reader["CoinScouting"]; obj.CoinScoutingUpdate = (System.DateTime)reader["CoinScoutingUpdate"]; obj.FriendScouting = (System.Int32)reader["FriendScouting"]; obj.FriendScoutingUpdate = (System.DateTime)reader["FriendScoutingUpdate"]; obj.OpenBoxCount = (System.Int32)reader["OpenBoxCount"]; obj.SkillPoint = (System.Int32)reader["SkillPoint"]; obj.SkillType = (System.Int32)reader["SkillType"]; obj.ResetPotentialNumber = (System.Int32)reader["ResetPotentialNumber"]; return(obj); }
/// <summary> /// Cals the current stamina. /// </summary> /// <param name="managerExtra">The managerExtra.</param> public static void CalCurrentStamina(NbManagerextraEntity managerExtra, int level, int vipLevel) { if (managerExtra == null) { return; } DateTime newResumeTime = DateTime.Now; managerExtra.StaminaMax = CacheFactory.ManagerDataCache.GetMaxStamina(level); int newStamina = CalCurrentStamina(managerExtra.ResumeStaminaTime, out newResumeTime, managerExtra.Stamina, managerExtra.StaminaMax, vipLevel); managerExtra.Stamina = newStamina; managerExtra.ResumeStaminaTime = newResumeTime; }
/// <summary> /// GetById /// </summary> /// <param name="managerId">managerId</param> /// <returns>NbManagerextraEntity</returns> /// <remarks>2016/5/26 20:52:55</remarks> public NbManagerextraEntity GetById(System.Guid managerId) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_NbManagerextra_GetById"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, managerId); NbManagerextraEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/5/26 20:52:55</remarks> public bool Update(NbManagerextraEntity entity, DbTransaction trans = null) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_NbManagerextra_Update"); database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId); database.AddInParameter(commandWrapper, "@Stamina", DbType.Int32, entity.Stamina); database.AddInParameter(commandWrapper, "@StaminaMax", DbType.Int32, entity.StaminaMax); database.AddInParameter(commandWrapper, "@ResumeStaminaTime", DbType.DateTime, entity.ResumeStaminaTime); database.AddInParameter(commandWrapper, "@HelpTrainCount", DbType.Int32, entity.HelpTrainCount); database.AddInParameter(commandWrapper, "@ByHelpTrainCount", DbType.Int32, entity.ByHelpTrainCount); database.AddInParameter(commandWrapper, "@RecordDate", DbType.DateTime, entity.RecordDate); database.AddInParameter(commandWrapper, "@Kpi", DbType.Int32, entity.Kpi); database.AddInParameter(commandWrapper, "@FunctionList", DbType.AnsiString, entity.FunctionList); database.AddInParameter(commandWrapper, "@GuideBuffRecord", DbType.AnsiString, entity.GuideBuffRecord); database.AddInParameter(commandWrapper, "@HasGuidePrize", DbType.Boolean, entity.HasGuidePrize); database.AddInParameter(commandWrapper, "@GuidePrizeExpired", DbType.DateTime, entity.GuidePrizeExpired); database.AddInParameter(commandWrapper, "@PayFirstFlag", DbType.Boolean, entity.PayFirstFlag); database.AddInParameter(commandWrapper, "@PayContinuDate", DbType.DateTime, entity.PayContinuDate); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); database.AddInParameter(commandWrapper, "@Vigor", DbType.Int32, entity.Vigor); database.AddInParameter(commandWrapper, "@LevelGiftExpired", DbType.DateTime, entity.LevelGiftExpired); database.AddInParameter(commandWrapper, "@GuidePrizeCount", DbType.Int32, entity.GuidePrizeCount); database.AddInParameter(commandWrapper, "@GuidePrizeLastDate", DbType.DateTime, entity.GuidePrizeLastDate); database.AddInParameter(commandWrapper, "@Scouting", DbType.Int32, entity.Scouting); database.AddInParameter(commandWrapper, "@ScoutingUpdate", DbType.DateTime, entity.ScoutingUpdate); database.AddInParameter(commandWrapper, "@LevelGiftStep", DbType.Int32, entity.LevelGiftStep); database.AddInParameter(commandWrapper, "@LevelGiftExpired2", DbType.DateTime, entity.LevelGiftExpired2); database.AddInParameter(commandWrapper, "@LevelGiftExpired3", DbType.DateTime, entity.LevelGiftExpired3); database.AddInParameter(commandWrapper, "@Active", DbType.Int32, entity.Active); database.AddInParameter(commandWrapper, "@ScoutingPointFirst", DbType.Boolean, entity.ScoutingPointFirst); database.AddInParameter(commandWrapper, "@FriendInviteCount", DbType.Int32, entity.FriendInviteCount); database.AddInParameter(commandWrapper, "@VeteranNumber", DbType.Int32, entity.VeteranNumber); database.AddInParameter(commandWrapper, "@StaminaGiftStatus", DbType.Int32, entity.StaminaGiftStatus); database.AddInParameter(commandWrapper, "@GuideItemCode", DbType.Int32, entity.GuideItemCode); database.AddInParameter(commandWrapper, "@IsGuideLottery", DbType.Boolean, entity.IsGuideLottery); database.AddInParameter(commandWrapper, "@LeagueScore", DbType.Int32, entity.LeagueScore); database.AddInParameter(commandWrapper, "@CoinScouting", DbType.Int32, entity.CoinScouting); database.AddInParameter(commandWrapper, "@CoinScoutingUpdate", DbType.DateTime, entity.CoinScoutingUpdate); database.AddInParameter(commandWrapper, "@FriendScouting", DbType.Int32, entity.FriendScouting); database.AddInParameter(commandWrapper, "@FriendScoutingUpdate", DbType.DateTime, entity.FriendScoutingUpdate); database.AddInParameter(commandWrapper, "@OpenBoxCount", DbType.Int32, entity.OpenBoxCount); database.AddInParameter(commandWrapper, "@SkillPoint", DbType.Int32, entity.SkillPoint); database.AddInParameter(commandWrapper, "@SkillType", DbType.Int32, entity.SkillType); database.AddInParameter(commandWrapper, "@ResetPotentialNumber", DbType.Int32, entity.ResetPotentialNumber); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.ManagerId = (System.Guid)database.GetParameterValue(commandWrapper, "@ManagerId"); return(Convert.ToBoolean(results)); }
public static List <PopMessageEntity> SaveManagerAfter(NbManagerEntity manager, bool sendByChat, NbManagerextraEntity extra = null, int currentPoint = -1, int tourLeagueId = -1) { if (manager == null) { return(null); } List <PopMessageEntity> popList = new List <PopMessageEntity>(); if (manager.AddCoin > 0 || manager.AddExp > 0) { //ShadowMgr.SaveCoinCharge(manager.Idx, manager.AddCoin, manager.AddExp, manager.IsLevelup, manager.Level, manager.CoinSourceType, manager.CoinOrderId); } if (manager.IsLevelup) { // ChatHelper.SendOpenLevelGiftPop(manager); if (extra == null) { extra = ManagerCore.Instance.GetManagerExtra(manager.Idx); } CalCurrentStamina(extra, manager.Level, manager.VipLevel); if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; //extra.Stamina += ManagerLevelupAddStamina; //if (extra.Stamina > extra.StaminaMax) // extra.Stamina = extra.StaminaMax; NbManagerextraMgr.Update(extra); } } //var pop1 = ChatHelper.SendUpdateManagerInfoPop(manager, extra, sendByChat, currentPoint, tourLeagueId); //if (pop1 != null) // popList.Add(pop1); //var pop2 = ChatHelper.SendOpenFuncPop(manager, sendByChat); //if (pop2 != null) // popList.Add(pop2); //var pop3 = ChatHelper.SendOpenTaskPop(manager, sendByChat); //if (pop3 != null) // popList.Add(pop3); DeleteOpenFunctionCache(manager.Idx); manager.IsLevelup = false; return(popList); }
public static List <PopMessageEntity> SaveManagerAfter(NbManagerEntity manager, NbManagerextraEntity extra = null, bool sendByChat = false) { return(SaveManagerAfter(manager, sendByChat, extra)); }
public static List <PopMessageEntity> SaveManagerAfter(NbManagerEntity manager, NbManagerextraEntity extra, DbTransaction transaction) { if (manager == null) { return(null); } List <PopMessageEntity> popList = new List <PopMessageEntity>(); if (manager.AddCoin > 0 || manager.AddExp > 0) { //ShadowMgr.SaveCoinCharge(manager.Idx, manager.AddCoin, manager.AddExp, manager.IsLevelup, manager.Level, manager.CoinSourceType, manager.CoinOrderId); } if (manager.IsLevelup) { // ChatHelper.SendOpenLevelGiftPop(manager); if (extra == null) { extra = ManagerCore.Instance.GetManagerExtra(manager.Idx); } CalCurrentStamina(extra, manager.Level, manager.VipLevel); if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; // extra.Stamina += ManagerLevelupAddStamina; //if (extra.Stamina > extra.StaminaMax) // extra.Stamina = extra.StaminaMax; extra.ResumeStaminaTime = DateTime.Now; NbManagerextraMgr.Update(extra, transaction); } } DeleteOpenFunctionCache(manager.Idx); manager.IsLevelup = false; return(popList); }
public static bool SaveManagerData(NbManagerEntity manager, NbManagerextraEntity extra, bool openTask = true, DbTransaction transaction = null, string zoneId = "") { try { var functionList = manager.FunctionList; if (manager.IsLevelup) { var function = CacheFactory.ManagerDataCache.GetFunctionList(manager.Level); if (function != null) { if (function.FunctionId > 0) { manager.AddOpenFunc(function.FunctionId); } functionList = function.FunctionList; if (extra != null) { extra.FunctionList = functionList; } } } int returnCode = -2; var levelGiftExpired = ShareUtil.BaseTime; var levelGiftExpired2 = ShareUtil.BaseTime; var levelGiftExpired3 = ShareUtil.BaseTime; int step = 0; if (manager.IsLevelup) { step = CacheFactory.ManagerDataCache.GetLevelgiftStep(manager.Level); if (step > 0) { manager.OpenLevelGift = true; switch (step) { case 1: levelGiftExpired = DateTime.Now.AddHours(72); break; case 2: levelGiftExpired2 = DateTime.Now.AddHours(72); break; case 3: levelGiftExpired3 = DateTime.Now.AddHours(72); break; } if (extra != null) { extra.LevelGiftExpired = levelGiftExpired; extra.LevelGiftExpired2 = levelGiftExpired2; extra.LevelGiftExpired3 = levelGiftExpired3; extra.LevelGiftStep = step; } } } NbManagerMgr.Save(manager.Idx, manager.Level, manager.EXP, manager.Sophisticate, manager.Score, manager.Coin, manager.Reiki, manager.TeammemberMax, manager.TrainSeatMax, manager.VipLevel, functionList, levelGiftExpired, levelGiftExpired2, levelGiftExpired3, step, manager.RowVersion, ref returnCode, transaction, zoneId); if (returnCode != 0) { return(false); } manager.FunctionList = functionList; try { if (manager.IsLevelup) { var code = SkillCardRules.SetSkillMapByManagerLevel(manager, transaction); if (code != MessageCode.Success) { return(false); } var addSkillPoint = CacheFactory.ManagerDataCache.GetAddSkillPointByLevel(manager.Level); if (extra != null) { extra.SkillPoint += addSkillPoint; } else { if (!NbManagerextraMgr.AddSkillPoint(manager.Idx, addSkillPoint, transaction)) { return(false); } } CalCurrentStamina(extra, manager.Level, manager.VipLevel); if (extra == null) { extra = ManagerCore.Instance.GetManagerExtra(manager.Idx); if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; // extra.Stamina += ManagerLevelupAddStamina; //if (extra.Stamina > extra.StaminaMax) // extra.Stamina = extra.StaminaMax; extra.ResumeStaminaTime = DateTime.Now; NbManagerextraMgr.Update(extra, transaction); } } else { if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; extra.ResumeStaminaTime = DateTime.Now; } } //if (TaskCore.Instance.CheckOpenDailyTask(manager.Level)) //{ // var daily = TaskDailyrecordMgr.GetById(manager.Idx, zoneId); // if (daily == null) // { // var entity = TaskCore.Instance.CreateDailyTask(manager.Idx); // if (!TaskDailyrecordMgr.Insert(entity, transaction, zoneId)) // return false; // } //} if (openTask) { List <TaskRecordEntity> newTasks = new List <TaskRecordEntity>(); TaskCore.Instance.GetLevelOpenTasks(manager.Idx, manager.Level, ref newTasks, zoneId); if (newTasks.Count > 0) { foreach (var entity in newTasks) { TaskCore.Instance.HandleOpenTaskStatus(entity, zoneId); if (!TaskRecordMgr.Add(entity, transaction, zoneId)) { return(false); } } manager.HasOpenTask = true; } } //如果等级为15级 向竞技场注册用户 //获取竞技场等级限制 //if (manager.Level == level.Values) //{ //} } } catch (Exception ex) { SystemlogMgr.ErrorByZone("SaveManagerData Task pending", ex, zoneId); return(false); } return(true); } catch (Exception ex) { SystemlogMgr.ErrorByZone("SaveManagerData", ex, zoneId); return(false); } finally { ManagerCore.Instance.DeleteCache(manager.Idx); } }
public static bool SaveManagerData(NbManagerEntity manager, NbManagerextraEntity extra, DbTransaction transaction, string zoneId = "") { return(SaveManagerData(manager, extra, true, transaction, zoneId)); }
public static bool Update(NbManagerextraEntity nbManagerextraEntity, DbTransaction trans = null, string zoneId = "") { var provider = new NbManagerextraProvider(zoneId); return(provider.Update(nbManagerextraEntity, trans)); }
MessageCode Tran_SaveMatch(DbTransaction transaction, NbManagerEntity manager, NbManagerextraEntity managerex, BaseMatchData pkmatchData, Guid lotteryMatchId, int win, int lose, int draw, int prizeExp, int prizeCoin, int prizeItemCode, string prizeItemString , bool isrevenge, long revengeRecordId, ref long outRevengeRecordId, PlayerkillInfoEntity info, int prizeItemCount) { if (prizeCoin > 0 || prizeExp > 0) { if (!ManagerUtil.SaveManagerData(manager, managerex, transaction)) { return(MessageCode.NbUpdateFail); } else { ManagerUtil.SaveManagerAfter(manager, managerex, transaction); } if (!NbManagerextraMgr.Update(managerex, transaction)) { return(MessageCode.NbUpdateFail); } } PlayerkillInfoMgr.Update(info); PlayerkillInfoMgr.SaveFightResult(pkmatchData.Home.ManagerId, manager.Logo, pkmatchData.Away.ManagerId, lotteryMatchId, win, lose, draw, DateTime.Now, pkmatchData.MatchId, pkmatchData.Home.Name, pkmatchData.Away.Name, pkmatchData.Home.Score, pkmatchData.Away.Score, prizeExp, prizeCoin, prizeItemCode , prizeItemString, isrevenge, revengeRecordId, prizeItemCount, ref outRevengeRecordId, transaction); return(MessageCode.Success); }
private MessageCode SaveMatchConfirm(NbManagerEntity manager, ItemPackageFrame package, LeagueRecordEntity leagueRecordInfo, LeagueManagerrecordEntity nextManagerRecord, LeagueManagerrecordEntity leagueManagerRecord, int point, bool isUpdatenextManagerRecord, LaegueManagerinfoEntity leagueManagerInfo, LeagueFightMapFrame fightMap, NbManagerextraEntity managerExtra, LeagueWincountrecordEntity leagueWinCount, DbTransaction trans) { if (!ManagerUtil.SaveManagerData(manager, managerExtra, trans)) { return(MessageCode.NbUpdateFail); } if (!NbManagerextraMgr.Update(managerExtra, trans)) { return(MessageCode.NbUpdateFail); } if (package != null) { if (!package.Save(trans)) { return(MessageCode.NbUpdateFail); } package.Shadow.Save(); } if (!LeagueRecordMgr.Update(leagueRecordInfo, trans)) { return(MessageCode.NbUpdateFail); } if (isUpdatenextManagerRecord) { if (nextManagerRecord != null) { if (!LeagueManagerrecordMgr.Update(nextManagerRecord, trans)) { return(MessageCode.NbUpdateFail); } } } if (!LaegueManagerinfoMgr.Update(leagueManagerInfo, trans)) { return(MessageCode.NbUpdateFail); } if (!LeagueManagerrecordMgr.Update(leagueManagerRecord, trans)) { return(MessageCode.NbUpdateFail); } if (point > 0) { var code = PayCore.Instance.AddBonus(manager.Idx, point, EnumChargeSourceType.LeaguePrize, ShareUtil.GenerateComb().ToString(), trans); return(code); } if (!fightMap.SaveFIghtMap(trans)) { return(MessageCode.NbUpdateFail); } if (!LeagueWincountrecordMgr.Update(leagueWinCount, trans)) { return(MessageCode.NbUpdateFail); } return(MessageCode.Success); }
/// <summary> /// 确认比赛结果 /// </summary> /// <param name="manager"></param> /// <param name="leagueRecordInfo"></param> /// <returns></returns> public LeaguePrizeResponse MatchConfirm(NbManagerEntity manager, LeagueRecordEntity leagueRecordInfo, LeagueManagerrecordEntity leagueManagerRecord, LaegueManagerinfoEntity lagueManagerInfo, BaseMatchData matchData, LeagueFightMapFrame fightMap, NbManagerextraEntity managerExtra, LeagueWincountrecordEntity leagueWinCount) { //发放玩家单场比赛奖励--------------------------------------------------- int winType = 0; if (matchData.Home.ManagerId == manager.Idx) //玩家为主队 { if (matchData.Home.Score > matchData.Away.Score) //主队胜 { winType = 1; } else if (matchData.Home.Score == matchData.Away.Score) //平 { winType = 2; } else //负 { winType = 3; } } else //玩家为客队 { if (matchData.Home.Score < matchData.Away.Score)//客队胜 { winType = 1; } else if (matchData.Home.Score == matchData.Away.Score) //平 { winType = 2; } else//负 { winType = 3; } } var managerPrizes = LeagueCache.Instance.GetLeaguePrize(leagueRecordInfo.LaegueId, winType); int exp = 0; int coin = 0; int score = 0; ItemPackageFrame package = null; int point = 0; int vipExp = 0; SendPrize(managerPrizes, manager, leagueRecordInfo.LaegueId, ref exp, ref coin, ref score, ref package, ref point, ref vipExp); ManagerUtil.AddManagerData(manager, exp, coin, 0, EnumCoinChargeSourceType.LeaguePrize, ShareUtil.CreateSequential().ToString()); if (lagueManagerInfo == null) { lagueManagerInfo = LaegueManagerinfoMgr.GetById(manager.Idx); } lagueManagerInfo.SumScore += score; leagueManagerRecord.MatchId = new Guid(); leagueManagerRecord.UpdateTime = DateTime.Now; bool isLastWheel = false; leagueManagerRecord.Score += score; //本联赛最后一轮 if (leagueRecordInfo.Schedule >= leagueManagerRecord.MaxWheelNumber) { isLastWheel = true; leagueManagerRecord.IsPass = true; leagueManagerRecord.PassNumber += 1; } int myRank = 0; int myScore = 0; //更新排名 fightMap.UpdateRankList(); fightMap.GetRank(ref myRank, ref myScore); leagueRecordInfo.Score += score; leagueRecordInfo.Rank = myRank; //---------------------------- leagueRecordInfo.Schedule++; leagueRecordInfo.IsSend = true; leagueRecordInfo.UpdateTime = DateTime.Now; //本联赛最后一轮,如果是冠军解锁下一轮 bool isUpdatenextManagerRecord = false; LeagueManagerrecordEntity nextManagerRecord = null; if (isLastWheel) { if (leagueRecordInfo.Rank == 1) { leagueManagerRecord.LastPrizeLeagueRecordId = leagueManagerRecord.LeagueRecordId; if (leagueRecordInfo.LaegueId != 8) { nextManagerRecord = LeagueManagerrecordMgr.GetManagerMarkInfo(manager.Idx, leagueRecordInfo.LaegueId + 1); nextManagerRecord.IsLock = false; isUpdatenextManagerRecord = true; } //记录成就相关数据 AchievementTaskCore.Instance.UpdateLeagueScore(manager.Idx, leagueRecordInfo.LaegueId, myScore); TaskHandler.Instance.LeagueChampionScore(manager.Idx); } } using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetConnectionString(EnumDbType.Main))) { transactionManager.BeginTransaction(); var messageCode = SaveMatchConfirm(manager, package, leagueRecordInfo, nextManagerRecord, leagueManagerRecord, point, isUpdatenextManagerRecord, lagueManagerInfo, fightMap, managerExtra, leagueWinCount, transactionManager.TransactionObject); if (messageCode == MessageCode.Success) { transactionManager.Commit(); } else { transactionManager.Rollback(); return(ResponseHelper.Create <LeaguePrizeResponse>(messageCode)); } } //奖励结果 var response = ResponseHelper.CreateSuccess <LeaguePrizeResponse>(); response.Data = new LeaguePrizes { PrizeList = new List <LeaguePrizeEntity>() }; foreach (var prize in managerPrizes) { var entity = new LeaguePrizeEntity(); entity.PrizeType = prize.PrizeType; entity.ItemCode = prize.ItemCode; entity.Count = prize.Count; response.Data.PrizeList.Add(entity); } response.Data.VipExp = vipExp; return(response); }