public void Send(EmailTemplate template) { try { string templatePath = VirtualPathUtility.ToAbsolute(String.Format("~/files/themes/{0}/templates/{1}", GraffitiContext.Current.Theme, template.TemplateName)); templatePath = HttpContext.Current.Server.MapPath(templatePath); string body = TemplateEngine.Evaluate(Util.GetFileText(templatePath), template.Context); using (MailMessage message = new MailMessage(_settings.EmailFrom, template.To)) { message.Subject = template.Subject; message.IsBodyHtml = template.IsHTML; message.Body = body; SendMailMessage(message); } } catch (Exception ex) { Logger.Error(Create.New.LogMessage().WithTitle("Could not send e-mail"), ex); throw; } }
public void TemplateEngineHeyDawgReplacementTest() { var mapOfVariables = new Dictionary <string, string> { { "name", "Cenk" } }; const string expected = "Hello {$Cenk}"; var actual = TemplateEngine.Evaluate("Hello {${$name}}", mapOfVariables); Assert.AreEqual(expected, actual); }
public void TemplateEngineHeyDawgLastMultipleReplacementTest() { var mapOfVariables = new Dictionary <string, string> { { "firstName", "Cenk" }, { "lastName", "Civici" } }; const string expected = "Hello Cenk {$Civici}"; var actual = TemplateEngine.Evaluate("Hello {$firstName} {${$lastName}}", mapOfVariables); Assert.AreEqual(expected, actual); }
public void TestInlineTemplateWithTemplateFile() { var emptyEngine = new TemplateEngine().AddFile(GetExampleFilePath("8.lg")); Assert.AreEqual(emptyEngine.Evaluate("Hi"), "Hi"); Assert.AreEqual(emptyEngine.Evaluate("Hi", null), "Hi"); Assert.AreEqual(emptyEngine.Evaluate("Hi @{name}", new { name = "DL" }), "Hi DL"); Assert.AreEqual(emptyEngine.Evaluate("Hi @{name.FirstName}@{name.LastName}", new { name = new { FirstName = "D", LastName = "L" } }), "Hi DL"); Assert.AreEqual( emptyEngine.Evaluate( "Hi @{name.FirstName}@{name.LastName} @{RecentTasks()}", new { name = new { FirstName = "D", LastName = "L" } }), "Hi DL You don't have any tasks."); Assert.AreEqual( emptyEngine.Evaluate( "Hi @{name.FirstName}@{name.LastName} @{RecentTasks()}", new { name = new { FirstName = "D", LastName = "L" }, recentTasks = new[] { "task1" } }), "Hi DL Your most recent task is task1. You can let me know if you want to add or complete a task."); }
public void TestBasicInlineTemplate() { var emptyEngine = new TemplateEngine(); Assert.AreEqual(emptyEngine.Evaluate("Hi"), "Hi"); Assert.AreEqual(emptyEngine.Evaluate("Hi", null), "Hi"); Assert.AreEqual(emptyEngine.Evaluate("Hi @{name}", new { name = "DL" }), "Hi DL"); Assert.AreEqual(emptyEngine.Evaluate("Hi @{name.FirstName}@{name.LastName}", new { name = new { FirstName = "D", LastName = "L" } }), "Hi DL"); Assert.AreEqual(emptyEngine.Evaluate("Hi \n Hello", null), "Hi \n Hello"); Assert.AreEqual(emptyEngine.Evaluate("Hi \r\n Hello", null), "Hi \r\n Hello"); Assert.AreEqual(emptyEngine.Evaluate("Hi \r\n @{name}", new { name = "DL" }), "Hi \r\n DL"); }
/// <summary> /// Method to generate text from given template and data. /// </summary> /// <param name="turnContext">Context for the current turn of conversation.</param> /// <param name="template">template to evaluate.</param> /// <param name="data">data to bind to.</param> /// <returns>generated text.</returns> public async Task <string> Generate(ITurnContext turnContext, string template, object data) { try { return(await Task.FromResult(engine.Evaluate(template, data).ToString())); } catch (Exception err) { if (!string.IsNullOrEmpty(this.Id)) { throw new Exception($"{Id}:{err.Message}"); } throw; } }
private void TemplateEngineConvertButton_Click(object sender, EventArgs e) { try { var mapInput = TemplateEngineMapInputTextBox.Text; var mapInputList = mapInput.Split(';'); var dict = mapInputList.Select(inputPair => inputPair.Split(',')) .ToDictionary(splitInputPair => splitInputPair[0].Trim(), splitInputPair => splitInputPair[1].Trim()); TemplateEngineOutputTextBox.Text = TemplateEngine.Evaluate(TemplateEngineTextInputTextBox.Text, dict); } catch (MissingValueException ex) { MessageBox.Show(ex.Message); } catch (Exception) { MessageBox.Show("Invalid input."); } }
public void TemplateEngineExceptionTest() { var mapOfVariables = new Dictionary <string, string>(); TemplateEngine.Evaluate("Hello {$firstName}", mapOfVariables); }