private void AddNewGroupInstance(UIOptionGroupType grpType, IEnumerable<OptionGroupInstance> vwInsts, out bool bAnyAdded)
        {
            Dictionary<string, OptionInfo> groupDefs = OptionApi.GetGroupDefinitions(grpType.Name);

			// Initially false until something is added.
			bAnyAdded = false;

			foreach (OptionGroupInstance vwInst in vwInsts)
            {
				if (_bDeploymentIconOnly && !vwInst.Deploy)
				{
					// The user has chosen "Deployment icons only" but this option
					// doesn't have a deployment icon.
					continue;
				}

				// By arriving at this point we know that something has been added.
				bAnyAdded = true;

                var groupInstType = new UIOptionGroupInstanceType()
                {
                    Name = vwInst.Name,
                    DisplayText = vwInst.DisplayName,
					Deploy = vwInst.Deploy
                };

                List<OptionDefType> optDefs = new List<OptionDefType>();
                foreach (IOption opt in vwInst.SubOptions)
                {
                    var optdef = new OptionDefType()
                    {
                        Name = opt.Name,
                        DisplayText = opt.DisplayName,
                    };


                    optdef.DataType = ConvertDataType(opt.DataType);

                    if (optdef.Name == "Password")
                    {
                        optdef.Encrypted = true;
						optdef.EncryptedSpecified = true;
						optdef.DataType = OptionDataTypeEnum.String;
						optdef.DataTypeSpecified = true;
					}

                    optdef.Text = new string[] { opt.StringValue };

                    OptionInfo optInfo = (from oi in groupDefs.Values
                                          where oi.Name.Equals(optdef.Name, StringComparison.InvariantCultureIgnoreCase)
                                          select oi).FirstOrDefault();
                    if (optInfo != null)
                    {
                        optDefs.Add(optdef);
                    }
                }
                groupInstType.OptionDef = optDefs.ToArray();
                grpType.OptionGroupInstances.Add(groupInstType);
            }
        }
Exemplo n.º 2
0
 void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 3
0
		void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance)
		{
		}
 public void Visit(UIOptionGroupInstanceType optionGroupInstance, object context)
 {
 }
Exemplo n.º 5
0
		private bool IsFeatureEnabled(UIOptionGroupInstanceType instance)
		{
			string instanceName = instance.Name.ToLower();
			if (instanceName == "interwoven")
			{
				return EnabledFeatures.InterwovenEnabled;
			}
			else if (instanceName == "workshare sharepoint connector")
			{
				return EnabledFeatures.SharePointEnabled;
			}
			else if (instanceName == "hummingbird dm/powerdocs")
			{
				return EnabledFeatures.HummingbirdEnabled;
			}

			return true;
		}
Exemplo n.º 6
0
		public static OptionGroupInstance CreateShellOptionGroupInstance(Category shellSubCategory,
		                                                                 UIOptionGroupInstanceType instance)
		{
			OptionGroupInstance shellOptionGroupInstance = new OptionGroupInstance
			                                               	{
			                                               		InstanceName = instance.Name,
			                                               		DisplayName = instance.DisplayText,
			                                               		Description = instance.DisplayText,
			                                               		Category = shellSubCategory == null ? null : shellSubCategory.Parent,
			                                               		SubCategory = shellSubCategory
			                                               	};

			foreach (OptionDefType option in instance.OptionDef)
			{
				if (option.DataType == OptionDataTypeEnum.KeyValueRange)
				{
					SetValueRange(shellSubCategory, shellOptionGroupInstance, option, false);
				}
				IOption newOpt = CreateShellOption(shellSubCategory, option);

				shellOptionGroupInstance.SubOptions.Add(newOpt);
				newOpt.Parent = shellOptionGroupInstance;
			}

			return shellOptionGroupInstance;
		}
 public void Visit(UIOptionGroupInstanceType optionGroup)
 {
     throw new NotImplementedException();
 }
        public void Visit(UIOptionGroupType optionGroup)
        {
            if (_bAdmin)
            {
                return;
            }
            /// Go through registry and construct group instances
            ReadOnlyCollection<string> groupInstArray = OptionApi.GetOptionGroups(optionGroup.Name);
     
            Dictionary<string, OptionInfo> groupDefs = OptionApi.GetGroupDefinitions(optionGroup.Name);
            foreach (string groupInstName in groupInstArray)
            {   
                Dictionary<string, OptionInfo> groupInstData = OptionApi.GetOptionGroupData(optionGroup.Name, groupInstName);

                UIOptionGroupInstanceType groupInst = new UIOptionGroupInstanceType() { Name = groupInstName };
                List<OptionDefType> deftypes = new List<OptionDefType>();

                foreach (OptionInfo optinfo in groupDefs.Values)
                {
                    var op = new OptionDefType
                    {
                        Name = optinfo.Name,                        
                        DisplayText = optinfo.DisplayText,
                    };

                    op.IsPrimaryKey = Boolean.Parse(optinfo.GetAttribute("IsPrimaryKey"));

                    OptionDataTypeEnum dt;

                    if (Enum.TryParse(optinfo.DataType, true, out dt))
                    {
                        op.DataType = dt;
                        op.DataTypeSpecified = true;    /// This is required to be set :(, as we are checking this attributes :(, don't like it.
                    }

                    if (op.Name == "Password")
                    {
						op = InitialiseEncryptedOptionPrivately(op, optionGroup.Name, groupInstName);
                    }
                    else
                    {
                        OptionInfo datainfo;
                        if (groupInstData.TryGetValue(optinfo.Name, out datainfo))
                        {
                            op.Text = new string[] { datainfo.Value };
                            op.IsOverrideAllowed = datainfo.CanOverride;
                        }
                        else
                        {
                            op.Text = new string[] { optinfo.Value };   // default value
                            op.IsOverrideAllowed = optinfo.CanOverride;
                        }
                    }

                    deftypes.Add(op);
                }

                groupInst.OptionDef = deftypes.ToArray();
                optionGroup.OptionGroupInstances.Add(groupInst);
            }
        }
Exemplo n.º 9
0
		void IVisitorWithContext.Visit(UIOptionGroupType optionGroup, object context)
		{
			XmlNode optionGroupNode = (XmlNode) context;

			VisitOptionBaseType(optionGroup, context);

			//Default XML just contains 1 child node for option Groups. Create a dummy instance and put the option group defs in it to give the user a template of what it will look like

			UIOptionGroupInstanceType instance = new UIOptionGroupInstanceType();
			instance.Name = "InstanceTemplate";
			optionGroup.OptionGroupInstances.Add(instance);
			instance.Accept(this, optionGroupNode);
		}
Exemplo n.º 10
0
		void IVisitorWithContext.Visit(UIOptionGroupInstanceType optionGroupInstance, object context)
		{
			XmlNode optionGroupNode = (XmlNode) context;

			List<OptionDefType> optionDefs = new List<OptionDefType>();
			foreach (XmlNode node in optionGroupNode.ChildNodes)
			{
				if (node.NodeType == XmlNodeType.Comment)
					continue;

				OptionDefType option = new OptionDefType();
				optionDefs.Add(option);
				option.Accept(this, node);
			}

			optionGroupInstance.OptionDef = new OptionDefType[optionDefs.Count];

			Array.Copy(optionDefs.ToArray(), optionGroupInstance.OptionDef, optionDefs.Count);
		}
Exemplo n.º 11
0
		void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance)
		{
			if (optionGroupInstance.Name == DefaultXmlReadVisitor.UnsavedInstanceName)
				return; // don't write this instance, no primary key set

			string currentGroupLocation = this._optionGroupLocation;

			_admFileWriter.StartCategory(optionGroupInstance.Name);
			this._optionGroupLocation += "\\" + optionGroupInstance.Name;
			foreach (OptionDefType option in optionGroupInstance.OptionDef)
			{
				option.Accept(this);
			}
			_admFileWriter.EndCategory();

			this._optionGroupLocation = currentGroupLocation;

		}
Exemplo n.º 12
0
		void IVisitorWithContext.Visit(UIOptionGroupInstanceType optionGroupInstance, object context)
		{
			XmlNode optionGroupInstanceNode = (XmlNode) context;

			optionGroupInstance.Name = optionGroupInstanceNode.Name;
			List<OptionDefType> optionDefs = new List<OptionDefType>();
			foreach (XmlNode node in optionGroupInstanceNode.ChildNodes)
			{
				OptionDefType option = new OptionDefType();
				optionDefs.Add(option);
				option.Accept(this, node);
			}

			XmlAttribute Deploy = optionGroupInstanceNode.Attributes["Deployed"];
			if (Deploy != null)
			{
				optionGroupInstance.Deploy = Boolean.Parse(Deploy.Value);
			}

			optionGroupInstance.OptionDef = new OptionDefType[optionDefs.Count];

			Array.Copy(optionDefs.ToArray(), optionGroupInstance.OptionDef, optionDefs.Count);
		}
Exemplo n.º 13
0
		void IVisitorWithContext.Visit(UIOptionGroupType optionGroup, object context)
		{
			XmlNode optionGroupNode = (XmlNode) context;

			VisitOptionBaseType(optionGroup, context);

			foreach (XmlNode node in optionGroupNode.ChildNodes)
			{
				UIOptionGroupInstanceType instance = new UIOptionGroupInstanceType();
				optionGroup.OptionGroupInstances.Add(instance);
				instance.Accept(this, node);
			}			
		}
Exemplo n.º 14
0
		void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance)
		{
            if (optionGroupInstance.Name == DefaultXmlReadVisitor.UnsavedInstanceName)
                return; // don't write this instance, no primary key set

			string currentOptionLocation = this._optionLocation;

			this._optionLocation += "\\" + optionGroupInstance.Name;

			this._regFileWriter.WriteSubKey(_optionLocation);

			foreach (OptionDefType option in optionGroupInstance.OptionDef)
			{
				option.Accept(this);
			}

			this._regFileWriter.EndSubkey();

			this._optionLocation = currentOptionLocation;
		}
Exemplo n.º 15
0
		void IVisitorWithContext.Visit(UIOptionGroupInstanceType optionGroupInstance, object context)
		{
			if (optionGroupInstance.Name == DefaultXmlReadVisitor.UnsavedInstanceName)
				return; // don't write this instance, no primary key set

			XmlNode optionGroupNode = (XmlNode) context;
			XmlNode optionGroupInstanceNode = _xmlDoc.CreateNode(XmlNodeType.Element, optionGroupInstance.Name, this._namespaceURI);

			XmlAttribute Deploy = _xmlDoc.CreateAttribute("Deployed");
			Deploy.Value = optionGroupInstance.Deploy.ToString();
			optionGroupInstanceNode.Attributes.Append(Deploy);

			foreach (OptionDefType option in optionGroupInstance.OptionDef)
			{
				option.Accept(this, optionGroupInstanceNode);
			}

			optionGroupNode.AppendChild(optionGroupInstanceNode);
		}