void IEmployerMemberContactsCommand.ContactMembers(ChannelApp app, IEmployer employer, ProfessionalViews views, ContactMemberMessage messageTemplate) { var cleaner = new MemberMessageCleaner(); var cleanedBody = cleaner.CleanBody(messageTemplate.Body); var cleanedSubject = cleaner.CleanSubject(messageTemplate.Subject); // Try to access all the members. var accesses = _employerMemberViewsCommand.AccessMembers(app, employer, views, MemberAccessReason.MessageSent); // Get the member and the representative if there is one. var representativeIds = _memberContactsQuery.GetRepresentativeContacts(from m in views select m.Id); // Iterate through them all exercising credits when needed. var handlers = MessageCreated; foreach (var view in views) { var viewId = view.Id; var representativeId = representativeIds[view.Id]; var access = (from a in accesses where a.MemberId == viewId select a).SingleOrDefault(); ContactMember(messageTemplate, employer, view, cleanedSubject, cleanedBody, representativeId, access, handlers); } }
void IEmployerMemberContactsCommand.RejectMember(IEmployer employer, ProfessionalView view, RejectionMemberMessage messageTemplate) { var cleaner = new MemberMessageCleaner(); var cleanedBody = cleaner.CleanBody(messageTemplate.Body); var cleanedSubject = cleaner.CleanSubject(messageTemplate.Subject); // Save the message. var handlers = MessageCreated; var representativeId = _memberContactsQuery.GetRepresentativeContact(view.Id); ContactMember(messageTemplate, employer, view, cleanedSubject, cleanedBody, representativeId, null, handlers); }
void IEmployerMemberContactsCommand.ContactMember(ChannelApp app, IEmployer employer, ProfessionalView view, ContactMemberMessage messageTemplate) { var cleaner = new MemberMessageCleaner(); var cleanedBody = cleaner.CleanBody(messageTemplate.Body); var cleanedSubject = cleaner.CleanSubject(messageTemplate.Subject); // Messages are being sent so exercise a credit. var access = _employerMemberViewsCommand.AccessMember(app, employer, view, MemberAccessReason.MessageSent); // Save the message. if (access != null) { var handlers = MessageCreated; var representativeId = _memberContactsQuery.GetRepresentativeContact(view.Id); ContactMember(messageTemplate, employer, view, cleanedSubject, cleanedBody, representativeId, access, handlers); } }
void IEmployerMemberContactsCommand.RejectMembers(IEmployer employer, ProfessionalViews views, RejectionMemberMessage messageTemplate) { var cleaner = new MemberMessageCleaner(); var cleanedBody = cleaner.CleanBody(messageTemplate.Body); var cleanedSubject = cleaner.CleanSubject(messageTemplate.Subject); // Get the member and the representative if there is one. var representativeIds = _memberContactsQuery.GetRepresentativeContacts(from m in views select m.Id); // Iterate through them all exercising credits when needed. var handlers = MessageCreated; foreach (var view in views) { var representativeId = representativeIds[view.Id]; ContactMember(messageTemplate, employer, view, cleanedSubject, cleanedBody, representativeId, null, handlers); } }