Обновите метод 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
Иммерсивная лаборатория — ASP.NET Core API: недостатки бизнес-логики ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Иммерсивная лаборатория: основной веб-API ASP.NET: недостатки бизнес-логики
Anonymous » » в форуме C# - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Иммерсивная лаборатория: основной веб-API ASP.NET: недостатки бизнес-логики
Anonymous » » в форуме C# - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Иммерсивная лаборатория — ASP.NET Core Web API: чрезмерная открытость данных
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-