public void Context()
        {
            _emailTemplate = MockRepository.GenerateMock<EmailTemplate>();

            const int emailTemplateId = 23;
            var emailTemplateRepository = MockRepository.GenerateStub<IRepository<EmailTemplate>>();
            emailTemplateRepository.Stub(a => a.GetById(emailTemplateId)).Return(_emailTemplate);

            _htmlTemplatePartId = 47;
            _htmlStartIndex = 56;
            _length = 65;
            _emailTemplateDto = new EmailTemplateDto
                                    {
                                        EmailTemplateId = emailTemplateId,
                                    };
            var command = new CreateVariableCommand
                              {
                                  EmailTemplate = _emailTemplateDto,
                                  HtmlStartIndex = _htmlStartIndex,
                                  HtmlTemplatePartId = _htmlTemplatePartId,
                                  Length = _length
                              };
            var handler = new CreateVariableCommandHandler(emailTemplateRepository);
            handler.Execute(command);
        }
        protected override void PersistenceContext()
        {
            var user = UserBuilder.New.Build();
            Save(user);
            _emailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("123")
                .WithName("template name")
                .WithUserId(user.Id)
                .Build();
            Save(_emailTemplate);

            _recipientOne = new Recipient(EmailOne, "name one");
            _recipientTwo = new Recipient(EmailTwo, "name two");
            Save(_recipientOne);
            Save(_recipientTwo);

            _email = new EmailBuilder()
                .WithoutAssigningIdsToParts()
                .WithEmailTemplate(_emailTemplate)
                .WithFromAddress(FromAddress)
                .WithSubject(Subject)
                .WithRecipient(_recipientOne)
                .WithRecipient(_recipientTwo)
                .Build();
            Save(_email);
        }
 public void Context()
 {
     _template = EmailTemplateBuilder.New
         .WithInitialHtml("123")
         .WithVariable(1, 1)
         .Build();
     _email = new Email(_template);
 }
 public void Context()
 {
     _template = EmailTemplateBuilder.New
         .WithInitialHtml("123")
         .WithVariable(1, 1)
         .Build();
     var htmlPartId = _template.Parts.Last().Id;
     _exception = Should.Throw<CoreException>(() => _template.DeleteVariable(htmlPartId));
 }
 public void Context()
 {
     _emailTemplate = EmailTemplateBuilder.New
         .WithInitialHtml("this is an initial html")
         .Build();
     var htmlTeplatePartId = _emailTemplate.Parts.First().Id;
     _emailTemplate.CreateVariable(htmlTeplatePartId, 8, 2);
     _emailTemplate.CreateVariable(htmlTeplatePartId, 5, 2);
 }
 public void Context()
 {
     _template = EmailTemplateBuilder.New
         .WithInitialHtml("12345")
         .WithVariable(1, 1)
         .WithVariable(1, 1)
         .Build();
     var variablePartId = _template.Parts.ElementAt(1).Id;
     _template.DeleteVariable(variablePartId);
 }
 protected override void PersistenceContext()
 {
     _user = UserBuilder.New.Build();
     Save(_user);
     _emailTemplate = EmailTemplateBuilder.New
         .WithInitialHtml("html")
         .WithName("template name")
         .WithUserId(_user.Id)
         .Build();
     Save(_emailTemplate);
 }
        protected override void PersistenceContext()
        {
            var user = UserBuilder.New.Build();
            Save(user);
            _emailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("123")
                .WithUserId(user.Id)
                .Build();
            Save(_emailTemplate);
            _emailTemplate.CreateVariable(_emailTemplate.Parts.First().Id,  1, 1);
            Save(_emailTemplate);

            _email = new Email(_emailTemplate);
            Save(_email);
        }
 protected override void PersistenceContext()
 {
     var user = UserBuilder.New.Build();
     Save(user);
     _emailTemplate = EmailTemplateBuilder.New
         .WithInitialHtml("123")
         .WithName("template name")
         .WithUserId(user.Id)
         .Build();
     Save(_emailTemplate);
     _emailTemplate.CreateVariable(_emailTemplate.Parts.First().Id, 1, 1);
     var anotherEmailTemplate = EmailTemplateBuilder.New
         .WithInitialHtml("another html")
         .WithName("template name")
         .WithUserId(user.Id)
         .Build();
     Save(_emailTemplate, anotherEmailTemplate);
 }
        public void Context()
        {
            _emailTemplate = MockRepository.GenerateMock<EmailTemplate>();

            const int emailTemplateId = 23;
            var emailTemplateRepository = MockRepository.GenerateStub<IRepository<EmailTemplate>>();
            emailTemplateRepository.Stub(a => a.GetById(emailTemplateId)).Return(_emailTemplate);

            _emailTemplateDto = new EmailTemplateDto
                                    {
                                        EmailTemplateId = emailTemplateId,
                                    };
            var command = new SaveEmailTemplateCommand
                              {
                                  EmailTemplate = _emailTemplateDto,
                              };
            var handler = new SaveEmailTemplateCommandHandler(emailTemplateRepository);
            handler.Execute(command);
        }
        public EmailTemplate Build()
        {
            var emailTemplate = new EmailTemplate(_userId);
            ((HtmlEmailTemplatePart)emailTemplate.Parts.Single()).SetHtml(_initialHtml);
            emailTemplate.SetPrivateProperty(x => x.Name, _name);
            emailTemplate.SetPrivateProperty(x => x.Id, _id);
            var htmlPart = emailTemplate.Parts.Single();
            var htmlPartId = NextPartId;
            htmlPart.SetPrivateProperty(x => x.Id, htmlPartId);

            _variables.Each(variable =>
                                {
                                    emailTemplate.CreateVariable(htmlPartId, variable.Item1, variable.Item2);
                                    var count = emailTemplate.Parts.Count();
                                    var variablePart = emailTemplate.Parts.ElementAt(count - 2);
                                    variablePart.SetPrivateProperty(x => x.Id, NextPartId);
                                    htmlPartId = NextPartId;
                                    emailTemplate.Parts.ElementAt(count - 1).SetPrivateProperty(x => x.Id, htmlPartId);
                                });

            return emailTemplate;
        }
Beispiel #12
0
        public Email(EmailTemplate emailTemplate)
        {
            EmailTemplate = emailTemplate;
            State = EmailState.Draft;

            foreach (var emailTemplatePart in emailTemplate.Parts)
            {
                if (emailTemplatePart is HtmlEmailTemplatePart)
                {
                    var htmlEmailTemplatePart = (HtmlEmailTemplatePart) emailTemplatePart;
                    _parts.Add(new HtmlEmailPart(htmlEmailTemplatePart.Html));
                }
                else if (emailTemplatePart is VariableEmailTemplatePart)
                {
                    var variableEmailTemplatePart = (VariableEmailTemplatePart)emailTemplatePart;
                    _parts.Add(new VariableEmailPart(variableEmailTemplatePart.VariableType, variableEmailTemplatePart.Value));
                }
                else
                {
                    throw new EmailMakerException("Unsupported email template part: " + emailTemplatePart.GetType());
                }
            }
        }
 public void Context()
 {
     _templateId = 89;
     _template = EmailTemplateBuilder.New
         .WithId(_templateId)
         .WithInitialHtml("12345")
         .WithVariable(1, 1)
         .WithVariable(1, 1)
         .Build();
     var emailTemplateDto = new EmailTemplateDto
                                {
                                    EmailTemplateId = _templateId,
                                    Parts = new[]
                                                {
                                                    new EmailTemplatePartDto
                                                        {
                                                            PartId = _template.Parts.First().Id,
                                                            PartType = PartType.Html,
                                                            Html = "A"
                                                        },
                                                    new EmailTemplatePartDto
                                                        {
                                                            PartId = _template.Parts.ElementAt(3).Id,
                                                            PartType = PartType.Variable,
                                                            VariableValue = "B"
                                                        },
                                                    new EmailTemplatePartDto
                                                        {
                                                            PartId = _template.Parts.ElementAt(4).Id,
                                                            PartType = PartType.Html,
                                                            Html = "C"
                                                        },
                                                },
                                                Name = TemplateName
                                };
     _template.Update(emailTemplateDto);
 }
Beispiel #14
0
 public EmailBuilder WithEmailTemplate(EmailTemplate emailTemplate)
 {
     _emailTemplate = emailTemplate;
     return this;
 }
 public void Context()
 {
     _template = EmailTemplateBuilder.New.Build();
     _exception = Should.Throw<CoreException>(() => _template.DeleteVariable(23));
 }
 protected override void PersistenceQuery()
 {
     _retrievedEmailTemplate = Get<EmailTemplate>(_emailTemplate.Id);
 }