public async Task <IActionResult> AddCustomerToWallet(AddCustomerToWalletRequestModel request) { var address = await _walletService.GetWalletAdress(request.CustomerId); var addr = address?.RemoveHexPrefix().Trim('0'); if (!string.IsNullOrEmpty(addr)) { AccountModel accModel = new AccountModel() { CustomerId = request.CustomerId, EthereumAdress = address, Amounts = new List <Amount>() }; return(await Task.FromResult(Ok(new AddCustomerToWalletResponseModel() { Account = accModel }))); } address = await _walletService.CreateAndAddAdressToWallet(request.CustomerId); AccountModel accountModel = new AccountModel() { CustomerId = request.CustomerId, EthereumAdress = address, Amounts = new List <Amount>() }; return(await Task.FromResult(Ok(new AddCustomerToWalletResponseModel() { Account = accountModel }))); }
public async Task <bool> AddCheckCustomer(string CustomerId) { var ischeckCustomer = await IsCheckCustomer(CustomerId); if (ischeckCustomer) { return(true); } _account = _account ?? _web3Backend.GetDefaultAccount(); _web3 = _web3 ?? _web3Backend.GetDefaultWeb3(); var address = await _walletService.GetWalletAdress(CustomerId); var addr = address?.RemoveHexPrefix().Trim('0'); if (string.IsNullOrEmpty(addr)) { address = await _walletService.CreateAndAddAdressToWallet(CustomerId); } _checkcontract = _checkcontract ?? await _contracts.GetContract("PostdatedCheckManager", _config.GetSection("NetworkId").Value); CheckModels.AddCustomerInputFunction inputFunc = new CheckModels.AddCustomerInputFunction() { Address = address, FromAddress = _account.Address }; var handler = _web3.Eth.GetContractTransactionHandler <CheckModels.AddCustomerInputFunction>(); var result = await handler.SendRequestAndWaitForReceiptAsync(_checkcontract.Address, inputFunc); if (result.Status == BigInteger.One) { return(await Task.FromResult(true)); } else { return(await Task.FromResult(false)); } }