public async Task InitializeBuiltInFactories() { var dataProviders = BuiltInFactories .Where(f => f.FactorySetting.Status != DataProviderFactoryStatus.Disabled) .SelectMany(fc => fc.DataProvidersFactories.SelectMany(d => d.DataProviders)).ToList(); var initTasks = dataProviders.Select(d => d.InitializeDataProviderAsync(AnalogyLogger.Instance)) .ToList(); var completion = Task.WhenAll(initTasks); try { await completion; } catch (AggregateException ex) { AnalogyLogger.Instance.LogException(ex, "InitializeBuiltInFactories", "Error during Initialization"); } foreach (var t in initTasks) { if (t.Status != TaskStatus.RanToCompletion) { AnalogyLogger.Instance.LogException(t.Exception, "AddExternalDataSources", "Error during Initialization"); } } }
public Assembly GetAssemblyOfFactory(IAnalogyFactory factory) { if (BuiltInFactories.Exists(f => f.Factory == factory)) { return(BuiltInFactories.First(f => f.Factory == factory).Assembly); } return(Factories.Single(f => f.Factory == factory).Assembly); }
public FactoryContainer FactoryContainer(Guid componentId) => IsBuiltInFactory(componentId) ? BuiltInFactories.FirstOrDefault(f => f.Factory.FactoryId == componentId || f.DataProvidersFactories.Any(dpf => dpf.DataProviders.Any(dp => dp.Id == componentId))) : Factories.FirstOrDefault(f => f.Factory.FactoryId == componentId || f.DataProvidersFactories.Any(dpf => dpf.DataProviders.Any(dp => dp.Id == componentId)));
public bool IsBuiltInFactory(Guid factoryId) => BuiltInFactories.Exists(fc => fc.Factory.FactoryId == factoryId);
public FactoryContainer GetBuiltInFactoryContainer(Guid id) => BuiltInFactories.Single(f => f.Factory.FactoryId == id);
public Assembly GetAssemblyOfFactory(IAnalogyFactory factory) => BuiltInFactories.Exists(f => f.Factory == factory) ? BuiltInFactories.First(f => f.Factory == factory).Assembly : Factories.Single(f => f.Factory == factory).Assembly;