在创建消息的 mvc4 应用程序中,我想要一种根据状态和其他参数处理电子邮件正文的好方法。
我有一个模型消息。一旦我将模型保存在控制器中,我就会调用一个SendEmail(MessageModel message)
函数,该函数根据电子邮件的SubbmittedBy
和构造Status
电子邮件。
SendEmail(MessageModel message){
MailMessage msg = new MailMessage();
msg.From = new MailAddress("me@me.com", "you");
switch (MessageStatus)
{
case CASE_1 :
if(SubbmittedBy == ...)
string bod = "";
bod.Append(message.Name);
bod.Append(message.Date);
bod.Append(message.Attribute2)
msg.Subject = bod.Append(message.ID);
msg.Body = "way #2" ;
...
else
msg.Subject = "way #5";
msg.Body = "way #6" ;
...
break;
case status2 :
if(SubbmittedBy == ...)
msg.Subject = "way #3";
msg.Body = "way #4" ;
...
else
...
break;
case status3 :
if(SubbmittedBy == ...)
...
else
...
break;
case status4 :
if(SubbmittedBy == ...)
...
else
...
break;
case status5 :
if(SubbmittedBy == ...)
...
else
...
break;
}
msg.IsBodyHtml = isBodyHtml;
sc.Send(msg);
}
有没有什么方法可以通过使用设计模式来降低复杂性和易于阅读?我的电子邮件附加就像每个 100 行if(...)
。我有 1000 百行代码,只是不可读。