From b3bf39458e5e9c22a30fa162d94313936f7e00bb Mon Sep 17 00:00:00 2001 From: Krzysztofz01 Date: Sat, 18 Sep 2021 21:05:19 +0200 Subject: [PATCH 1/2] Method abstraction and implementation --- src/FluentEmail.Core/Email.cs | 30 ++++++++++++++++++++++++++++ src/FluentEmail.Core/IFluentEmail.cs | 28 +++++++++++++++++++------- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/src/FluentEmail.Core/Email.cs b/src/FluentEmail.Core/Email.cs index 6a43caf4..45c477b2 100644 --- a/src/FluentEmail.Core/Email.cs +++ b/src/FluentEmail.Core/Email.cs @@ -516,5 +516,35 @@ private static string GetCultureFileName(string fileName, CultureInfo culture) else return fileName; } + + /// + /// Adds all recipients in list to email + /// + /// List of recipients + /// Instance of the Email class + public IFluentEmail To(IEnumerable mailAddresses) + { + foreach (string address in mailAddresses) + { + Data.ToAddresses.Add(new Address(address)); + } + + return this; + } + + /// + /// Adds all recipients in list to email + /// + /// List of recipients + /// Instance of the Email class + public IFluentEmail To(string[] mailAddresses) + { + foreach (string address in mailAddresses) + { + Data.ToAddresses.Add(new Address(address)); + } + + return this; + } } } diff --git a/src/FluentEmail.Core/IFluentEmail.cs b/src/FluentEmail.Core/IFluentEmail.cs index f22197ac..3db81148 100644 --- a/src/FluentEmail.Core/IFluentEmail.cs +++ b/src/FluentEmail.Core/IFluentEmail.cs @@ -44,13 +44,27 @@ public interface IFluentEmail: IHideObjectMembers /// Instance of the Email class IFluentEmail To(IEnumerable
mailAddresses); - /// - /// Adds a Carbon Copy to the email - /// - /// Email address to cc - /// Name to cc - /// Instance of the Email class - IFluentEmail CC(string emailAddress, string name = ""); + /// + /// Adds all recipients in list to email + /// + /// List of recipients + /// Instance of the Email class + IFluentEmail To(IEnumerable mailAddresses); + + /// + /// Adds all recipients in list to email + /// + /// List of recipients + /// Instance of the Email class + IFluentEmail To(string[] mailAddresses); + + /// + /// Adds a Carbon Copy to the email + /// + /// Email address to cc + /// Name to cc + /// Instance of the Email class + IFluentEmail CC(string emailAddress, string name = ""); /// /// Adds all Carbon Copy in list to an email From a38c5c01970259bb80d115c168edfb051f6e0cde Mon Sep 17 00:00:00 2001 From: Krzysztofz01 Date: Sat, 18 Sep 2021 21:05:40 +0200 Subject: [PATCH 2/2] Tests --- .../FluentEmailTests.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/FluentEmail.Core.Tests/FluentEmailTests.cs b/test/FluentEmail.Core.Tests/FluentEmailTests.cs index e0d3354b..0767bdda 100644 --- a/test/FluentEmail.Core.Tests/FluentEmailTests.cs +++ b/test/FluentEmail.Core.Tests/FluentEmailTests.cs @@ -78,6 +78,36 @@ public void Can_Add_Multiple_Recipients_From_List() Assert.AreEqual(2, email.Data.ToAddresses.Count); } + [Test] + public void Can_Add_Mutlitple_Recipients_From_String_List() + { + var emails = new List(); + emails.Add("email1@email.com"); + emails.Add("email2@email.com"); + + var email = Email + .From(fromEmail) + .To(emails); + + Assert.AreEqual(2, email.Data.ToAddresses.Count); + } + + [Test] + public void Can_Add_Mutlitple_Recipients_From_String_Array() + { + var emails = new string[] + { + "email1@email.com", + "email2@email.com" + }; + + var email = Email + .From(fromEmail) + .To(emails); + + Assert.AreEqual(2, email.Data.ToAddresses.Count); + } + [Test] public void Can_Add_Multiple_CCRecipients_From_List() {