Last active
March 15, 2024 17:03
-
-
Save PraveenMathew92/97f393855710de10e1943f26331d7028 to your computer and use it in GitHub Desktop.
Updated Registration Template Confirmation Email
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// PA - Updated Registration Template Confirmation Email to not include Additional Confirmation Details if all registrants are in wait list | |
/// </summary> | |
public override void Up() | |
{ | |
// Replace the old Templates to include check for waitlist while getting the count of registrants. | |
Sql( @"UPDATE [RegistrationTemplate] | |
SET [ConfirmationEmailTemplate] = REPLACE([ConfirmationEmailTemplate], | |
'{% assign registrantCount = Registration.Registrants | Size %}', | |
'{% assign registrantCount = Registration.Registrants | Where:''OnWaitList'', false | Size %}')" ); | |
// Enclose the AdditionalConfirmationDetails in a p tag for the old templates which originally did not have the tag. | |
var confirmationEmailTemplateColumn = RockMigrationHelper.NormalizeColumnCRLF( "ConfirmationEmailTemplate" ); | |
var additionalConfirmationDetailsWithoutPTag = @"{{ RegistrationInstance.AdditionalConfirmationDetails }} | |
<p>"; | |
var additionalConfirmationDetailsWithPTag = @"<p> | |
{{ RegistrationInstance.AdditionalConfirmationDetails }} | |
</p> | |
<p>"; | |
Sql( $@"UPDATE [RegistrationTemplate] | |
SET [ConfirmationEmailTemplate] = | |
REPLACE({confirmationEmailTemplateColumn}, | |
'{additionalConfirmationDetailsWithoutPTag}', | |
'{additionalConfirmationDetailsWithPTag}')" ); | |
// Add the check to not send the Additional Confirmation Details if all the registrants are in waitlist. | |
var additionalConfirmationDetailsWithCheck = @"//- 16.4 fix | |
{% if registrantCount > 0 %} | |
<p> | |
{{ RegistrationInstance.AdditionalConfirmationDetails }} | |
</p> | |
{% endif %} | |
<p>"; | |
Sql( $@"UPDATE [RegistrationTemplate] | |
SET [ConfirmationEmailTemplate] = REPLACE({confirmationEmailTemplateColumn}, | |
'{additionalConfirmationDetailsWithPTag}', | |
'{additionalConfirmationDetailsWithCheck}') | |
WHERE {confirmationEmailTemplateColumn} NOT LIKE '%//- 16.4 fix%'; | |
" ); | |
// Update the WaitListTransitionEmailTemplate to include the Additional Confirmation Details if needed. | |
var targetColumn = RockMigrationHelper.NormalizeColumnCRLF( "WaitListTransitionEmailTemplate" ); | |
var previousTemplate = @"<p> | |
If you have any questions please contact {{ RegistrationInstance.ContactPersonAlias.Person.FullName }} at {{ RegistrationInstance.ContactEmail }}. | |
</p>"; | |
var newTemplate = @"//- 16.4 fix | |
{% if AdditionalFieldsNeeded == false and Registration.BalanceDue <= 0 %} | |
<p> | |
{{ RegistrationInstance.AdditionalConfirmationDetails }} | |
</p> | |
{% endif %} | |
<p> | |
If you have any questions please contact {{ RegistrationInstance.ContactPersonAlias.Person.FullName }} at {{ RegistrationInstance.ContactEmail }}. | |
</p>"; | |
Sql( $@"UPDATE [RegistrationTemplate] | |
SET [WaitListTransitionEmailTemplate] = | |
REPLACE({targetColumn}, | |
'{previousTemplate}', | |
'{newTemplate}') | |
WHERE {targetColumn} NOT LIKE '%//- 16.4 fix%'" ); | |
// Add the migration for older Footer Text of WaitList Transition Email Template. | |
previousTemplate = @"<p> | |
If you have any questions please contact {{ RegistrationInstance.ContactName }} at {{ RegistrationInstance.ContactEmail }}. | |
</p>"; | |
Sql( $@"UPDATE [RegistrationTemplate] | |
SET [WaitListTransitionEmailTemplate] = | |
REPLACE({targetColumn}, | |
'{previousTemplate}', | |
'{newTemplate}') | |
WHERE {targetColumn} NOT LIKE '%//- 16.4 fix%'" ); | |
// Fix typo in Wait List Transition Email Template. | |
Sql( @"UPDATE [RegistrationTemplate] | |
SET [WaitListTransitionEmailTemplate] = REPLACE([WaitListTransitionEmailTemplate], | |
'Addition information is needed in order to process this registration', | |
'Additional information is needed in order to process this registration')" ); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment