コード例 #1
0
ファイル: Worker.cs プロジェクト: VtbDefenderOfFraud/backend
        private async Task AddNewCredits(DefenderDbContext defenderDbContext, ICollection <Credit> newCredits,
                                         CancellationToken cancellationToken)
        {
            if (newCredits.Count == 0)
            {
                return;
            }

            foreach (var newCredit in newCredits)
            {
                var userId = (await defenderDbContext.Users.Where(u => u.Passport == newCredit.Passport)
                              .SingleOrDefaultAsync(cancellationToken))?.Id;

                if (userId == null)
                {
                    continue;
                }

                if (defenderDbContext.CreditRequests.Any(c => c.BkiId == newCredit.Id))
                {
                    _logger.LogInformation($"Credit with BkiId {newCredit.Id} already added. Skip.");

                    continue;
                }

                defenderDbContext.CreditRequests.Add(new CreditRequest
                {
                    BankId    = newCredit.BankId,
                    BkiId     = newCredit.Id,
                    OrderDate = newCredit.Created,
                    UserId    = userId.Value,
                    Amount    = newCredit.Amount,
                });

                defenderDbContext.Pushes.Add(new Push
                {
                    UserId = userId.Value,
                    Since  = TruncateMilliseconds(newCredit.Created),
                });

                _logger.LogInformation("New credit request added");
            }
        }
コード例 #2
0
 public UserController(DefenderDbContext dbContext, IMapper mapper)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
 }
コード例 #3
0
 public CreditInfoController(DefenderDbContext dbContext, IMapper mapper)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
 }