public void CloseModule(UIModule module)
{
var children = GetChildren(module);
var count = children == null ? 0 : children.Count;
logger.Debug($"{nameof(CloseModule)}: {module.Name}, children: {count}");
if (children != null && children.Any())
{
foreach (var child in children)
{
logger.Debug($"RequestCloseModule: Child={child.Name}");
MessageBus.SendMessage(new CloseRequest(child));
}
}
logger.Debug($"{nameof(CloseModule)}: Remove/Close {module.Name}");
Remove(module);
module.Close();
MessageBus.SendMessage(new CloseRequest(module));
}