private void SendEmailToMember(GroupMember member, Group group, KeyValuePair <int, List <DateTime> > occGroup) { var email = staffEmail; if (member.IsNotNull()) { email = member.Person.Email; } if (email.IsNotNullOrWhiteSpace()) { groupsNotified.Add(group.Id); var mergeObjects = Rock.Lava.LavaHelper.GetCommonMergeFields(null, member.IsNotNull() ? member.Person : null); mergeObjects.Add("Person", member.IsNotNull() ? member.Person : null); mergeObjects.Add("Group", group); mergeObjects.Add("Occurrence", occGroup.Value.Max()); var recipients = new List <RockEmailMessageRecipient>(); recipients.Add(RockEmailMessageRecipient.CreateAnonymous(email, mergeObjects)); var emailMessage = new RockEmailMessage(systemEmailGuid); emailMessage.SetRecipients(recipients); var errors = new List <string>(); emailMessage.Send(out errors); if (errors.Any()) { errorCount += errors.Count; errorMessages.AddRange(errors); } else { attendanceRemindersSent++; } } else { errorCount += 1; errorMessages.Add(string.Format("No email specified for group {0} and no fallback email provided.", group.Id)); } }