public TControlViewModel GetContent <TControlViewModel, TControl>(bool changeTitle, params Arg[] args) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { TControlViewModel ret; Dictionary <string, object> parameterDictionary = args.ToDictionary(x => x.Name, x => x.Value); Arguments castleArgs = new Arguments(parameterDictionary); bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); ret = Container.Resolve <TControlViewModel>(parameterDictionary); if (!isAllowed) { throw SecurityException.CreateCoreException <TControlViewModel>(ret); } ret.WindowViewModel.Value = this; ret.ControlLoadedCommand.Execute(ret); if (changeTitle) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IBaseViewModel)ret).Title != null ? string.Format("- {0}", ((IBaseViewModel)ret).Title) : ""); } return(ret); }
public TControlViewModel GetContent <TControlViewModel, TControl>(bool changeTitle) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { TControlViewModel ret; bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); ret = Container.Resolve <TControlViewModel>(); if (!isAllowed) { throw SecurityException.CreateCoreException <TControlViewModel>(ret); } ret.WindowViewModel.Value = this; ret.ControlLoadedCommand.Execute(ret); if (changeTitle) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IBaseViewModel)ret).Title != null ? string.Format("- {0}", ((IBaseViewModel)ret).Title) : ""); } return(ret); }
public TControlViewModel LoadContent <TControlViewModel, TControl>() where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); //TControlViewModel controlViewModel = Container.Resolve<TControlViewModel>(); TControlViewModel controlViewModel = GetContent <TControlViewModel, TControl>(true); if (isAllowed) { Title.Value = string.Format("{0} {1}", MVVMConfiguration.Configuration.DefaultTitle, ((IClaim)controlViewModel).SecurityCode != null ? string.Format("- {0}", ((IClaim)controlViewModel).SecurityCode) : ""); CurrentControlViewModel.Value = controlViewModel; CurrentControlViewModel.Value.WindowViewModel.Value = this; //controlViewModel.ControlLoadedCommand.Execute(controlViewModel); return((TControlViewModel)CurrentControlViewModel.Value); } else { throw SecurityException.CreateCoreException <TControlViewModel>(controlViewModel); } }
public TWindow LoadWindow <TWindowViewModel, TWindow>(TWindowViewModel windowViewModel) where TWindowViewModel : class, IWindowViewModel, IClaim where TWindow : class, IWindow { bool isAllowed = SecurityChecker.AmIAllowed <TWindowViewModel>(); if (isAllowed) { Window.Value = (IWindow)Container.Resolve <TWindow>(); Window.Value.DataContext = this; Window.Value.Show(); LoadedCommand.Execute(null); return((TWindow)Window.Value); } else { throw SecurityException.CreateCoreException <TWindowViewModel>(windowViewModel); } }
public TControlViewModel LoadContent <TControlViewModel, TControl>(params Arg[] args) where TControlViewModel : IControlViewModel, IClaim where TControl : IControl { bool isAllowed = SecurityChecker.AmIAllowed <TControlViewModel>(); TControlViewModel controlViewModel = GetContent <TControlViewModel, TControl>(true, args); if (isAllowed) { CurrentControlViewModel.Value = controlViewModel; CurrentControlViewModel.Value.WindowViewModel.Value = this; //controlViewModel.ControlLoadedCommand.Execute(controlViewModel); return((TControlViewModel)CurrentControlViewModel.Value); } else { throw SecurityException.CreateCoreException <TControlViewModel>(controlViewModel); } }