using System.Collections.Generic;
void CreateTemplate(string sender, string receiver);
string Salutation{ set; }
public class Core : IMail
protected string _sender;
protected string _receiver;
protected string _subject;
protected string _salutation;
protected string _header;
protected string _greetings;
protected string _footer;
public void CreateTemplate(string sender, string receiver)
_header = _salutation + receiver + ", \n";
_footer = _greetings + ", \n" + sender;
Console.WriteLine("To: {0}", receiver);
Console.WriteLine("Subject: {0}\n\n", _subject);
Console.WriteLine(_header);
Console.WriteLine(_body);
Console.WriteLine(_footer);
set { _subject = value; }
get { return _salutation; }
set { _salutation = value; }
get { return _greetings; }
set { _greetings = value; }
public class WrapperMail : IMail
public void CreateTemplate(string sender, string receiver)
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
set { wrapee.Subject = value; }
set { wrapee.Salutation = value; }
set { wrapee.Header = value; }
set { wrapee.Body = value; }
set { wrapee.Greetings = value; }
set { wrapee.Footer = value; }
public class Birthday : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Subject = "Happy Birthday";
wrapee.Salutation = "All Goods ";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public class Christmas : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Subject = "Merry Christmas";
wrapee.Salutation = "Merry Christmas ";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public class CloseFriend : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Subject = "Dont Know";
wrapee.Salutation = "Hi ";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public class LoveMail : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Salutation = "Dear ";
wrapee.Body = "I want to go with you to a Date! :D \n";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public class Formal : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Subject = "FormalThing";
wrapee.Salutation = "Dear Sir/Madam ";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public class Informal : WrapperMail
public void CreateTemplate(string sender, string receiver)
wrapee.Subject = "InformalThing";
wrapee.Salutation = "Hello ";
wrapee.CreateTemplate("Muster Mustermann", "Muster Musterfrau");
public static void Main()
Console.WriteLine("Which mail template do you want to use?");
Console.WriteLine("1: Birthday");
Console.WriteLine("2: Christmas");
Console.WriteLine("3: CloseFriend");
Console.WriteLine("4: LoveMail");
Console.WriteLine("5: Formal");
Console.WriteLine("6: Informal");
Console.Write("Enter Number: ");
string number = Console.ReadLine();
Birthday bDMail = new Birthday();
bDMail.CreateTemplate("Mustermann", "Musterfrau");
Christmas crisMail = new Christmas();
crisMail.CreateTemplate("Mustermann", "Musterfrau");
CloseFriend clofMail = new CloseFriend();
clofMail.CreateTemplate("Mustermann", "Musterfrau");
LoveMail loveMail = new LoveMail();
loveMail.CreateTemplate("Mustermann", "Musterfrau");
Informal Infml = new Informal();
Infml.CreateTemplate("Mustermann", "Musterfrau");