public async Task <IActionResult> WinAsync([FromBody] WinRequest request)
        {
            Logger.LogDebug(nameof(WinAsync));

            // Validate model
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // Get Player if exists
            var player = await _playerRepository.GetAsync(request.PlayerId).ConfigureAwait(false);

            // Create new transaction
            var transaction = new Transaction
            {
                PlayerId = player.PlayerId,
                Win      = request.Win
            };

            // Persist Transaction
            await _transactionRepository.AddAsync(transaction).ConfigureAwait(false);

            // Re-read Player
            player = await _playerRepository.GetAsync(request.PlayerId).ConfigureAwait(false);

            return(Ok(player));
        }
Example #2
0
    public IEnumerator callContract(ContractName contractName, object arg0, object arg1)
    {
        var address = ConvertHexStringToByteArray("cf2cc8dcffc74cfe0a079fdbb16c0d6f78290527bfbcef935553d50746ecc00f");

        switch (contractName)
        {
        case ContractName.Win:
            var winReq = new WinRequest(address);
            yield return(winReq.Win((byte[])arg0, (string)arg1));

            printProcessResult(winReq);     //log
            break;

        case ContractName.Rent:
            var rentReq = new RentRequest(address);
            yield return(rentReq.Rent((string)arg0, (int)arg1));

            printProcessResult(rentReq);
            break;

        case ContractName.CreatePatent:
            var patentReq = new NewVirusRequest(address);
            yield return(patentReq.NewVirus((string)arg0, (int)arg1));

            printProcessResult(patentReq);

            break;
        }
    }
        public async Task PlayerWinTest()
        {
            var request = new WinRequest
            {
                PlayerId = 1,
                Win      = 500
            };
            var result = await _httpClientHelper.PostAsync <WinRequest, Player>(BASE_URL + "win", request).ConfigureAwait(false);

            Assert.NotNull(result);
        }