internal Dictionary <string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData> FindSupportedReferenceCommands(PSEntityMetadata entityMetadata, HashSet <string> initialSessionCommands) { string str; Dictionary <string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData> strs = new Dictionary <string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData>(); foreach (KeyValuePair <string, PSEntityMetadata.ReferenceSetCmdlets> cmdletsForReferenceSet in entityMetadata.CmdletsForReferenceSets) { Func <string, bool> func = null; Func <string, bool> func1 = null; Func <string, bool> func2 = null; PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData referencePropertyDatum = new PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData(); PSReferenceSetCmdletInfo pSReferenceSetCmdletInfo = null; if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.AddReference, out pSReferenceSetCmdletInfo)) { HashSet <string> strs1 = initialSessionCommands; if (func == null) { func = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs1.FirstOrDefault <string>(func); referencePropertyDatum.IncludeAdd = str != null; } if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.RemoveReference, out pSReferenceSetCmdletInfo)) { HashSet <string> strs2 = initialSessionCommands; if (func1 == null) { func1 = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs2.FirstOrDefault <string>(func1); referencePropertyDatum.IncludeRemove = str != null; } if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.GetReference, out pSReferenceSetCmdletInfo)) { HashSet <string> strs3 = initialSessionCommands; if (func2 == null) { func2 = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs3.FirstOrDefault <string>(func2); referencePropertyDatum.IncludeGet = true; referencePropertyDatum.GetHidden = str == null; } strs.Add(cmdletsForReferenceSet.Key, referencePropertyDatum); } return(strs); }
internal Dictionary<string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData> FindSupportedReferenceCommands(PSEntityMetadata entityMetadata, HashSet<string> initialSessionCommands) { string str; Dictionary<string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData> strs = new Dictionary<string, PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData>(); foreach (KeyValuePair<string, PSEntityMetadata.ReferenceSetCmdlets> cmdletsForReferenceSet in entityMetadata.CmdletsForReferenceSets) { Func<string, bool> func = null; Func<string, bool> func1 = null; Func<string, bool> func2 = null; PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData referencePropertyDatum = new PSSchemaBuilder.EntityDataForSchemaBuilding.ReferencePropertyData(); PSReferenceSetCmdletInfo pSReferenceSetCmdletInfo = null; if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.AddReference, out pSReferenceSetCmdletInfo)) { HashSet<string> strs1 = initialSessionCommands; if (func == null) { func = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs1.FirstOrDefault<string>(func); referencePropertyDatum.IncludeAdd = str != null; } if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.RemoveReference, out pSReferenceSetCmdletInfo)) { HashSet<string> strs2 = initialSessionCommands; if (func1 == null) { func1 = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs2.FirstOrDefault<string>(func1); referencePropertyDatum.IncludeRemove = str != null; } if (cmdletsForReferenceSet.Value.Cmdlets.TryGetValue(CommandType.GetReference, out pSReferenceSetCmdletInfo)) { HashSet<string> strs3 = initialSessionCommands; if (func2 == null) { func2 = (string item) => string.Equals(item, pSReferenceSetCmdletInfo.CmdletName, StringComparison.OrdinalIgnoreCase); } str = strs3.FirstOrDefault<string>(func2); referencePropertyDatum.IncludeGet = true; referencePropertyDatum.GetHidden = str == null; } strs.Add(cmdletsForReferenceSet.Key, referencePropertyDatum); } return strs; }