コード例 #1
0
        private void SendStatusUpdate(Guid playerId, SystemAction action, QueueFolderTag tag)
        {
            var @event = new PlayerRegistrationChecked
            {
                DateChecked = DateTimeOffset.UtcNow,
                Action      = action,
                Tag         = tag,
                PlayerId    = playerId
            };

            _bus.Publish(@event);
        }
コード例 #2
0
        public void ApplyAction(Guid playerId)
        {
            var repository            = _container.Resolve <IFraudRepository>();
            var duplicateScoreService = _container.Resolve <IDuplicateScoreService>();

            var player = repository.Players.FirstOrDefault(x => x.Id == playerId);

            if (player == null)
            {
                return;
            }
            var score = duplicateScoreService.ScorePlayer(playerId);

            var configuration =
                repository
                .DuplicateMechanismConfigurations
                .FirstOrDefault(x => x.BrandId == player.BrandId);

            if (configuration == null)
            {
                return;
            }

            SystemAction   action = SystemAction.NoAction;
            QueueFolderTag tag    = QueueFolderTag.NoHandling;

            if (score > configuration.NoHandlingScoreMin && score <= configuration.NoHandlingScoreMax)
            {
                action = configuration.NoHandlingSystemAction;
                tag    = QueueFolderTag.NoHandling;
            }
            else if (score > configuration.FraudulentScoreMin && score <= configuration.FraudulentScoreMax)
            {
                action = configuration.FraudulentSystemAction;
                tag    = QueueFolderTag.Fraudlent;
            }
            else if (score > configuration.RecheckScoreMin && score <= configuration.RecheckScoreMax)
            {
                action = configuration.RecheckSystemAction;
                tag    = QueueFolderTag.ReCheck;
            }

            SendStatusUpdate(playerId, action, tag);
        }