コード例 #1
0
 private void ChangePoints(PointTransfer transfer)
 {
     CurrentRoundStatus.ChangePoints(transfer.To, transfer.Amount);
     if (transfer.From >= 0)
     {
         CurrentRoundStatus.ChangePoints(transfer.From, -transfer.Amount);
     }
 }
コード例 #2
0
        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();
        }