У меня есть проект ASP.NET MVC 5, включающий следующие части:
Индекс
@model IEnumerable<BusinessLogic.Process>
@*do something ...*@
Контроллер
public ActionResult Index(int processId)
{
return View(Fac.GetChildrenProcess(processId));
}
Класс фасада
public List<Process> GetChildrenProcess (int processId)
{
Process process = new ProcessContoller().GetInfo(processId);
if (process == null)
return null;
List<Process> children = new ProcessContoller().GetListByParentId(processId);
return children;
}
ShowMessage
private ActionResult ShowMessage(string messageText, DisplayMessageType messageType)
{
ViewBag.CssClass = messageType.ToString();
ViewBag.MessageContent = messageText;
return PartialView("_ShowMessage");
}
В соответствии с шаблоном SOC ,Я проверяю, нет ли условия if (process == null)
в классе, подобном Facade
, в моем контроллере (Index action
).
Но я справился с проблемой, чтобы показать сообщение пользователю в лучшем виде.Например, если processId
недопустимо в действии, if (process == null)
имеет значение true, и я должен показать сообщение, подобное Selected process is invalid
.Чтобы показать сообщение, у меня есть Partial view
как _ShowMessage
.
- Я не могу проверить условие
if (process == null)
в моем контроллере из-за следующего шаблона SOC. - Я не могу показать свое сообщение в
Facade
, потому что это класс, а не контроллер. - Я не могу вернуть некоторое логическое значение из
GetChildrenProcess
, потому что оно должно возвращать список. - Я могу передать логическое значение с помощью
ref
или out
и if (process == null)
ложь, я показываю свое сообщение.(Я думаю, что это плохой шаблон)
Итак, меня интересует лучший шаблон для проверки условия, похожего на проверку и показ сообщения.
Спасибо вавансовый.