public IList <IBackgroundOperation> LoadOperations(string paramName) { string value = _settings.GetValueAsString(paramName); BackgroundOperationSettingsItem[] items = new BackgroundOperationSettingsItem[0]; items = JsonConvert.DeserializeObject(value, items.GetType()) as BackgroundOperationSettingsItem[]; if (items == null) { throw new InvalidOperationException("Item did not create the public url"); } if (_factoryRagistry == null) { IUnityContainer container = ContainerConfiguration.GetContainer().Container; _factoryRagistry = container.Resolve <FileStorages.FactoryRagistry.IFactoryRagistry>(); } List <IBackgroundOperation> result = new List <IBackgroundOperation>(items.Length); foreach (var item in items) { var operation = _factoryRagistry.ParseBackgroundOperation(item.Action, item.State, item.ServerName); if (operation != null) { result.Add(operation); } } return(result); }
public BackgroundOperationDispatcherSettings(ISettings settings, FileStorages.FactoryRagistry.IFactoryRagistry factoryRagistry) { _settings = settings; _factoryRagistry = factoryRagistry; }