public AccessRequestSubmitStatus SubmitAccessRequest(AccessRequestViewModel viewModel) { try { var result = _accessRequestModelToDomainMapper.ConvertToDomain(viewModel); var communicationTokens = new[] { //common tokens new CommunicationToken(CommunicationTokens.Title, result.Title), new CommunicationToken(CommunicationTokens.Firstname, result.Firstname), new CommunicationToken(CommunicationTokens.Lastname, result.Lastname), new CommunicationToken(CommunicationTokens.Fullname, String.Format("{0} {1} {2}", result.Title.ToFirstCharToUpper(), result.Firstname.ToFirstCharToUpper(), result.Lastname.ToFirstCharToUpper())), new CommunicationToken(CommunicationTokens.WorkPhoneNumber, result.WorkPhoneNumber), new CommunicationToken(CommunicationTokens.MobileNumber, result.MobileNumber), new CommunicationToken(CommunicationTokens.Email, result.Email), new CommunicationToken(CommunicationTokens.Position, result.Position), new CommunicationToken(CommunicationTokens.FullAddress, String.Format("{0} {1} {2} {3} {4}", result.Address.AddressLine1, result.Address.AddressLine2, result.Address.AddressLine3, result.Address.City, result.Address.Postcode)), new CommunicationToken(CommunicationTokens.Address1, result.Address.AddressLine1), new CommunicationToken(CommunicationTokens.Address2, result.Address.AddressLine2), new CommunicationToken(CommunicationTokens.Address3, result.Address.AddressLine3), new CommunicationToken(CommunicationTokens.City, result.Address.City), new CommunicationToken(CommunicationTokens.Postcode, result.Address.Postcode), new CommunicationToken(CommunicationTokens.Companyname, result.Companyname), //access request specific tokens new CommunicationToken(CommunicationTokens.UserType, result.UserType), new CommunicationToken(CommunicationTokens.Systemname, result.Systemname), new CommunicationToken(CommunicationTokens.AdditionalEmail, result.AdditionalEmail), new CommunicationToken(CommunicationTokens.Contactname, result.Contactname), new CommunicationToken(CommunicationTokens.AdditionalPhoneNumber, result.AdditionalPhoneNumber), new CommunicationToken(CommunicationTokens.HasApprenticeshipVacancies, result.HasApprenticeshipVacancies ? "Yes" : "No"), new CommunicationToken(CommunicationTokens.SelectedServiceTypeIds, String.Join(", ", result.SelectedServiceTypeIds)) }; //Send confirmation email to applicant _communciationService.SendMessage(MessageTypes.WebAccessRequest, communicationTokens); //Send email to helpdesk _communciationService.SendMessage(MessageTypes.WebAccessRequestConfirmation, communicationTokens); return(AccessRequestSubmitStatus.Success); } catch { //todo: log error using preferred logging mechanism return(AccessRequestSubmitStatus.Error); } }
public SubmitQueryStatus SubmitEnquiry(EmployerEnquiryViewModel employerEnquiryData) { try { var result = _employerEnquiryViewModelToDomainMapper.ConvertToDomain(employerEnquiryData); var communicationTokens = new[] { //common tokens new CommunicationToken(CommunicationTokens.Address1, result.Address.AddressLine1), new CommunicationToken(CommunicationTokens.Address2, result.Address.AddressLine2), new CommunicationToken(CommunicationTokens.Address3, result.Address.AddressLine3), new CommunicationToken(CommunicationTokens.City, result.Address.City), new CommunicationToken(CommunicationTokens.Postcode, result.Address.Postcode), new CommunicationToken(CommunicationTokens.FullAddress, String.Format("{0} {1} {2} {3} {4}", result.Address.AddressLine1, result.Address.AddressLine2, result.Address.AddressLine3, result.Address.City, result.Address.Postcode)), new CommunicationToken(CommunicationTokens.Title, result.Title), new CommunicationToken(CommunicationTokens.Firstname, result.Firstname), new CommunicationToken(CommunicationTokens.Lastname, result.Lastname), new CommunicationToken(CommunicationTokens.Email, result.Email), new CommunicationToken(CommunicationTokens.Fullname, String.Format("{0} {1} {2}", result.Title.ToFirstCharToUpper(), result.Firstname.ToFirstCharToUpper(), result.Lastname.ToFirstCharToUpper())), new CommunicationToken(CommunicationTokens.WorkPhoneNumber, result.WorkPhoneNumber), new CommunicationToken(CommunicationTokens.MobileNumber, result.MobileNumber), new CommunicationToken(CommunicationTokens.Companyname, result.Companyname), new CommunicationToken(CommunicationTokens.Position, result.Position), //Employer enquiry specific tokens new CommunicationToken(CommunicationTokens.EmployeesCount, result.EmployeesCount), new CommunicationToken(CommunicationTokens.EnquiryDescription, result.EnquiryDescription), new CommunicationToken(CommunicationTokens.EnquirySource, result.EnquirySource), new CommunicationToken(CommunicationTokens.PreviousExperienceType, result.PreviousExperienceType), new CommunicationToken(CommunicationTokens.WorkSector, result.WorkSector), new CommunicationToken(CommunicationTokens.EnquiryRelatesTo, result.EnquiryRelatesTo) }; //Send email to helpdesk _communciationService.SendMessage(MessageTypes.EmployerEnquiry, communicationTokens); //Send confirmation email to applicant //_communciationService.SendMessage(MessageTypes.EmployerEnquiryConfirmation, communicationTokens); return(SubmitQueryStatus.Success); } catch (System.Exception exception) { //todo: log error using preferred logging mechanism return(SubmitQueryStatus.Error); } }