public static void InjectOrNavigate(this IModuleManager manager, string regionName, string key, object parameter = null) { Verifier.VerifyManager(manager); if (manager.GetModule(regionName, key) == null) { ModuleInjectionException.ModuleMissing(regionName, key); } if (!manager.IsInjected(regionName, key)) { manager.Inject(regionName, key, parameter); } manager.Navigate(regionName, key); }
protected IModule GetModule(string regionName, string key, bool throwIfNull) { Verifier.VerifyRegionName(regionName); Verifier.VerifyKey(key); var res = modules.FirstOrDefault(x => x.RegionName == regionName && x.Module.Key == key) .With(x => x.Module); if (res == null && throwIfNull) { ModuleInjectionException.ModuleMissing(regionName, key); } return(res); }
public static Task <WindowInjectionResult> ShowOrActivate(this IModuleWindowManager manager, string regionName, string key, object parameter = null) { Verifier.VerifyManager(manager); if (manager.GetModule(regionName, key) == null) { ModuleInjectionException.ModuleMissing(regionName, key); } if (!manager.IsShown(regionName, key)) { return(manager.Show(regionName, key, parameter)); } var res = ((IModuleManagerImplementation)manager).GetWindowInjectionResult(regionName, key); manager.Activate(regionName, key); return(res); }