private MessageCode SaveRankPrize(NbManagerEntity manager, LeagueRecordEntity leagueRecord, LeagueManagerrecordEntity mLeagueRecord, LaegueManagerinfoEntity leagueManagerinfo, ItemPackageFrame package, int point, DbTransaction trans) { if (!ManagerUtil.SaveManagerData(manager, null, trans)) { return(MessageCode.NbUpdateFail); } if (!LeagueRecordMgr.Update(leagueRecord, trans)) { return(MessageCode.NbUpdateFail); } if (!LeagueManagerrecordMgr.Update(mLeagueRecord, trans)) { return(MessageCode.NbUpdateFail); } if (!LaegueManagerinfoMgr.Update(leagueManagerinfo, trans)) { return(MessageCode.NbUpdateFail); } if (package != null) { if (!package.Save(trans)) { return(MessageCode.NbUpdateFail); } package.Shadow.Save(); } if (point > 0) { var code = PayCore.Instance.AddBonus(manager.Idx, point, EnumChargeSourceType.LeaguePrize, ShareUtil.GenerateComb().ToString(), trans); return(code); } 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); }
public MessageCode ResetLeague(Guid managerId, int leagueId, int point) { DateTime date = DateTime.Now; var managerRecord = LeagueManagerrecordMgr.GetManagerMarkInfo(managerId, leagueId); managerRecord.LeagueRecordId = new Guid();//00000000-0000-0000-0000-000000000000 //managerRecord.LastPrizeLeagueRecordId = new Guid(); managerRecord.IsPass = false; managerRecord.IsStart = false; managerRecord.MatchNumber = 0; managerRecord.Score = 0; managerRecord.WinNumber = 0; managerRecord.FlatNumber = 0; managerRecord.LoseNumber = 0; managerRecord.GoalsNumber = 0; managerRecord.FumbleNumber = 0; managerRecord.MaxWheelNumber = 0; managerRecord.UpdateTime = date; managerRecord.FightDicId = 0; var fightMap = new LeagueFightMapFrame(managerId); using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); MessageCode messCode = MessageCode.NbUpdateFail; do { if (point > 0) { messCode = PayCore.Instance.GambleConsume(managerId, 50, ShareUtil.GenerateComb(), EnumConsumeSourceType.LeagueReset, transactionManager.TransactionObject); if (messCode != MessageCode.Success) { break; } } messCode = fightMap.ClearFightMap(transactionManager.TransactionObject); if (messCode != MessageCode.Success) { break; } if (!LeagueManagerrecordMgr.Update(managerRecord, transactionManager.TransactionObject)) { break; } messCode = MessageCode.Success; } while (false); if (messCode != MessageCode.Success) { transactionManager.Rollback(); return(messCode); } transactionManager.Commit(); } return(MessageCode.Success); }
/// <summary> /// 开启一个新的联赛 /// </summary> /// <param name="managerId"></param> /// <param name="leagueId"></param> /// <param name="leagueManagerRecord"></param> /// <returns></returns> public MessageCode StartLeague(Guid managerId, int leagueId, ref LeagueManagerrecordEntity leagueManagerRecord) { var recordList = LeagueManagerrecordMgr.GetManagerAllMark(managerId); foreach (var record in recordList) { if (record.LaegueId == leagueId) { leagueManagerRecord = record; } if (record.IsStart) { return(MessageCode.LeagueHasStart); } } if (leagueManagerRecord == null) { return(MessageCode.NbParameterError); } if (leagueManagerRecord.IsLock) { return(MessageCode.LeagueIdMarkNotLock); } #region 去掉等级限制 //var openLevel= LeagueCache.Instance.GetLeagueOpenLevel(leagueId); //if (openLevel == -1) // return MessageCode.NbParameterError; //var manager = ManagerCore.Instance.GetManager(managerId); //if(manager==null) // return MessageCode.NbParameterError; //if(manager.Level<openLevel) // return MessageCode.LeagueIdMarkNotLock; #endregion DateTime date = DateTime.Now; var leagueRecordId = ShareUtil.GenerateComb(); leagueManagerRecord.LeagueRecordId = leagueRecordId; //info.LastPrizeLeagueRecordId = new Guid(); leagueManagerRecord.IsPass = false; leagueManagerRecord.IsStart = true; leagueManagerRecord.MatchNumber = 0; leagueManagerRecord.Score = 0; leagueManagerRecord.WinNumber = 0; leagueManagerRecord.FlatNumber = 0; leagueManagerRecord.LoseNumber = 0; leagueManagerRecord.GoalsNumber = 0; leagueManagerRecord.FumbleNumber = 0; leagueManagerRecord.UpdateTime = date; var npcCount = CacheFactory.LeagueCache.GetTeamCount(leagueId); var templateId = CacheFactory.LeagueCache.GetTemplateId(npcCount + 1); leagueManagerRecord.MaxWheelNumber = npcCount * 2;//总轮数 leagueManagerRecord.FightDicId = templateId; LeagueRecordEntity entity = new LeagueRecordEntity(leagueRecordId, managerId, leagueId, 1, 0, 0, false, date, date, ShareUtil.BaseTime); entity.Idx = leagueRecordId; entity.ManagerId = managerId; entity.LaegueId = leagueId; entity.IsSend = false; entity.Rank = -1; entity.RowTime = date; entity.Schedule = 1; entity.UpdateTime = date; entity.Score = 0; var leagueWinCount = LeagueWincountrecordMgr.GetRecord(managerId, leagueId); if (leagueWinCount != null) { if (leagueWinCount.PrizeDate.Date != DateTime.Now.Date) { leagueWinCount.WinCount1Status = 0; leagueWinCount.WinCount2Status = 0; leagueWinCount.WinCount3Status = 0; leagueWinCount.UpdateTime = DateTime.Now; leagueWinCount.PrizeDate = DateTime.Now; leagueWinCount.PrizeStep = "0,0,0,0,0"; } leagueWinCount.MaxWinCount = 0; } //更新当前联赛记录 if (!LeagueManagerrecordMgr.Update(leagueManagerRecord)) { return(MessageCode.FailUpdate); } if (!LeagueRecordMgr.Insert(entity)) { return(MessageCode.FailUpdate); } var figMap = new LeagueFightMapFrame(managerId); figMap.ClearFightMapStartLeague(npcCount + 1); if (leagueWinCount != null) { if (!LeagueWincountrecordMgr.Update(leagueWinCount)) { return(MessageCode.FailUpdate); } } return(MessageCode.Success); }