public async Task <bool> IsValidAsync(AWSMessageResponse.SqsResponse message)
        {
            if (message == null)
            {
                return(true);
            }

            try
            {
                var gatewayResponse = await _proxy.EmailInfo(message.EmailAddress);

                if (gatewayResponse.Disposable || gatewayResponse.Recent_abuse ||
                    gatewayResponse.Suspect || gatewayResponse.Honeypot ||
                    gatewayResponse.Deliverability.ToLowerInvariant() == "low" ||
                    (!gatewayResponse.Valid))
                {
                    return(false);
                }

                return(gatewayResponse.Overall_score == 4 && gatewayResponse.Smtp_score == 3);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <bool> IsValidAsync(AWSMessageResponse.SqsResponse message)
        {
            if (message == null)
            {
                return(true);
            }

            try
            {
                var gatewayResponse = await _proxy.CpfInfo(message.UserDocument);

                var cpfStatus = gatewayResponse.Situacao.Codigo;
                return(cpfStatus == SituacaoCadastral.Regular || cpfStatus == SituacaoCadastral.DefaultValue);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #3
0
 public async Task Action(AWSMessageResponse.SqsResponse messageToPublish, bool everythinIsFine)
 {
     var message = messageToPublish.ToMessageToPublish(everythinIsFine);
     var request = new PublishRequest(_publishConfiguration.UserOnBoardingAccount, message.ToJson());
     await _snsClient.PublishAsync(request);
 }
Beispiel #4
0
 public MessageToPublish(AWSMessageResponse.SqsResponse response, bool everythingIsFine)
 {
     _response        = response;
     EverythingIsFine = everythingIsFine;
 }
Beispiel #5
0
 public static Publish.Model.MessageToPublish ToMessageToPublish(this AWSMessageResponse.SqsResponse response, bool everythingIsFine)
 => new Publish.Model.MessageToPublish(response, everythingIsFine);