public Task AddAsync([FromBody] TierUpgradeRequest request)
        {
            Enum.TryParse(request.KycStatus, out KycStatus status);

            return(_tierUpgradeService.AddAsync(request.ClientId, _mapper.Map <AccountTier>(request.Tier), status,
                                                request.Changer));
        }
Exemple #2
0
        public async Task Handle(KycStatusChangedEvent evt)
        {
            Enum.TryParse(evt.NewStatus, out KycStatus status);

            var upgradeRequests = await _tierUpgradeService.GetByClientAsync(evt.ClientId);

            var request = upgradeRequests
                          .OrderBy(x => x.Tier)
                          .FirstOrDefault(x => x.KycStatus != KycStatus.Ok);

            var requestStatus = GetTierStatus(status);

            if (request != null && request.KycStatus != requestStatus)
            {
                await _tierUpgradeService.AddAsync(evt.ClientId, request.Tier, requestStatus,
                                                   nameof(KycStatusChangedProjection));
            }
        }