Exemplo n.º 1
0
        public async Task <AuthorizePlayerResponse> PostAsync(AuthorizePlayerRequest request)
        {
            if (string.IsNullOrEmpty(request.ipaddress))
            {
                throw new ArgumentException("IpAddress is missing");
            }

            Player player;

            if (string.IsNullOrEmpty(request.userid))
            {
                player = await _repository.Players.SingleOrDefaultAsync(x => x.Name == request.username);
            }
            else
            {
                var playerId = Guid.Parse(request.userid);
                player = await _repository.Players.SingleOrDefaultAsync(x => x.Id == playerId);
            }

            if (player == null)
            {
                var brandId = GetBrandId(ActionContext);
                player = _playerCommands.AddPlayerFromRequest(request, brandId);
            }

            return(new AuthorizePlayerResponse
            {
                authtoken = _tokenProvider.Encrypt(player.Id)
            });
        }
Exemplo n.º 2
0
        public Player AddPlayerFromRequest(AuthorizePlayerRequest request, Guid brandId)
        {
            var player = new Player
            {
                Id           = Guid.Parse(request.userid),
                BrandId      = brandId,
                CurrencyCode = request.cur,
                CultureCode  = request.lang,
                Name         = request.username,
            };

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                _repository.Players.AddOrUpdate(player);

                var wallet = new Wallet()
                {
                    Id           = Guid.NewGuid(),
                    BrandId      = player.BrandId,
                    Balance      = 0,
                    CurrencyCode = player.CurrencyCode,
                    PlayerId     = player.Id
                };
                _repository.Wallets.AddOrUpdate(wallet);

                _repository.SaveChanges();

                scope.Complete();
            }

            return(player);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            var serverBaseUrl = "http://integration-8-ugs-api.flycowdev.com";

            IBrandApiClient client = new BrandApiClient(serverBaseUrl);

            var clientCredentials = new ClientCredentialsTokenRequest()
            {
                client_id = "BRAND_3",
                client_secret = "w0jdfZGyDB3gWFJqGsBCTO3E7liTDgYoVrCaP7t13JMzryNIuKA3G2",
                grant_type = "client_credentials",
                scope = "playerapi"
            };

            TokenResponse brandTokenResponse = null;

            var task = Task.Run(async () =>
            {
                Console.WriteLine("Getting brand authorization token....");
                brandTokenResponse = await client.GetTokenAsync(clientCredentials);
                System.Console.WriteLine(JsonConvert.SerializeObject(brandTokenResponse));
            });

            task.Wait();

            // Authorize a player

            var request = new AuthorizePlayerRequest()
            {
                ipaddress = "184.70.137.34",
                username  = "******",
                userid    = "1234567891",
                tag       = "{\"aff\": \"123\"}",
                lang      = "zh-CN",
                cur       = "RMB",
                betlimitid = 1,
                loginurl  = "http://ugslobby.com/login",
                cashierurl = "http://ugslobby.com/cashier",
                termsurl = "http://ugslobby.com/terms",
                helpurl = "http://ugslobby.com/help"
            };

            task = Task.Run(async () =>
            {
                Console.WriteLine("Authorizing player....");
                var playerAuthResponse = await client.AuthorizePlayerAsync(request, brandTokenResponse.access_token);
                System.Console.WriteLine(JsonConvert.SerializeObject(playerAuthResponse));
            });

            task.Wait();
        }
Exemplo n.º 4
0
        public async Task <AuthorizePlayerResponse> AuthorizePlayerAsync(AuthorizePlayerRequest request, string brandToken)
        {
            Player player;

            if (string.IsNullOrEmpty(request.userid))
            {
                player = await _gameRepository.Players.SingleAsync(x => x.Name == request.username);
            }
            else
            {
                var playerId = Guid.Parse(request.userid);
                player = await _gameRepository.Players.SingleAsync(x => x.Id == playerId);
            }

            return(new AuthorizePlayerResponse
            {
                authtoken = _tokenProvider.Encrypt(player.Id)
            });
        }
        private void btnAuthorize_Click(object sender, EventArgs e)
        {
            // Authorize a player

            var request = new AuthorizePlayerRequest()
            {
                ipaddress = "184.70.137.34",
                username = "******",
                userid = "1234567891",
                tag = "{\"aff\": \"123\"}",
                lang = "zh-CN",
                cur = "RMB",
                betlimitid = 1,
                loginurl = "http://ugslobby.com/login",
                cashierurl = "http://ugslobby.com/cashier",
                termsurl = "http://ugslobby.com/terms",
                helpurl = "http://ugslobby.com/help"
            };

            AuthorizePlayerResponse resp = null;
            try
            {
                var task = Task.Run(async () =>
                {
                    resp = await _apiClient.AuthorizePlayerAsync(request, txtAccessToken.Text);
                });

                task.Wait();

                txtPlayerToken.Text = resp.authtoken;
                txtResponse.Text = JsonConvert.SerializeObject(resp);
            }
            catch (Exception ex)
            {
                ShowError(ex);
            }
        }
Exemplo n.º 6
0
 public async Task <AuthorizePlayerResponse> PostAsync(AuthorizePlayerRequest request)
 {
     return(await _localBrandApiClient.AuthorizePlayerAsync(request, string.Empty));
 }