コード例 #1
0
        public AccountSettings()
        {
            IUnityContainer container = ContainerConfiguration.GetContainer().Container;

            _settings      = container.Resolve <ISettings>();
            _parameterName = "saveAcc";
        }
コード例 #2
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);
        }
コード例 #3
0
        public AccountManagerViewModel()
        {
            _accountProjections =
                new ObservableCollection <AccountProjectionViewModel>()
            {
                new AccountProjectionViewModel()
                {
                    Login      = "******",
                    ServerName = "+"
                }
            };

            _container       = ContainerConfiguration.GetContainer().Container;
            _accountRegistry = _container.Resolve <UnityDisk.Accounts.Registry.IAccountRegistry>();

            _accountRegistry.ChangedSizeEvent += (o, e) =>
            {
                TotalSize = e.NewSize.TotalSize;
                UsedSize  = e.NewSize.TotalSize;
                FreeSize  = e.NewSize.FreeSize;

                AccountProjectionViewModel projection =
                    AccountProjections.FirstOrDefault(accountProjection => accountProjection.Login == e.Account.Login);
                if (projection == null)
                {
                    return;
                }
                projection.TotalSize = e.Account.Size.TotalSize;
                projection.UsedSize  = e.Account.Size.UsedSize;
                projection.FreeSize  = e.Account.Size.FreeSize;
            };
            _accountRegistry.LoadedEvent += (o, e) =>
            {
                foreach (var account in e.Accounts)
                {
                    AccountProjections.Add(new AccountProjectionViewModel(account));
                }
            };
            _accountRegistry.ChangedRegistryEvent += (o, e) =>
            {
                switch (e.Action)
                {
                case RegistryActionEnum.Added:
                    AccountProjections.Add(new AccountProjectionViewModel(e.Account));
                    break;

                case RegistryActionEnum.Removed:
                    AccountProjections.Remove(AccountProjections.First(model => model.Login == e.Account.Login));
                    break;

                case RegistryActionEnum.Reseted:
                    AccountProjections.Clear();
                    break;
                }
            };
        }
コード例 #4
0
 public GroupTreeRegistry()
 {
     _unityContainer = ContainerConfiguration.GetContainer().Container;
 }
コード例 #5
0
        public BackgroundOperationDispatcher()
        {
            IUnityContainer container = ContainerConfiguration.GetContainer().Container;

            _settings = container.Resolve <IBackgroundOperationDispatcherSettings>();
        }