protected void CreateCampaigns(int start, int count, CampaignCategory category, out IList <Campaign> campaigns, out IList <Template> templates) { campaigns = new List <Campaign>(); templates = new List <Template>(); var createdStart = DateTime.Now.AddDays(-2); for (var index = start; index < start + count; ++index) { var name = string.Format(CampaignNameFormat, index < 10 ? "00" + index : (index < 100 ? "0" + index : index.ToString(CultureInfo.InvariantCulture))); var campaign = new Campaign { Id = Guid.NewGuid(), CreatedTime = createdStart.AddSeconds(index), Name = name, Category = category, }; var template = new Template { Subject = string.Format(TemplateSubjectFormat, index < 10 ? "00" + index : (index < 100 ? "0" + index : index.ToString(CultureInfo.InvariantCulture))), Body = string.Format(TemplateBodyFormat, index < 10 ? "00" + index : (index < 100 ? "0" + index : index.ToString(CultureInfo.InvariantCulture))) }; _campaignsRepository.CreateCampaign(campaign); _campaignsRepository.CreateTemplate(campaign.Id, template); // Newest campaigns at start. campaigns.Insert(0, campaign); templates.Insert(0, template); } }
private static void AssertCampaign(CampaignCategory category, Guid?communicationDefinitionId, Guid?communicationCategoryId, string query, Campaign campaign) { Assert.AreEqual(category, campaign.Category); Assert.AreEqual(communicationDefinitionId, campaign.CommunicationDefinitionId); Assert.AreEqual(communicationCategoryId, campaign.CommunicationCategoryId); Assert.AreEqual(query, campaign.Query); }
protected Campaign CreateCampaign(int index, CampaignCategory category, string query, CampaignStatus status, out Campaign campaign, out Template template) { CreateCampaign(index, category, query, out campaign, out template); campaign.Status = status; _repository.UpdateStatus(campaign.Id, status); return(campaign); }
private void MultipleEmailsLoginsTest(CampaignCategory category) { var administrator = _administratorAccountsCommand.CreateTestAdministrator(1); var campaign = CreateCampaign(1, category, administrator); const int count = 2; var loginIds = new string[count]; var emailAddresses = new string[count]; var fullNames = new string[count]; if (category == CampaignCategory.Employer) { for (var index = 0; index < count; ++index) { var employer = _employerAccountsCommand.CreateTestEmployer(index, _organisationsCommand.CreateTestOrganisation(index)); loginIds[index] = employer.GetLoginId(); emailAddresses[index] = employer.EmailAddress.Address; fullNames[index] = employer.FullName; } } else { for (var index = 0; index < count; ++index) { var member = _memberAccountsCommand.CreateTestMember(index); loginIds[index] = member.GetLoginId(); emailAddresses[index] = member.EmailAddresses[0].Address; fullNames[index] = member.FullName; } } // Login as administrator. LogIn(administrator); // Navigate to page and set the template. Get(GetEditTemplateUrl(campaign.Id)); _subjectTextBox.Text = Subject; _bodyTextArea.Text = Body; _saveButton.Click(); // Send. _loginIdsTextBox.Text = string.Join(",", loginIds); _sendButton.Click(); // Check. var emails = _emailServer.AssertEmailsSent(loginIds.Length); for (var index = 0; index < loginIds.Length; ++index) { var email = emails[index]; email.AssertAddresses(Return, Return, new EmailRecipient(emailAddresses[index], fullNames[index])); email.AssertSubject(Subject); Assert.IsTrue(email.GetHtmlView().Body.Contains(Body)); } }
protected Campaign CreateCampaign(int index, CampaignCategory category, Administrator administrator) { var campaign = new Campaign { Name = string.Format(CampaignNameFormat, index), CreatedBy = administrator.Id, Category = category }; _campaignsCommand.CreateCampaign(campaign); return(campaign); }
private ICommunicationUser CreateUser(CampaignCategory category, string emailAddress) { if (category == CampaignCategory.Member) { return(_membersQuery.GetMember(emailAddress)); } var employers = _employersQuery.GetEmployers(emailAddress); return(employers.Count == 0 ? null : employers[0]); }
private IList <Campaign> CreateCampaigns(int start, int count, CampaignCategory category, CampaignStatus status) { var campaigns = new List <Campaign>(); for (var index = start; index < start + count; ++index) { Campaign campaign; Template template; CreateTestCampaign(index, category, status, out campaign, out template); campaigns.Insert(0, campaign); } return(campaigns); }
protected Campaign CreateTestCampaign(int index, CampaignCategory category) { var campaign = new Campaign { Name = string.Format(CampaignNameFormat, index), CreatedBy = Guid.NewGuid(), Category = category, Query = null, }; _campaignsCommand.CreateCampaign(campaign); return(campaign); }
private void SubstitutionsTest(CampaignCategory category) { var administrator = _administratorAccountsCommand.CreateTestAdministrator(1); var campaign = CreateCampaign(1, category, administrator); ICommunicationUser user; string loginId; if (category == CampaignCategory.Employer) { var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0)); user = employer; loginId = employer.GetLoginId(); } else { var member = _memberAccountsCommand.CreateTestMember(0); user = member; loginId = member.GetLoginId(); } // Login as administrator. LogIn(administrator); // Navigate to page and set the template. Get(GetEditTemplateUrl(campaign.Id)); const string subject = "Something for <%= To.FirstName %>"; const string body = "<%= To.FullName %>, here is something for you."; _subjectTextBox.Text = subject; _bodyTextArea.Text = body; _saveButton.Click(); // Send. _loginIdsTextBox.Text = loginId; _sendButton.Click(); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, user); email.AssertSubject(subject.Replace("<%= To.FirstName %>", user.FirstName)); Assert.IsTrue(email.GetHtmlView().Body.Contains(body.Replace("<%= To.FullName %>", user.FullName))); }
protected static Campaign CreateTestCampaign(int index, CampaignCategory category) { return(new Campaign { Name = string.Format(CampaignNameFormat, index), Category = category, CreatedBy = Guid.NewGuid(), /* Template = new Template * { * Subject = string.Format(TemplateSubjectFormat, index), * Body = string.Format(TemplateBodyFormat, index) * },*/ }); }
private void OneLoginTest(CampaignCategory category) { var administrator = _administratorAccountsCommand.CreateTestAdministrator(1); var campaign = CreateCampaign(1, category, administrator); ICommunicationUser user; string loginId; if (category == CampaignCategory.Employer) { var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0)); user = employer; loginId = employer.GetLoginId(); } else { var member = _memberAccountsCommand.CreateTestMember(0); user = member; loginId = member.GetLoginId(); } // Login as administrator. LogIn(administrator); // Navigate to page and set the template. Get(GetEditTemplateUrl(campaign.Id)); _subjectTextBox.Text = Subject; _bodyTextArea.Text = Body; _saveButton.Click(); // Send. _loginIdsTextBox.Text = loginId; _sendButton.Click(); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, user); email.AssertSubject(Subject); Assert.IsTrue(email.GetHtmlView().Body.Contains(Body)); }
private void OneEmailTest(CampaignCategory category) { var administrator = _administratorAccountsCommand.CreateTestAdministrator(1); var campaign = CreateCampaign(1, category, administrator); string emailAddress; string fullName; if (category == CampaignCategory.Member) { var member = _memberAccountsCommand.CreateTestMember(0); emailAddress = member.EmailAddresses[0].Address; fullName = member.FullName; } else { var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0)); emailAddress = employer.EmailAddress.Address; fullName = employer.FullName; } // Login as administrator. LogIn(administrator); // Navigate to page and set the template. Get(GetEditTemplateUrl(campaign.Id)); _subjectTextBox.Text = Subject; _bodyTextArea.Text = Body; _saveButton.Click(); // Send. _emailAddressesTextBox.Text = emailAddress; _sendButton.Click(); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, new EmailRecipient(emailAddress, fullName)); email.AssertSubject(Subject); Assert.IsTrue(email.GetHtmlView().Body.Contains(Body)); }
protected void CreateTestCampaign(int index, CampaignCategory category, CampaignStatus status, out Campaign campaign, out Template template) { campaign = new Campaign { Id = Guid.NewGuid(), Name = Format(CampaignNameFormat, index), CreatedTime = DateTime.Now.AddMinutes(index), Category = category, Query = null, Status = status, }; _repository.CreateCampaign(campaign); template = new Template { Subject = Format(TemplateSubjectFormat, index), Body = Format(TemplateBodyFormat, index) }; _repository.CreateTemplate(campaign.Id, template); }
protected void CreateCampaign(int index, CampaignCategory category, string query, out Campaign campaign, out Template template) { campaign = new Campaign { Id = Guid.NewGuid(), Name = string.Format(CampaignNameFormat, index), CreatedBy = Guid.NewGuid(), CreatedTime = DateTime.Now.AddMinutes(index), Category = category, CommunicationCategoryId = _settingsQuery.GetCategory("Campaign").Id, Query = query, }; _campaignsCommand.CreateCampaign(campaign); template = new Template { Subject = string.Format(TemplateSubjectFormat, index), Body = string.Format(TemplateBodyFormat, index) }; _campaignsCommand.CreateTemplate(campaign.Id, template); }
public ActionResult PostEdit(Guid id, string name, CampaignCategory category, Guid?communicationDefinitionId, Guid?communicationCategoryId, string query) { // Get the campaign to update. var campaign = _campaignsQuery.GetCampaign(id); if (campaign == null) { return(NotFound("campaign", "id", id)); } var createdBy = _administratorsQuery.GetAdministrator(campaign.CreatedBy); try { // Update it with the new values. campaign.Name = name; campaign.Category = category; campaign.CommunicationDefinitionId = communicationDefinitionId; campaign.CommunicationCategoryId = communicationCategoryId; campaign.Query = query.NullIfEmpty(); _campaignsCommand.UpdateCampaign(campaign); return(RedirectToRoute(CampaignsRoutes.Edit, new { id })); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } // Show the user the errors. return(View(new CampaignSummaryModel { Campaign = campaign, CreatedBy = createdBy, IsReadOnly = false, CommunicationDefinitions = _settingsQuery.GetDefinitions(), CommunicationCategories = _settingsQuery.GetCategories() })); }
public ActionResult PagedCategoryIndex(CampaignCategory category, int page) { return(Index(category, page)); }
private static IQueryable <Campaign> GetCampaignsByCategory(CampaignsDataContext dc, CampaignCategory category, Range range) { if (range.Skip != 0) { return(range.Take != null ? GetCampaignsByCategorySkipTakeQuery(dc, category, range.Skip, range.Take.Value) : GetCampaignsByCategorySkipQuery(dc, category, range.Skip)); } return(range.Take != null ? GetCampaignsByCategoryTakeQuery(dc, category, range.Take.Value) : GetCampaignsByCategoryQuery(dc, category)); }
public ActionResult CategoryIndex(CampaignCategory category) { return(Index(category, null)); }
IList <RegisteredUser> ICampaignCriteriaCommand.Match(CampaignCategory category, string query) { return(category == CampaignCategory.Employer ? MatchEmployers(query) : MatchMembers(query)); }
IList <RegisteredUser> ICampaignCriteriaCommand.Match(CampaignCategory category, Criteria criteria) { return(category == CampaignCategory.Employer ? MatchEmployers(criteria) : MatchMembers(criteria)); }
protected void CreateTestCampaign(int index, CampaignCategory category, out Campaign campaign, out Template template) { CreateTestCampaign(index, category, CampaignStatus.Draft, out campaign, out template); }