コード例 #1
0
		public AppOptionInstanceViewModel(AppLaunchReactiveAction action, AppOptionInstance instance)
		{
			Action = action;
			OptionInstance = instance;


			OptionName = OptionInstance.OptionDeclaration.Name;

			OptionValues = OptionInstance.FromAppOptionInstance()
				.ToList();
		}
コード例 #2
0
		/// <summary>
		/// use ApplicationPolicy.CreateExecuteSandbox()
		/// </summary>
		/// <param name="policy"></param>
		/// <param name="param"></param>
		/// <param name="context"></param>
		internal ApplicationExecuteSandbox(ApplicationPolicy policy, AppOptionInstance[] options)
		{
			AppPolicy = policy;
			Options = options;
		}
コード例 #3
0
		public void UpdateOptionValueSet(AppOptionInstance optionValueSet)
		{
			_CurrentOptionValueSet = optionValueSet;
		}
コード例 #4
0
		public ApplicationExecuteSandbox CreateExecuteSandbox(IAppPolicyManager manager, AppOptionInstance[] options)
		{
			if (manager.Security.IsAuthorized(this.ApplicationPath))
			{
				return new ApplicationExecuteSandbox(this, options);
			}
			else
			{
				return null;
			}
		}
コード例 #5
0
		public void RemoveAppOptionInstance(AppOptionInstance instance)
		{
			if (_Options.Remove(instance))
			{
				ValidatePropertyChanged();
			}
		}
コード例 #6
0
		/// <summary>
		/// AdditionalOptionsにオプションインスタンスを追加します。
		/// 出力オプションのインスタンスを追加する時に、AdditionalOptionsに一つしか存在しないよう既存の出力オプションが除外されます。
		/// </summary>
		/// <see cref="ApplicationPolicy.OutputOptionDeclarations"/>
		/// <param name="instance"></param>
		public void AddAppOptionInstance(AppOptionInstance instance)
		{
			
			if (AppPolicy.OutputOptionDeclarations.Contains(instance.OptionDeclaration))
			{
				var alreadyOutputOption = Options.SingleOrDefault(x => AppPolicy.OutputOptionDeclarations.Any(y => x.OptionDeclaration == y));

				if (alreadyOutputOption != null)
				{
					if (instance.OptionDeclaration == alreadyOutputOption.OptionDeclaration)
					{
						return;
					}

					_Options.Remove(alreadyOutputOption);
				}
			}

			_Options.Add(instance);

			ValidatePropertyChanged();
		}