Beispiel #1
0
		private void ProcessInternalOptions(MainViewModel model, UIOptionSubCategoryType subCategory)
		{
			var docProvs = subCategory.Options.Find(op => op.Name == "DocumentProviders") as UIOptionGroupType;
			var defaultDocProv = subCategory.Options.Find(op => op.Name == "DefaultDocumentProvider") as UIOptionType;

			StringOption defaultDocProvOpt = CreateShellOption(null, defaultDocProv) as StringOption;
			model.AddOption(defaultDocProvOpt);

			foreach (UIOptionGroupInstanceType instance in docProvs.OptionGroupInstances)
			{
				if (instance.Name == DefaultXmlReadVisitor.InstanceTemplateName)
				{
					continue;
				}

				if (instance.Name == "Offline Document Provider")
				{
					continue;
				}

				OptionGroupInstance shelloptiongroup = CreateShellOptionGroupInstance(null, instance);
				BoolOption enabledOpt =
					(from x in shelloptiongroup.SubOptions where x.Name == "Enabled" select x).FirstOrDefault() as BoolOption;
				model.AddOption(enabledOpt);

				if (IsFeatureEnabled(instance) || model.AppModel.IsAdmin)
				{
					DMSEnableOption newOpt = new DMSEnableOption(instance.Name, enabledOpt, defaultDocProvOpt)
					                         	{
					                         		Category = model.GetCategory("DMS"),
					                         		SubCategory = model.GetSubCategory("DMS", "General")
					                         	};

					newOpt.IsEnabled = ShouldOptionBeEnabled(newOpt, model.AppModel.IsAdmin);

					model.AddOption(newOpt);
				}
			}
		}
Beispiel #2
0
		internal void UpdateInternalSubCategory(MainViewModel model, UIOptionCategoryType category,
		                                        UIOptionSubCategoryType internalSubCategory)
		{
			var shellCategory = model.GetCategory(category.Name) ?? BuildShellCategory(category);
			shellCategory.Model = model;

			ProcessInternalOptions(model, internalSubCategory);
			return;
		}
Beispiel #3
0
		private void ProcessCategory(MainViewModel model, Dictionary<string, AreaOption> areas, UIOptionCategoryType category)
		{
			var shellCategory = model.GetCategory(category.Name) ?? BuildShellCategory(category);
			shellCategory.Model = model;

			foreach (var subCategory in category.SubCategories)
			{
				if (subCategory.Name == "Internal")
				{
					ProcessInternalOptions(model, subCategory);
					return;
				}
				ProcessSubCategory(model, areas, shellCategory, subCategory);
			}
		}