137 lines
6.2 KiB
C#
137 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using TIAM.Core.Consts;
|
|
|
|
namespace TIAM.Services.Server
|
|
{
|
|
|
|
public static class EmailTemplateHelper
|
|
{
|
|
public static string GetTemplate(string templateName)
|
|
{
|
|
var assembly = Assembly.GetExecutingAssembly();
|
|
var resourceName = $"TIAM.Services.Server.EmbeddedResources.EmailTemplates.{templateName}.html";
|
|
Console.WriteLine(resourceName);
|
|
if (assembly.GetManifestResourceStream(resourceName) != null)
|
|
{
|
|
|
|
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
|
|
{
|
|
if (stream != null)
|
|
{
|
|
using (StreamReader reader = new StreamReader(stream))
|
|
{
|
|
return reader.ReadToEnd();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return "File not found";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return "Error";
|
|
}
|
|
}
|
|
|
|
public static string ReplacePlaceholders(string template, IDictionary<string, string> placeholders)
|
|
{
|
|
foreach (var placeholder in placeholders)
|
|
{
|
|
template = template.Replace($"{{{{{placeholder.Key}}}}}", placeholder.Value);
|
|
}
|
|
return template;
|
|
}
|
|
|
|
public static string GenerateForgotPasswordEmail(string userName, string settingBaseUrl, string userId, string token)
|
|
{
|
|
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.ForgotPasswordEmailTemplateName);
|
|
|
|
var placeholders = new Dictionary<string, string>
|
|
{
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[0], userName },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[1], settingBaseUrl },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[2], userId },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[3], token }
|
|
};
|
|
|
|
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
|
|
}
|
|
|
|
public static string GenerateNewTransferEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId)
|
|
{
|
|
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.NewTransferEmailTemplateName);
|
|
|
|
var placeholders = new Dictionary<string, string>
|
|
{
|
|
{ TiamConstClient.NewTransferEmailParameters[0], userName },
|
|
{ TiamConstClient.NewTransferEmailParameters[1], fromAddress },
|
|
{ TiamConstClient.NewTransferEmailParameters[2], toAddress },
|
|
{ TiamConstClient.NewTransferEmailParameters[3], appointment },
|
|
{ TiamConstClient.NewTransferEmailParameters[4], fullName },
|
|
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount },
|
|
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount },
|
|
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
|
|
{ TiamConstClient.NewTransferEmailParameters[8], transferId }
|
|
};
|
|
|
|
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
|
|
}
|
|
|
|
public static string GenerateTransferModifiedEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId)
|
|
{
|
|
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.TransferModifiedEmailTemplateName);
|
|
|
|
var placeholders = new Dictionary<string, string>
|
|
{
|
|
{ TiamConstClient.NewTransferEmailParameters[0], userName },
|
|
{ TiamConstClient.NewTransferEmailParameters[1], fromAddress },
|
|
{ TiamConstClient.NewTransferEmailParameters[2], toAddress },
|
|
{ TiamConstClient.NewTransferEmailParameters[3], appointment },
|
|
{ TiamConstClient.NewTransferEmailParameters[4], fullName },
|
|
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount },
|
|
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount },
|
|
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
|
|
{ TiamConstClient.NewTransferEmailParameters[8], transferId }
|
|
};
|
|
|
|
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
|
|
}
|
|
|
|
public static string GenerateGeneralEmail(string userName, string messageBody, string settingBaseUrl, string userId)
|
|
{
|
|
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.GeneralEmailTemplateName);
|
|
|
|
var placeholders = new Dictionary<string, string>
|
|
{
|
|
{ TiamConstClient.GeneralEmailParameters[0], userName },
|
|
{ TiamConstClient.GeneralEmailParameters[1], messageBody },
|
|
{ TiamConstClient.GeneralEmailParameters[2], settingBaseUrl },
|
|
{ TiamConstClient.GeneralEmailParameters[3], userId }
|
|
};
|
|
|
|
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
|
|
}
|
|
|
|
public static string GenerateWelcomeEmail(string userName, string settingBaseUrl, string userId, string token)
|
|
{
|
|
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.WelcomeEmailTemplateName);
|
|
|
|
var placeholders = new Dictionary<string, string>
|
|
{
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[0], userName },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[1], settingBaseUrl },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[2], userId },
|
|
{ TiamConstClient.ForgotPasswordEmailParameters[3], token }
|
|
};
|
|
|
|
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
|
|
}
|
|
|
|
}
|
|
}
|