public FrameworkElement GetDefinitionEditor(IDependencyInjectionService dependencyInjectionService, IXmlDependencyViewModel xmlDependencyViewModel, string dependencyDefinitionFileList, string tpcUrl) { var view = new VNextBuildResultDefinitionEditor(); view.DataContext = GetDefinitionEditorViewModel(xmlDependencyViewModel, dependencyDefinitionFileList, tpcUrl); return(view); }
private void RegisterDependencies(IDependencyInjectionService dependencyInjectionService, INavigation navigation, IEnumerable <IInstaller> installers = null) { var serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton(dependencyInjectionService); serviceCollection.AddSingleton(navigation); var blMobileInstaller = new BLMobileInstaller(); blMobileInstaller.Install(serviceCollection); var mobileInstaller = new MobileInstaller(); mobileInstaller.Install(serviceCollection); if (installers != null) { foreach (var installer in installers) { installer.Install(serviceCollection); } } dependencyInjectionService.Build(serviceCollection); }
/// <summary> /// Gets the definition editor view model. /// </summary> /// <param name="dependencyInjectionService">The dependency injection service.</param> /// <param name="xmlDependencyViewModel">The XML dependency view model.</param> /// <param name="dependencyDefinitionFileList">The list with valid dependency definition filenames.</param> /// <param name="tpcUrl">The binary team project collection url.</param> /// <returns>The BinaryRepository dependency editor view model.</returns> private IValidatingViewModel GetDefinitionEditorViewModel(IDependencyInjectionService dependencyInjectionService, IXmlDependencyViewModel xmlDependencyViewModel, string dependencyDefinitionFileList, string tpcUrl) { var referencedComponentsTrackingService = dependencyInjectionService.GetDependency <IReferencedComponentsTrackingService>(); var filter = new UsedComponentsFilter(referencedComponentsTrackingService); return(new BinaryRepositoryDefinitionEditorViewModel(new TfsAccessService(), this, xmlDependencyViewModel, dependencyDefinitionFileList, filter, tpcUrl)); }
public App() { InitializeComponent(); MainPage = new LoginPage(); DIService = new DI.DependencyInjectionService(); RegisterDependencies(); DIService.Build(); }
/// <summary> /// Gets the file share definition editor. /// </summary> /// <param name="dependencyInjectionService">The dependency injection service.</param> /// <param name="xmlDependencyViewModel">The XML dependency view model.</param> /// <param name="dependencyDefinitionFileList">The dependency definition file list.</param> /// <param name="tpcUrl">The team project collection URL.</param> /// <returns>The initialized file share definition editor</returns> public FrameworkElement GetDefinitionEditor(IDependencyInjectionService dependencyInjectionService, IXmlDependencyViewModel xmlDependencyViewModel, string dependencyDefinitionFileList, string tpcUrl) { var view = new FileShareDefinitionEditor { DataContext = GetDefinitionEditorViewModel(xmlDependencyViewModel, dependencyDefinitionFileList) }; return(view); }
public NavigationService( IMvvmLocatorService mvvmLocatorService, IDependencyInjectionService dependencyInjectionService, IMainContentViewUpdater mainContentViewUpdater) { this.mvvmLocatorService = mvvmLocatorService; this.dependencyInjectionService = dependencyInjectionService; this.mainContentViewUpdater = mainContentViewUpdater; }
public App() { Thread.CurrentThread.CurrentCulture = new CultureInfo("en"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en"); DependencyInjectionService = new DependencyInjectionService(); host = Host.CreateDefaultBuilder() .ConfigureAppConfiguration(ConfigureAppConfiguration) .ConfigureServices((context, services) => { ConfigureServices(context.Configuration, services); }) .Build(); }
public void Install(IServiceCollection serviceCollection, IDependencyInjectionService dependencyInjectionService) { serviceCollection.AddSingleton <IDependencyInjectionService>(dependencyInjectionService); serviceCollection.AddSingleton <IPasswordHasher, PasswordHasher>(); serviceCollection.Scan(scan => scan .FromAssemblyOf <InfrastructureInstaller>() .AddClasses(classes => classes.AssignableTo <ISingletonService>()) .AsSelfWithInterfaces() .WithSingletonLifetime() .AddClasses(classes => classes.AssignableTo <ITransientService>()) .AsSelfWithInterfaces() .WithTransientLifetime() ); }
public App(IEnumerable <IInstaller> installers = null) { InitializeComponent(); DependencyInjectionService = new DependencyInjectionService(); var navigationPage = new NavigationPage(); RegisterDependencies(DependencyInjectionService, navigationPage.Navigation, installers); var navigationService = DependencyInjectionService.Resolve <INavigationService>(); navigationService.PushAsync <HomeViewModel>(); MainPage = navigationPage; }
public IController InstantiateController(string name, RequestBody requestBody) { try { ControllerRegister register = GetControllerRegister(name); if (register == null) { throw new Exception($"Controller '{name}' not registered or not found"); } IDependencyInjectorMaker injector = null; object[] injectArgs = null; if (!name.Equals("ServerInfoController")) { IDependencyInjectionService diService = serviceManager.GetService <IDependencyInjectionService>(); injector = diService.GetInjectorMaker(name); if (injector != null) { Stopwatch sw = new Stopwatch(); sw.Start(); injectArgs = injector.BuildInjectValues(requestBody); sw.Stop(); if (telemetry != null) { telemetry.Collect(new DependencyInjectorExecutionTime(injector.ControllerName, sw.ElapsedMilliseconds)); } } } IController controller = (IController)Activator.CreateInstance(register.Type, injectArgs); return(controller); } catch (Exception ex) { ILoggingService logger = serviceManager.GetService <ILoggingService>(); string msg = ex.Message; if (ex.InnerException != null) { msg += ex.InnerException.Message; } logger.WriteLog($@"Instantiate controller '{name}' threw an exception. {msg}", name, "", ServerLogType.ERROR); throw new Exception($@"Instantiate controller '{name}' threw an exception. {msg}"); } }
public MvvmLocatorService(IDependencyInjectionService dependencyInjectionService) { this.dependencyInjectionService = dependencyInjectionService; }
/// <summary> /// Adds a dependency injection helper for server controllers /// </summary> /// <param name="dependencyInjector">Implementation of injector helper</param> protected void AddDependencyInjector(IDependencyInjectorMaker dependencyInjector) { IDependencyInjectionService service = Services.GetService <IDependencyInjectionService>(); service.AddDependencyInjector(dependencyInjector); }