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); } }
void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance) { throw new NotImplementedException(); }
void IVisitor.Visit(UIOptionGroupInstanceType optionGroupInstance) { }
public void Visit(UIOptionGroupInstanceType optionGroupInstance, object context) { }
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; }
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); } }
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); }
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); }
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; }
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); }
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); } }
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; }
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); }