public IActionResult LoginGame(string weixinName, string shareId, [FromServices] ILoginGame Ilogin) { // Ilogin.DaddPlayer = IstoreHouse.AddEntity<Player>; _playerService.AddPlayer Ilogin.DaddPlayer = _playerService.AddPlayer; //Ilogin.DgetPlayerByWeixianName = IstoreHouse.GetPlayerByName; Ilogin.DgetPlayerByWeixianName = _playerService.FindPlayerByName; if (shareId == null || shareId == "") { shareId = ToolsSecret.EncryptOpenId(ManagePlayer.GetOnlyInstance().WeixinName); } Player player = Ilogin.Login(weixinName, ToolsSecret.DecryptOpenId(shareId)); if (player != null && base.player != null && base.player.WeixinName != player.WeixinName) { return(View("Index")); } //IstoreHouse.SaveChanges(); SavePlayerInfoInSession(player); base.LoadPlayerInfo(); Sigin(player); BuiderShareLink(player); return(RedirectToAction("RoomsList", "Rooms", new { Area = "Citys" })); }
/// <summary> /// 管理员 /// </summary> /// <returns></returns> public ManagePlayer GetManagerPlayer() { if (_managePlayer == null) { _managePlayer = _storeHouse.GetManagePlayer(); } return(_managePlayer); }
public IActionResult FindeRoomsByName(string name) { List <IRoom> rooms_ = new List <IRoom>(); rooms_.AddRange(CityGameController.GameCityList.FindRoomsByName(name)); ViewBag.manager = ManagePlayer.GetOnlyInstance(); ViewBag.player = player; return(View("RoomsList", rooms_)); }
private void LoadManager() { if (session.GetInt32("playerId") == ManagePlayer.GetOnlyInstance().Id) { managerPlayer = ManagePlayer.GetOnlyInstance(); } else { managerPlayer = null; } }
public MyController(IHttpContextAccessor httpContextAccessor_ , IPlayerService playerService) { _playerService = playerService; httpContextAccessor = httpContextAccessor_; session = httpContextAccessor_.HttpContext.Session; ManagePlayer.DgetManagePlayer = playerService.GetManagerPlayer; LoadManager(); playerService.AttachPlayer(ManagePlayer.GetOnlyInstance()); LoadPlayerInfo(); Player.DDecutMoney = DecutMoney; }
protected IActionResult AllCityRooms() { List <IRoom> rooms_ = new List <IRoom>(); foreach (var gameCity in CityGameController.GameCityList) { rooms_.AddRange(gameCity.Rooms); } ViewBag.manager = ManagePlayer.GetOnlyInstance(); ViewBag.player = player; return(View(rooms_)); }
public IActionResult SendMessage(string content, string receiverName, [FromServices] IMessageService messageService) { //Player player = managerPlayer.FindPlayerByWeixinName(receiverName); //managerPlayer.SendMessageTo(player, content); //IstoreHouse.SaveChanges(); Player receiver = _playerService.FindPlayerByName(receiverName); Message message = new Message(ManagePlayer.GetOnlyInstance(), content, receiver); messageService.SendMessage(message); ViewBag.receiverName = receiverName; ViewBag.content = content; TempData["sendSuccess"] = "发送完成"; return(View("sendMessage")); }
private void BuiderShareLink(Player player) { StringBuilder url = new StringBuilder(); url.Append(WxPayConfig.SiteName + "/Game/loginGame?weixinName="); url.Append(player.WeixinName); url.Append("&shareId="); url.Append(ToolsSecret.EncryptOpenId(player.IntroducerWeixinName)); ViewBag.wxConfig = new wxConfig(url.ToString()); ViewBag.manager = ManagePlayer.GetOnlyInstance(); ViewBag.Player = player; ViewBag.shareId = ToolsSecret.EncryptOpenId(player.WeixinName); ViewBag.accesstoken = WxPayConfig._access_token.Access_token; ViewBag.jsToken = WxPayConfig._jsapi_ticket.Ticket; }
protected virtual void LoadPlayerInfo() { var playerId = session.GetInt32("playerId"); if (playerId == null) { return; } if (playerId > 0 && playerId != ManagePlayer.GetOnlyInstance().Id) { player = _playerService.FindPlayerByName(session.GetString("playerName")); } else if (playerId == ManagePlayer.GetOnlyInstance().Id) { player = ManagePlayer.GetOnlyInstance(); } }
public IActionResult Index(string state) { if (state != null && state != "") { Player player_ = _playerService.FindPlayerByName(ToolsSecret.DecryptOpenId(state)); if (player_ != null) { ViewBag.shareId = ToolsSecret.EncryptOpenId(player_.WeixinName); } } else { ViewBag.shareId = ToolsSecret.EncryptOpenId(ManagePlayer.GetOnlyInstance().WeixinName); } return(View("Index")); }
private static ClaimsPrincipal CreatePrincipal(Player player_) { List <Claim> claims = new List <Claim> { new Claim(ClaimTypes.Name, player_.WeixinName, ClaimValueTypes.String) }; string role = "player"; if (player_.Id == ManagePlayer.GetOnlyInstance().Id) { role = "manager"; } claims.Add(new Claim(ClaimTypes.Role, role, ClaimValueTypes.String)); var userIdentity = new ClaimsIdentity(role); userIdentity.AddClaims(claims); var userPrincipal = new ClaimsPrincipal(userIdentity); return(userPrincipal); }
public void CreatGameCity(List <IGameCity> gameCityList, Player cityManager, string cityName = "游戏城") { ICityManager cityManager_; if (cityManager != null) { cityManager_ = cityManager; } else { cityManager_ = ManagePlayer.GetOnlyInstance(); } IGameCityConfig config_ = new GameCityConfig() { Name = cityName }; IGameCity gameCity_ = new GameCity(cityManager_, config_); gameCityList.Add(gameCity_); }
protected IActionResult AllCityRooms() { List <IRoom> rooms_ = new List <IRoom>(); foreach (var gameCity in CityGameController.GameCityList) { rooms_.AddRange(gameCity.Rooms); } ViewBag.manager = ManagePlayer.GetOnlyInstance(); ViewBag.player = player; StringBuilder url = new StringBuilder(); url.Append(WxPayConfig.SiteName + "/Citys/Rooms/RoomsList"); ViewBag.wxConfig = new wxConfig(url.ToString()); ViewBag.shareId = ToolsSecret.EncryptOpenId(player.WeixinName); ViewBag.accesstoken = WxPayConfig._access_token.Access_token; ViewBag.jsToken = WxPayConfig._jsapi_ticket.Ticket; return(View(rooms_)); }
public override IActionResult GameIndex() { StringBuilder url = new StringBuilder(); url.Append(WxPayConfig.SiteName + "/GameProjects/GameHandler/GameIndex?gameCityId="); url.Append(_gameCity.Id); url.Append("&roomId="); url.Append(_room.Id); ViewBag.wxConfig = new wxConfig(url.ToString()); ViewBag.manager = ManagePlayer.GetOnlyInstance(); ViewBag.Player = player; ViewBag.shareId = ToolsSecret.EncryptOpenId(player.WeixinName); ViewBag.accesstoken = WxPayConfig._access_token.Access_token; ViewBag.jsToken = WxPayConfig._jsapi_ticket.Ticket; var iGameProject = _room.InningGame.IGameProject; ViewBag.GameProject = iGameProject; var gameName = iGameProject.Name; return(View(gameName + "GameIndex", _room)); }
public override PayOrder CompletePayOrder(object obj) { WxPayData wxPayData = (WxPayData)obj; PayOrder payOrder = FindPayOrder(wxPayData); if (payOrder != null && payOrder.Success == false) { Player player = _playerService.FindPlayerByName(payOrder.WeixinName); //IstoreHouse.GetPlayerByName(payOrder.WeixinName); try { // player_.Account.Addmount(payOrder.Amount, "充值"); _playerService.AdjustAccount(player, payOrder.Amount, "充值"); if (ManagePlayer.GetOnlyInstance().WeixinName == player.IntroducerWeixinName && payOrder.Amount <= 10) { _playerService.AdjustAccount(player, payOrder.Amount * (decimal)0.02, "随机奖励"); } else { Player introducer = _playerService.FindPlayerByName(player.IntroducerWeixinName); //IstoreHouse.GetPlayerByName(player_.IntroducerWeixinName); _playerService.AdjustAccount(introducer, payOrder.Amount * (decimal)0.02, "分享奖励"); } payOrder.Success = true; _storeHouse.SaveChanges(); //IstoreHouse.SaveChanges(); } catch (Exception) { _logger.LogInformation("rechargeError:out_trade_no:" + payOrder.Out_trade_no + "_weixinName:" + payOrder.WeixinName + "_amount:" + payOrder.Amount); } } return(payOrder); }
public IActionResult LoginGame(string weixinName, string shareId, [FromServices] ILoginGame Ilogin) { Ilogin.DaddPlayer = _playerService.AddPlayer; Ilogin.DgetPlayerByWeixianName = _playerService.FindPlayerByName; if (shareId == null || shareId == "") { shareId = ToolsSecret.EncryptOpenId(ManagePlayer.GetOnlyInstance().WeixinName); } Player player = Ilogin.Login(weixinName, ToolsSecret.DecryptOpenId(shareId)); if (player != null && base.player != null && base.player.WeixinName != player.WeixinName) { return(View("Index")); } SavePlayerInfoInSession(player); base.LoadPlayerInfo(); Sigin(player); BuiderShareLink(player); if (GameCity.IsColsed && player.Id != ManagePlayer.GetOnlyInstance().Id) { return(RedirectToAction("ShowNotice")); } return(RedirectToAction("RoomsList", "Rooms", new { Area = "Citys" })); }