public void SubmitMessage(ProviderContactMessage contactMessage) { switch (contactMessage.Type) { case ContactMessageTypes.ContactUs: SubmitContactUsMessage(contactMessage); break; default: _logService.Error("Invalid contact message type '{0}' for id {1}", contactMessage.Type, contactMessage.EntityId); break; } }
private void SubmitContactUsMessage(ProviderContactMessage contactMessage) { var helpdeskEmailAddress = _configurationService.Get <UserAccountConfiguration>().RecruitHelpdeskEmailAddress; var userEnquiryDetails = DefaultCommunicationToken(contactMessage.Details, DefaultUserEnquiryDetails); var userName = _providerReadRepository.GetByEmail(contactMessage.Email); var userContact = userName != null ? userName.Username : contactMessage.Email; _communicationService.SendMessageToProviderUser(userContact, MessageTypes.ProviderContactUsMessage, new[] { new CommunicationToken(CommunicationTokens.RecipientEmailAddress, helpdeskEmailAddress), new CommunicationToken(CommunicationTokens.UserEmailAddress, contactMessage.Email), new CommunicationToken(CommunicationTokens.UserFullName, contactMessage.Name), new CommunicationToken(CommunicationTokens.UserEnquiry, contactMessage.Enquiry), new CommunicationToken(CommunicationTokens.UserEnquiryDetails, userEnquiryDetails) }); }
public void SubmitContactMessageTest() { //Arrange ProviderContactMessage providerContactMessage = new ProviderContactMessage { Email = "*****@*****.**", Details = "Message Details", Name = ValidUsername, Type = ContactMessageTypes.ContactUs, Enquiry = "Message Enquiry" }; var communicationTokens = default(IEnumerable <CommunicationToken>); _communicationService.Setup(mock => mock.SendMessageToProviderUser( It.IsAny <string>(), It.IsAny <MessageTypes>(), It.IsAny <IEnumerable <CommunicationToken> >())) .Callback <string, MessageTypes, IEnumerable <CommunicationToken> >( (u, m, t) => communicationTokens = t); //Act _submitContactMessageStrategy.SubmitMessage(providerContactMessage); _communicationService.Verify(mock => mock.SendMessageToProviderUser( "john", MessageTypes.ProviderContactUsMessage, It.IsAny <IEnumerable <CommunicationToken> >()), Times.Once); communicationTokens.ShouldAllBeEquivalentTo(new[] { new CommunicationToken(CommunicationTokens.UserFullName, providerContactMessage.Name), new CommunicationToken(CommunicationTokens.UserEnquiryDetails, providerContactMessage.Details), new CommunicationToken(CommunicationTokens.RecipientEmailAddress, ValidHelpdeskEmailAddress), new CommunicationToken(CommunicationTokens.UserEmailAddress, providerContactMessage.Email), new CommunicationToken(CommunicationTokens.UserEnquiry, providerContactMessage.Enquiry) }); }
public void SubmitContactMessage(ProviderContactMessage contactMessage) { Condition.Requires(contactMessage); _submitContactMessageStrategy.SubmitMessage(contactMessage); }