Лучший шаблон для проверки условий и отображения связанных сообщений в ASP.NET MVC - PullRequest
0 голосов
/ 24 октября 2018

У меня есть проект 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)ложь, я показываю свое сообщение.(Я думаю, что это плохой шаблон)

Итак, меня интересует лучший шаблон для проверки условия, похожего на проверку и показ сообщения.

Спасибо вавансовый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...