protected IList <Employer> CreateEmployers(int start, int count, EmployerSubRole subRole, IOrganisation organisation, params Industry[] industries) { var employers = new List <Employer>(); for (var index = start; index < start + count; ++index) { employers.Add(CreateEmployer(index, subRole, organisation, industries)); } return(employers); }
private Employer CreateEmployer(int index, EmployerSubRole subRole) { var employer = _employerAccountsCommand.CreateTestEmployer(index, _organisationsCommand.CreateTestOrganisation(index)); if (employer.SubRole != subRole) { employer.SubRole = subRole; _employerAccountsCommand.UpdateEmployer(employer); } return(employer); }
protected Employer CreateEmployer(int index, EmployerSubRole subRole, IOrganisation organisation, params Industry[] industries) { var employer = _employerAccountsCommand.CreateTestEmployer(string.Format(EmployerUserIdFormat, index), _organisationsCommand.CreateTestOrganisation(0)); employer.SubRole = subRole; if (organisation != null) { employer.Organisation = organisation; } if (industries != null) { employer.Industries = industries.ToList(); } _employerAccountsCommand.UpdateEmployer(employer); _allocationsCommand.CreateAllocation(new Allocation { OwnerId = employer.Id, CreditId = _creditsQuery.GetCredit <ContactCredit>().Id, ExpiryDate = DateTime.Now.AddDays(100), InitialQuantity = 100 }); return(employer); }
protected IList <Employer> CreateEmployers(int start, int count, EmployerSubRole subRole) { return(CreateEmployers(start, count, subRole, null, null)); }
protected Employer CreateEmployer(int index, EmployerSubRole subRole) { return(CreateEmployer(index, subRole, null, null)); }
private void Execute(DateTime start, DateTime end, IList <Employer> employers, EmployerSubRole subRole) { const string method = "Execute"; // Grab the number of new candidates. var joinedUserIds = _accountReportsQuery.GetNewUserIds(UserType.Member, new DateTimeRange(start, end)); var updatedResumeCandidateIds = _resumeReportsQuery.GetUpdatedResumeCandidateIds(new DateTimeRange(start, end)); var newCandidates = joinedUserIds.Union(updatedResumeCandidateIds).Count(); // Only send emails if in fact there are new candidates. if (newCandidates > 0) { employers = (from e in employers where e.SubRole == subRole select e).ToList(); EventSource.Raise(Event.Information, method, string.Format("Sending usage reminder emails to {0} {1}...", employers.Count, subRole == EmployerSubRole.Employer ? "employers" : "recruiters")); foreach (var employer in employers.OrderBy(e => e.EmailAddress.Address)) { try { // Only send an email if this employer has not already received one. _emailsCommand.TrySend(new EmployerUsageEmail(employer, newCandidates), DateTime.MinValue); } catch (Exception ex) { EventSource.Raise(Event.Error, method, string.Format("Failed to send a usage reminder email to '{0}'", employer), ex, new StandardErrorHandler()); } } EventSource.Raise(Event.Information, method, string.Format("Finished sending {0} usage reminder emails to {1}.", employers.Count, subRole == EmployerSubRole.Employer ? "employers" : "recruiters")); } return; }
private IEnumerable <Employer> CreateEmployers(int start, int count, EmployerSubRole subRole) { return(CreateEmployers(start, count, subRole, null, null)); }
private IList <Employer> CreateEmployers(DateTime lastLoggedIn, bool enabled, EmployerSubRole subRole, int start, int count) { IList <Employer> employers = new List <Employer>(); for (int index = start; index < start + count; index++) { Employer employer = _employerAccountsCommand.CreateTestEmployer(string.Format(EmployerUserIdFormat, index), _organisationsCommand.CreateTestOrganisation(0)); employer.FirstName = string.Format(EmployerFirstNameFormat, index); employer.LastName = EmployerLastName; employer.CreatedTime = lastLoggedIn; employer.SubRole = subRole; employer.IsEnabled = enabled; _employerAccountsCommand.UpdateEmployer(employer); _userSessionsRepository.CreateUserLogin(new UserLogin { Id = Guid.NewGuid(), UserId = employer.Id, Time = lastLoggedIn, AuthenticationStatus = AuthenticationStatus.Authenticated }); employers.Add(employer); } return(employers); }
private static Employer CreateTestEmployer(this IEmployerAccountsCommand employersCommand, string loginId, string firstName, string lastName, string emailAddress, EmployerSubRole subRole, IOrganisation organisation) { var employer = new Employer { EmailAddress = new EmailAddress { Address = emailAddress }, IsActivated = true, IsEnabled = true, PhoneNumber = new PhoneNumber { Number = DefaultPhoneNumber, Type = PhoneNumberType.Mobile }, FirstName = firstName, LastName = lastName, Organisation = organisation, SubRole = subRole, }; employersCommand.CreateTestEmployer(employer, loginId); return(employer); }
private static Employer CreateTestEmployer(this IEmployerAccountsCommand employersCommand, string loginId, string firstName, string lastName, EmployerSubRole subRole, IOrganisation organisation) { return(CreateTestEmployer( employersCommand, loginId, firstName, lastName, string.Format(EmailAddressFormat, loginId), subRole, organisation)); }