Иммерсивная лаборатория: основной веб-API ASP.NET: недостатки бизнес-логикиC#

Место общения программистов C#
Anonymous
Иммерсивная лаборатория: основной веб-API ASP.NET: недостатки бизнес-логики

Сообщение Anonymous »

Обновите метод RedeemCode, чтобы успешно обновлять базу данных при использовании кода.
public void RedeemCode(Codes code, int userId)
{
using (var tx = _dbConnection.BeginTransaction())
{
UpdateUserBalance(code, userId);

tx.Commit();
}
}

private void UpdateUserBalance(Codes code, int userId)
{
var amount = code.Amount;
_dbConnection.Execute(@$"
UPDATE {nameof(User)}
SET {nameof(User.Balance)} = {nameof(User.Balance)} + @{nameof(amount)}
WHERE {nameof(User.Id)} = @{nameof(userId)}", new { userId, amount });
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... ogic-flaws

Вернуться в «C#»