private void ChangePoints(PointTransfer transfer) { CurrentRoundStatus.ChangePoints(transfer.To, transfer.Amount); if (transfer.From >= 0) { CurrentRoundStatus.ChangePoints(transfer.From, -transfer.Amount); } }
public async Task Give(PointTransferModel model) { var item = new PointTransfer(); _mapper.Map(model, item); _context.PointTransfers.Add(item); var fromUser = await _context.Users.SingleOrDefaultAsync(p => p.Id == model.FromUserId); fromUser.Points -= model.Points; var toUser = await _context.Users.SingleOrDefaultAsync(p => p.Id == model.ToUserId); toUser.ReceivedPoints += model.Points; await _context.SaveChangesAsync(); }