Example #1
0
        public static string GetEmailTemplateTokenForCommunicationToken(CommunicationTokens key)
        {
            string emailTemplateToken;

            switch (key)
            {
            case CommunicationTokens.FullName:
                emailTemplateToken = "FullName";
                break;

            default:
                throw new ArgumentOutOfRangeException("key");
            }

            return(string.Format("{0}{1}{0}", TemplateTokenDelimiter, emailTemplateToken));
        }
Example #2
0
        public static string GetEmailTemplateTokenForCommunicationToken(CommunicationTokens key)
        {
            string emailTemplateToken;

            switch (key)
            {
            case CommunicationTokens.CandidateFirstName:
                emailTemplateToken = "Candidate.FirstName";
                break;

            case CommunicationTokens.CandidateLastName:
                emailTemplateToken = "Candidate.LastName";
                break;

            case CommunicationTokens.Username:
                emailTemplateToken = "Candidate.EmailAddress";
                break;

            case CommunicationTokens.ActivationCode:
                emailTemplateToken = "Candidate.ActivationCode";
                break;

            case CommunicationTokens.ActivationCodeExpiryDays:
                emailTemplateToken = "Candidate.ActivationCodeExpiryDays";
                break;

            case CommunicationTokens.PasswordResetCode:
                emailTemplateToken = "Candidate.PasswordResetCode";
                break;

            case CommunicationTokens.PasswordResetCodeExpiryDays:
                emailTemplateToken = "Candidate.PasswordResetCodeExpiryDays";
                break;

            case CommunicationTokens.AccountUnlockCode:
                emailTemplateToken = "Candidate.AccountUnlockCode";
                break;

            case CommunicationTokens.ApplicationVacancyTitle:
                emailTemplateToken = "Candidate.ApplicationVacancyTitle";
                break;

            case CommunicationTokens.ApplicationVacancyReference:
                emailTemplateToken = "Candidate.ApplicationVacancyReference";
                break;

            case CommunicationTokens.ApplicationId:
                emailTemplateToken = "Candidate.ApplicationId";
                break;

            case CommunicationTokens.AccountUnlockCodeExpiryDays:
                emailTemplateToken = "Candidate.AccountUnlockCodeExpiryDays";
                break;

            case CommunicationTokens.ProviderContact:
                emailTemplateToken = "Provider.Contact";
                break;

            case CommunicationTokens.ExpiringDraftsCount:
                emailTemplateToken = "Expiry.Vacancies.Count";
                break;

            case CommunicationTokens.ExpiringDrafts:
                emailTemplateToken = "Expiry.Vacancies.Info";
                break;

            case CommunicationTokens.UserEmailAddress:
                emailTemplateToken = "User.EmailAddress";
                break;

            case CommunicationTokens.UserFullName:
                emailTemplateToken = "User.FullName";
                break;

            case CommunicationTokens.UserEnquiry:
                emailTemplateToken = "User.Enquiry";
                break;

            case CommunicationTokens.UserEnquiryDetails:
                emailTemplateToken = "User.EnquiryDetails";
                break;

            default:
                throw new ArgumentOutOfRangeException("key");
            }

            return(string.Format("{0}{1}{0}", TemplateTokenDelimiter, emailTemplateToken));
        }
Example #3
0
 public CommunicationRequestBuilder WithToken(CommunicationTokens token, string value)
 {
     _tokens.Add(new CommunicationToken(token, value));
     return(this);
 }
        public static string GetEmailTemplateTokenForCommunicationToken(CommunicationTokens key)
        {
            string emailTemplateToken;

            switch (key)
            {
            case CommunicationTokens.Title:
                emailTemplateToken = "Title";
                break;

            case CommunicationTokens.Firstname:
                emailTemplateToken = "Firstname";
                break;

            case CommunicationTokens.Lastname:
                emailTemplateToken = "Lastname";
                break;

            case CommunicationTokens.Fullname:
                emailTemplateToken = "Fullname";
                break;

            case CommunicationTokens.FullAddress:
                emailTemplateToken = "FullAddress";
                break;

            case CommunicationTokens.WorkPhoneNumber:
                emailTemplateToken = "WorkPhoneNumber";
                break;

            case CommunicationTokens.Email:
                emailTemplateToken = "Email";
                break;

            case CommunicationTokens.MobileNumber:
                emailTemplateToken = "MobileNumber";
                break;

            case CommunicationTokens.Position:
                emailTemplateToken = "Position";
                break;

            case CommunicationTokens.Address1:
                emailTemplateToken = "Address1";
                break;

            case CommunicationTokens.Address2:
                emailTemplateToken = "Address2";
                break;

            case CommunicationTokens.Address3:
                emailTemplateToken = "Address3";
                break;

            case CommunicationTokens.Postcode:
                emailTemplateToken = "Postcode";
                break;

            case CommunicationTokens.City:
                emailTemplateToken = "City";
                break;

            case CommunicationTokens.Companyname:
                emailTemplateToken = "Companyname";
                break;

                #region Employer Enquiry Specific tokens start

            case CommunicationTokens.WorkSector:
                emailTemplateToken = "WorkSector";
                break;

            case CommunicationTokens.EmployeesCount:
                emailTemplateToken = "EmployeesCount";
                break;

            case CommunicationTokens.EnquiryDescription:
                emailTemplateToken = "EnquiryDescription";
                break;

            case CommunicationTokens.EnquirySource:
                emailTemplateToken = "EnquirySource";
                break;

            case CommunicationTokens.PreviousExperienceType:
                emailTemplateToken = "PreviousExperienceType";
                break;
                #endregion

                #region Web Access Request specific tokens

            case CommunicationTokens.Contactname:
                emailTemplateToken = "Contactname";
                break;

            case CommunicationTokens.UserType:
                emailTemplateToken = "UserType";
                break;

            case CommunicationTokens.HasApprenticeshipVacancies:
                emailTemplateToken = "HasApprenticeshipVacancies";
                break;

            case CommunicationTokens.Systemname:
                emailTemplateToken = "Systemname";
                break;

            case CommunicationTokens.SelectedServiceTypeIds:
                emailTemplateToken = "SelectedServiceTypeIds";
                break;

            case CommunicationTokens.AdditionalPhoneNumber:
                emailTemplateToken = "AdditionalPhoneNumber";
                break;

            case CommunicationTokens.AdditionalEmail:
                emailTemplateToken = "AdditionalEmail";
                break;
                #endregion

            default:
                try
                {
                    throw new ArgumentOutOfRangeException(string.Format("key: {0} not found", key));
                }
                catch (Exception ex)
                {
                    emailTemplateToken = ex.Message;
                    //todo: Log that mentioned no matching tokenTemplate avaialble but carry on to add other template tokens.
                    //_logger.Log...
                }
                break;
            }

            return(string.Format("{0}{1}{0}", TemplateTokenDelimiter, emailTemplateToken));
        }
Example #5
0
 public CommunicationToken(CommunicationTokens key, string value)
 {
     Key   = key;
     Value = value;
 }
        private void ResolveEmployerEnquiryElementValues(CommunicationTokens tokenKey, string tokenValue, XElement xElement)
        {
            try
            {
                string xElementName;
                switch (tokenKey)
                {
                case CommunicationTokens.Title:
                    xElementName = "Title";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Firstname:
                    xElementName = "Forename";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Lastname:
                    xElementName = "Surname";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.WorkPhoneNumber:
                    xElementName = "PrimaryContactLandlineTelephoneNumber";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Email:
                    xElementName = "PrimaryContactEmailAddress";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.MobileNumber:
                    xElementName = "PrimaryContactMobileTelephoneNumber";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Position:
                    xElementName = "Position";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address1:
                    xElementName = "AddressLine1";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address2:
                    xElementName = "AddressLine2";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address3:
                    xElementName = "AddressLine3";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Postcode:
                    xElementName = "PostCode";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.City:
                    xElementName = "Town";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Companyname:
                    xElementName = "EmployerName";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;
                    #region Employer Enquiry Specific tokens start

                case CommunicationTokens.WorkSector:
                    xElementName = "Sector";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.EmployeesCount:
                    xElementName = "NumberOfEmployees";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.EnquiryDescription:
                    xElementName = "Question";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.EnquirySource:
                    xElementName = "HowDidYOuhearaboutWebsite";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.PreviousExperienceType:
                    xElementName = "PreviousExperience";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;
                    //todo: add for EnquiryRelatesTo
                    #endregion

                default:
                    throw new ArgumentOutOfRangeException(string.Format("key: {0} not found", tokenKey));
                }
            }
            catch (Exception ex)
            {
                //todo: Log that mentioned no matching tokenTemplate avaialble but carry on to add other template tokens.
                //_logger.Log..
                //throw;
            }
        }
        private void ResolveAccessRequestElementValues(CommunicationTokens tokenKey, string tokenValue, XElement xElement)
        {
            try
            {
                string xElementName;
                switch (tokenKey)
                {
                case CommunicationTokens.Title:
                    xElementName = "Title";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.UserType:
                    xElementName = "UserType";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Firstname:
                    xElementName = "Firstname";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Position:
                    xElementName = "Position";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Lastname:
                    xElementName = "Lastname";
                    xElement.Element("PrimaryContactName").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.WorkPhoneNumber:
                    xElementName = "WorkPhoneNumber";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.MobileNumber:
                    xElementName = "MobilePhoneNumber";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Email:
                    xElementName = "EmailAddress";
                    xElement.Element(xElementName).Value = tokenValue;

                    xElementName = "ConfirmEmailAddress";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address1:
                    xElementName = "AddressLine1";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address2:
                    xElementName = "AddressLine2";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Address3:
                    xElementName = "AddressLine3";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Postcode:
                    xElementName = "PostCode";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.City:
                    xElementName = "Town";
                    xElement.Element("AddressDetails")
                    .Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Companyname:
                    xElementName = "OrganisationName";
                    xElement.Element(xElementName).Value = tokenValue;

                    xElementName = "CompanyName";
                    xElement.Element("AddressDetails").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.HasApprenticeshipVacancies:
                    xElementName = "VacancyEnquiry";
                    xElement.Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Contactname:
                    xElementName = "ContactName";
                    xElement.Element("SystemDetails").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.AdditionalPhoneNumber:
                    xElementName = "ContactPhoneNumber";
                    xElement.Element("SystemDetails").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.AdditionalEmail:
                    xElementName = "ContactEmailAddress";
                    xElement.Element("SystemDetails").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.Systemname:
                    xElementName = "SystemName";
                    xElement.Element("SystemDetails").Element(xElementName).Value = tokenValue;
                    break;

                case CommunicationTokens.SelectedServiceTypeIds:
                    xElementName = "ServiceRequired";
                    xElement.Element("SystemDetails").Element(xElementName).Value = tokenValue;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(string.Format("key: {0} not found", tokenKey));
                }
            }
            catch (Exception ex)
            {
                //todo: Log that mentioned no matching tokenTemplate avaialble but carry on to add other template tokens.
                //_logger.Log..
                //throw;
            }
        }
Example #8
0
 public static string GetToken(this CommunicationRequest communicationRequest, CommunicationTokens communicationToken)
 {
     return(communicationRequest.Tokens.First(t => t.Key == communicationToken).Value);
 }
Example #9
0
 public static bool ContainsToken(this CommunicationRequest communicationRequest, CommunicationTokens communicationToken)
 {
     return(communicationRequest.Tokens.Count(each => each.Key == communicationToken) > 0);
 }
Example #10
0
        public static string GetEmailTemplateTokenForCommunicationToken(CommunicationTokens key)
        {
            string emailTemplateToken;

            switch (key)
            {
            case CommunicationTokens.CandidateFirstName:
                emailTemplateToken = "Candidate.FirstName";
                break;

            case CommunicationTokens.CandidateLastName:
                emailTemplateToken = "Candidate.LastName";
                break;

            case CommunicationTokens.Username:
                emailTemplateToken = "Candidate.EmailAddress";
                break;

            case CommunicationTokens.ActivationCode:
                emailTemplateToken = "Candidate.ActivationCode";
                break;

            case CommunicationTokens.ActivationCodeExpiryDays:
                emailTemplateToken = "Candidate.ActivationCodeExpiryDays";
                break;

            case CommunicationTokens.PasswordResetCode:
                emailTemplateToken = "Candidate.PasswordResetCode";
                break;

            case CommunicationTokens.PasswordResetCodeExpiryDays:
                emailTemplateToken = "Candidate.PasswordResetCodeExpiryDays";
                break;

            case CommunicationTokens.AccountUnlockCode:
                emailTemplateToken = "Candidate.AccountUnlockCode";
                break;

            case CommunicationTokens.ApplicationVacancyEmployerName:
                emailTemplateToken = "Candidate.ApplicationVacancyEmployerName";
                break;

            case CommunicationTokens.ApplicationVacancyTitle:
                emailTemplateToken = "Candidate.ApplicationVacancyTitle";
                break;

            case CommunicationTokens.ApplicationVacancyReference:
                emailTemplateToken = "Candidate.ApplicationVacancyReference";
                break;

            case CommunicationTokens.ApplicationId:
                emailTemplateToken = "Candidate.ApplicationId";
                break;

            case CommunicationTokens.AccountUnlockCodeExpiryDays:
                emailTemplateToken = "Candidate.AccountUnlockCodeExpiryDays";
                break;

            case CommunicationTokens.ProviderContact:
                emailTemplateToken = "Provider.Contact";
                break;

            case CommunicationTokens.ExpiringDrafts:
                emailTemplateToken = "Expiring.Drafts";
                break;

            case CommunicationTokens.UserEmailAddress:
                emailTemplateToken = "User.EmailAddress";
                break;

            case CommunicationTokens.UserFullName:
                emailTemplateToken = "User.FullName";
                break;

            case CommunicationTokens.UserEnquiry:
                emailTemplateToken = "User.Enquiry";
                break;

            case CommunicationTokens.UserEnquiryDetails:
                emailTemplateToken = "User.EnquiryDetails";
                break;

            case CommunicationTokens.ApplicationStatusAlerts:
                emailTemplateToken = "Application.Status.Alert";
                break;

            case CommunicationTokens.SavedSearchAlerts:
                emailTemplateToken = "Saved.Search.Alerts";
                break;

            case CommunicationTokens.UserPendingUsername:
                emailTemplateToken = "User.PendingUsername";
                break;

            case CommunicationTokens.UserPendingUsernameCode:
                emailTemplateToken = "User.PendingUsernameCode";
                break;

            case CommunicationTokens.CandidateSiteDomainName:
                emailTemplateToken = "Candidate.SiteDomainName";
                break;

            case CommunicationTokens.CandidateSubscriberId:
                emailTemplateToken = "Candidate.SubscriberId";
                break;

            case CommunicationTokens.CandidateSubscriptionType:
                emailTemplateToken = "Candidate.SubscriptionType";
                break;

            case CommunicationTokens.LastLogin:
                emailTemplateToken = "Candidate.LastLogin";
                break;

            case CommunicationTokens.AccountExpiryDate:
                emailTemplateToken = "Candidate.AccountExpiryDate";
                break;

            case CommunicationTokens.ProviderUserEmailVerificationCode:
                emailTemplateToken = "ProviderUser.EmailVerificationCode";
                break;

            case CommunicationTokens.ProviderUserFullName:
                emailTemplateToken = "ProviderUser.FullName";
                break;

            case CommunicationTokens.ProviderUserUsername:
                emailTemplateToken = "ProviderUser.Username";
                break;

            case CommunicationTokens.EmployerApplicationLinks:
                emailTemplateToken = "Employer.ApplicationLinks";
                break;

            case CommunicationTokens.ProviderName:
                emailTemplateToken = "Provider.Name";
                break;

            case CommunicationTokens.EmployerApplicationLinksExpiry:
                emailTemplateToken = "Employer.ApplicationLinksExpiry";
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(key), key, string.Format("Unknown communication token '{0}'.", key));
            }

            return(string.Format("{0}{1}{0}", TemplateTokenDelimiter, emailTemplateToken));
        }