public static DatabaseAddMailrelaySubscriberFromLead CreateIfValid(MongoConnection connection, Guid leadId, string name, string urlLoginName, string emailaddress1, DatabaseWebCampaign webCampaign)
        {
            if (string.IsNullOrWhiteSpace(emailaddress1))
            {
                return(null);
            }

            if (webCampaign == null)
            {
                return(null);
            }

            DatabaseAddMailrelaySubscriberFromLead databaseAddMailrelaySubscriberFromLead = DatabaseAddMailrelaySubscriberFromLead.Create
                                                                                            (
                connection,
                webCampaign,
                urlLoginName,
                leadId,
                emailaddress1,
                name,
                new DataLayer.MongoData.Option.Schedule()
            {
                NextAllowedExecution         = DateTime.Now,
                Recurring                    = false,
                TimeBetweenAllowedExecutions = TimeSpan.FromSeconds(30),
            }
                                                                                            );

            return(databaseAddMailrelaySubscriberFromLead);
        }
Esempio n. 2
0
        public void AddMailrelaySubscriberFromLeadTestAddsASubscriber()
        {
            DatabaseWebCampaign webCampaign = GetWebcampaign();

            DatabaseAddMailrelaySubscriberFromLead databaseAddMailrelaySubscriberFromLead = AddMailrelaySubscriberFromLead.CreateIfValid(Connection, Guid.Empty, "test", "test", "test", webCampaign);
            AddMailrelaySubscriberFromLead         addMailrelaySubscriberFromLead         = new AddMailrelaySubscriberFromLead(Connection, databaseAddMailrelaySubscriberFromLead);

            _mailrelayConnectionTester.replies.Enqueue(new MailrelayArrayReply <getSubscribersReply>()
            {
                status = 1, data = new List <getSubscribersReply>()
            });
            _mailrelayConnectionTester.replies.Enqueue(new MailrelayIntReply()
            {
                status = 1, data = 1
            });

            ExecuteWithFakeMailrelayConnection(addMailrelaySubscriberFromLead);

            Console.Out.WriteLine(_mailrelayConnectionTester);

            Assert.IsTrue(_mailrelayConnectionTester.sendFunctions.Any(function => function is addSubscriber));
        }
Esempio n. 3
0
        public void AddMailrelaySubscriberFromLeadTestCanUpdateASubscriber()
        {
            DatabaseWebCampaign webCampaign = GetWebcampaign();

            string email = "test";
            DatabaseAddMailrelaySubscriberFromLead databaseAddMailrelaySubscriberFromLead = AddMailrelaySubscriberFromLead.CreateIfValid(Connection, _lead.Id, "test", "test", email, webCampaign);
            AddMailrelaySubscriberFromLead         addMailrelaySubscriberFromLead         = new AddMailrelaySubscriberFromLead(Connection, databaseAddMailrelaySubscriberFromLead);

            int randomId = new Random().Next(0, int.MaxValue);

            _mailrelayConnectionTester.replies.Enqueue(new MailrelayArrayReply <getSubscribersReply>()
            {
                status = 1,
                data   = new List <getSubscribersReply>()
                {
                    new getSubscribersReply()
                    {
                        email  = email,
                        id     = randomId.ToString(),
                        fields = new Dictionary <string, string>(),
                        groups = new List <string>(),
                    },
                }
            });
            _mailrelayConnectionTester.replies.Enqueue(new MailrelayIntReply()
            {
                status = 1, data = 1
            });

            ExecuteWithFakeMailrelayConnection(addMailrelaySubscriberFromLead);

            Console.Out.WriteLine(_mailrelayConnectionTester);

            updateSubscriber updateSubscriberFunction = (updateSubscriber)_mailrelayConnectionTester.sendFunctions.Single(function => function is updateSubscriber);

            Assert.AreEqual(email, updateSubscriberFunction.email);
            Assert.AreEqual(randomId, updateSubscriberFunction.id);
        }
 public AddMailrelaySubscriberFromLead(MongoConnection connection, DataLayer.MongoData.Option.OptionBase databaseOption) : base(connection, databaseOption)
 {
     _databaseAddMailrelaySubscriberFromLead = (DatabaseAddMailrelaySubscriberFromLead)databaseOption;
 }