Files
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

49 lines
1.7 KiB
C#

// Copyright (c) Microsoft. All rights reserved.
using Microsoft.SemanticKernel;
using Step02.Models;
namespace Step02.Steps;
/// <summary>
/// Mock step that emulates the creation of a Welcome Packet for a new user after account creation
/// </summary>
public class WelcomePacketStep : KernelProcessStep
{
public static class ProcessStepFunctions
{
public const string CreateWelcomePacket = nameof(CreateWelcomePacket);
}
[KernelFunction(ProcessStepFunctions.CreateWelcomePacket)]
public async Task CreateWelcomePacketAsync(KernelProcessStepContext context, bool marketingEntryCreated, bool crmRecordCreated, AccountDetails accountDetails, Kernel _kernel)
{
Console.WriteLine($"[WELCOME PACKET] New Account {accountDetails.AccountId} created");
var mailMessage = $"""
Dear {accountDetails.UserFirstName} {accountDetails.UserLastName}
We are thrilled to inform you that you have successfully created a new PRIME ABC Account with us!
Account Details:
Account Number: {accountDetails.AccountId}
Account Type: {accountDetails.AccountType}
Please keep this confidential for security purposes.
Here is the contact information we have in file:
Email: {accountDetails.UserEmail}
Phone: {accountDetails.UserPhoneNumber}
Thank you for opening an account with us!
""";
await context.EmitEventAsync(new()
{
Id = AccountOpeningEvents.WelcomePacketCreated,
Data = mailMessage,
Visibility = KernelProcessEventVisibility.Public,
});
}
}