public APIResultBase AddOrUpdate(HS_GameTable gameTable, GameStyleEnum GameStyle) { if (gameTable.CreateUserCode.IsNullOrEmpty() || gameTable.TableName.IsNullOrEmpty()) { return(JsonModelResult.PackageFail(OperateResCodeEnum.参数错误)); } if (_repository.Get(c => (c.CreateUserCode == gameTable.CreateUserCode || c.PlayerUserCode == gameTable.CreateUserCode) && gameTable.ID < 1 && c.TableStatus == (int)TableStatusEnum.正常).Result.TotalItemsCount > 0) { return(JsonModelResult.PackageFail(OperateResCodeEnum.时只能创建或占用一个游戏房间)); } if (gameTable.ID > 0) { //gameTable.AddTime = _repository.GetByKey(gameTable.ID).Result.AddTime; _repository.Update(gameTable); return(JsonModelResult.PackageSuccess(gameTable.ID.ToString())); } else { DateTime now = DateTime.Now; gameTable.PlayerUserCode = ""; gameTable.TableCode = SignUtil.CreateSign(UsersBll.Instance.GetUserByAdmin(gameTable.CreateUserCode).SecretCode + RandomUtil.CreateRandomStr(8) + now.Ticks); gameTable.AddTime = DateTime.Now; using (FriendshipFirstContext context = new FriendshipFirstContext()) { gameTable.BankerCode = gameTable.CreateUserCode; context.hs_gametable.Add(gameTable); FF_Game game = new FF_Game(); game.AddTime = now; game.BankerCode = gameTable.CreateUserCode; game.GameStatus = GameStyle == GameStyleEnum.庄家模式 ? (int)GameStatusEnum.初始化 : (int)GameStatusEnum.已开始; game.CurrentRoundCode = SignUtil.CreateSign(gameTable.CreateUserCode + RandomUtil.CreateRandomStr(8) + game.AddTime.Ticks); game.NextRoundCode = SignUtil.CreateSign(gameTable.CreateUserCode + RandomUtil.CreateRandomStr(8) + game.AddTime.AddMinutes(5).Ticks); game.GameCode = gameTable.TableCode; game.GameStyle = (int)GameStyle; context.ff_game.Add(game); FF_GameRecord record = new FF_GameRecord { AddTime = now, BetMoney = 0, IsBanker = true, PlayerStatus = (int)PlayerStatusEnum.已下注, RoundCode = game.CurrentRoundCode, UserCode = game.BankerCode, WinMoney = 0, Balance = 0, GameCode = game.GameCode, IsActivity = false, RoomIndex = 0 }; context.ff_gamerecord.Add(record); context.SaveChanges(); } return(JsonModelResult.PackageSuccess <HS_GameTable>(gameTable)); } }
private void AddUserToNextFreeModelRound(List <FF_GameRecord> lst, FF_Game game, DateTime now, FriendshipFirstContext context) { foreach (var r in lst) { FF_GameRecord model = new FF_GameRecord { AddTime = now, Balance = r.Balance, BetMoney = 0, GameCode = game.GameCode, IsActivity = true, IsBanker = r.IsBanker, PlayerStatus = (int)PlayerStatusEnum.已下注, RoundCode = game.CurrentRoundCode, UserCode = r.UserCode, WinMoney = 0, RoomIndex = r.RoomIndex }; context.ff_gamerecord.Add(model); } }