Exemplo n.º 1
0
        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" }));
        }
Exemplo n.º 2
0
 /// <summary>
 /// 管理员
 /// </summary>
 /// <returns></returns>
 public ManagePlayer GetManagerPlayer()
 {
     if (_managePlayer == null)
     {
         _managePlayer = _storeHouse.GetManagePlayer();
     }
     return(_managePlayer);
 }
Exemplo n.º 3
0
        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_));
        }
Exemplo n.º 4
0
 private void LoadManager()
 {
     if (session.GetInt32("playerId") == ManagePlayer.GetOnlyInstance().Id)
     {
         managerPlayer = ManagePlayer.GetOnlyInstance();
     }
     else
     {
         managerPlayer = null;
     }
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
        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_));
        }
Exemplo n.º 7
0
        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"));
        }
Exemplo n.º 8
0
        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;
        }
Exemplo n.º 9
0
        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();
            }
        }
Exemplo n.º 10
0
        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"));
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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_);
        }
Exemplo n.º 13
0
        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));
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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" }));
        }