void ISettingsRepository.CreateNonMemberSettings(NonMemberSettings settings) { using (var dc = CreateContext()) { dc.NonMemberSettingEntities.InsertOnSubmit(settings.Map()); dc.SubmitChanges(); } }
public static NonMemberSettingEntity Map(this NonMemberSettings settings) { var entity = new NonMemberSettingEntity { id = settings.Id }; settings.MapTo(entity); return(entity); }
public static void MapTo(this NonMemberSettings settings, NonMemberSettingEntity entity) { var flags = new NonMemberFlags(); if (settings.SuppressSuggestedCandidatesEmails) { flags = flags.SetFlag(NonMemberFlags.SuppressSuggestedCandidatesEmails); } entity.emailAddress = settings.EmailAddress; entity.flags = (byte)flags; }
void ISettingsRepository.UpdateNonMemberSettings(NonMemberSettings settings) { using (var dc = CreateContext()) { var entity = GetNonMemberSettingsEntity(dc, settings.Id); if (entity != null) { settings.MapTo(entity); dc.SubmitChanges(); } } }
private void UpdateSuggestedCandidates(IEmployer employer, bool showSuggestedCandidates, bool sendSuggestedCandidates, bool receiveSuggestedCandidates) { // Update the job poster. var jobPoster = _jobPostersQuery.GetJobPoster(employer.Id) ?? new JobPoster { Id = employer.Id }; if (showSuggestedCandidates != jobPoster.ShowSuggestedCandidates || sendSuggestedCandidates != jobPoster.SendSuggestedCandidates) { jobPoster.ShowSuggestedCandidates = showSuggestedCandidates; jobPoster.SendSuggestedCandidates = sendSuggestedCandidates; _jobPostersCommand.UpdateJobPoster(jobPoster); } // Update the non-member settings. var nonMemberSettings = _nonMemberSettingsQuery.GetNonMemberSettings(employer.EmailAddress.Address); if (nonMemberSettings != null) { if (receiveSuggestedCandidates == nonMemberSettings.SuppressSuggestedCandidatesEmails) { nonMemberSettings.SuppressSuggestedCandidatesEmails = !receiveSuggestedCandidates; _nonMemberSettingsCommand.UpdateNonMemberSettings(nonMemberSettings); } } else if (!receiveSuggestedCandidates) { // !Suppress is the default state, so if there are no settings that's fine. nonMemberSettings = new NonMemberSettings { EmailAddress = employer.EmailAddress.Address, SuppressSuggestedCandidatesEmails = true }; _nonMemberSettingsCommand.CreateNonMemberSettings(nonMemberSettings); } }
public static bool ChangeSuggestedCandidatesSubscription(string emailAddress, bool subscribe, out int registeredCount) { // Is this a registered employer? var employers = _employersQuery.GetEmployers(emailAddress); registeredCount = employers.Count; // Change the NonMemberSettings for that email address (regardless of whether they're registered). var nms = _nonMemberSettingsQuery.GetNonMemberSettings(emailAddress); if (nms != null) { if (subscribe != nms.SuppressSuggestedCandidatesEmails) { return(false); } nms.SuppressSuggestedCandidatesEmails = !subscribe; _nonMemberSettingsCommand.UpdateNonMemberSettings(nms); } else if (subscribe) { // "Subscribed" is the default state, so if there are no settings that's fine. return(false); } else { nms = new NonMemberSettings { EmailAddress = emailAddress, SuppressSuggestedCandidatesEmails = true }; _nonMemberSettingsCommand.CreateNonMemberSettings(nms); } return(true); }
void INonMemberSettingsCommand.UpdateNonMemberSettings(NonMemberSettings settings) { settings.Validate(); _repository.UpdateNonMemberSettings(settings); }
void INonMemberSettingsCommand.CreateNonMemberSettings(NonMemberSettings settings) { settings.Prepare(); settings.Validate(); _repository.CreateNonMemberSettings(settings); }