Извините за вопрос, я изучаю Asp.net с EF, и у меня возникают проблемы с определенным обновлением.
Я хочу создать систему, в которой есть транзакции между учетными записями.Со структурной частью все в порядке, но проблема в следующем:
Когда обновление выполняется, система выполняет перевод нормально, другими словами, на обоих счетах есть 100 долларов, я делаю транзакцию на 10 долларов, поэтому одинна счете остается 110 долларов, а на другом - 90 долларов.
Но при втором переводе один счет остается на 80 долларов, а другой - на 100 долларов.
Вот код:
[HttpPost]
public ActionResult TransferCurrency(Usuario usuario, ViewModelTransfer viewModel)
{
if (usuario.Id == 0)
{
return HttpNotFound();
}
if (viewModel.ForId == null)
{
return HttpNotFound();
}
var usuarioTransaction = _context.Usuario.Single(c => c.NConta == viewModel.ForId);
usuarioTransaction.Currency = usuario.Currency + viewModel.Transfer;
var usuarioInDb = _context.Usuario.Single(m => m.Id == usuario.Id);
usuarioInDb.Currency = usuario.Currency - viewModel.Transfer;
_context.SaveChanges();
return RedirectToAction("Index");
}
Кто-нибудь знает, что я здесь делаю не так?
Спасибо!