private async Task SetCoinState(MachineCoin coin, byte state, CancellationToken ct = default) { ct.ThrowIfCancellationRequested(); var machineCoins = await _db.MachineCoins .Where(w => w.CoinId == coin.CoinId && w.MachineId == coin.MachineId) .ToListAsync(ct); foreach (var machineCoin in machineCoins) { machineCoin.CoinState = state; } _db.MachineCoins.UpdateRange(machineCoins); await _db.SaveChangesAsync(ct); }
public async Task UnLockCoinInMachine(MachineCoin coin, CancellationToken ct = default) { ct.ThrowIfCancellationRequested(); await(SetCoinState(coin, 0, ct)); }