Example #1
0
 void ISettingsRepository.CreateNonMemberSettings(NonMemberSettings settings)
 {
     using (var dc = CreateContext())
     {
         dc.NonMemberSettingEntities.InsertOnSubmit(settings.Map());
         dc.SubmitChanges();
     }
 }
Example #2
0
        public static NonMemberSettingEntity Map(this NonMemberSettings settings)
        {
            var entity = new NonMemberSettingEntity {
                id = settings.Id
            };

            settings.MapTo(entity);
            return(entity);
        }
Example #3
0
        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;
        }
Example #4
0
 void ISettingsRepository.UpdateNonMemberSettings(NonMemberSettings settings)
 {
     using (var dc = CreateContext())
     {
         var entity = GetNonMemberSettingsEntity(dc, settings.Id);
         if (entity != null)
         {
             settings.MapTo(entity);
             dc.SubmitChanges();
         }
     }
 }
Example #5
0
        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);
            }
        }
Example #6
0
        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);
 }