Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public BackgroundOperationDispatcherSettings(ISettings settings, FileStorages.FactoryRagistry.IFactoryRagistry factoryRagistry)
 {
     _settings        = settings;
     _factoryRagistry = factoryRagistry;
 }