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) }); }
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); }
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(); }
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); } }
public async Task <AuthorizePlayerResponse> PostAsync(AuthorizePlayerRequest request) { return(await _localBrandApiClient.AuthorizePlayerAsync(request, string.Empty)); }