Exemple #1
0
        internal void ExecuteCommand()
        {
            if (RemoveAll.IsPresent)
            {
                ResourceExtensionReferences.Clear();
            }
            else
            {
                RemovePredicateExtensions();
            }

            WriteObject(VM);
        }
        protected ResourceExtensionReference GetPredicateExtension()
        {
            ResourceExtensionReference extensionRef = null;

            if (!ResourceExtensionReferences.Any())
            {
                WriteWarning(Resources.ResourceExtensionReferencesIsNullOrEmpty);
            }
            else
            {
                extensionRef = ResourceExtensionReferences.FirstOrDefault(ExtensionPredicate);
            }

            return(extensionRef);
        }
        protected override void ValidateParameters()
        {
            base.ValidateParameters();
            ExtensionName = DiagnosticsExtensionType;
            Publisher     = DiagnosticsExtensionNamespace;

            // If the user didn't specify an extension reference name and the input VM already has a diagnostics extension,
            // reuse its reference name
            if (string.IsNullOrEmpty(ReferenceName))
            {
                ResourceExtensionReference diagnosticsExtension = ResourceExtensionReferences.FirstOrDefault(ExtensionPredicate);
                if (diagnosticsExtension != null)
                {
                    ReferenceName = diagnosticsExtension.ReferenceName;
                }
            }
        }
        protected List <ResourceExtensionReference> GetPredicateExtensionList()
        {
            List <ResourceExtensionReference> extensionRefs = null;

            if (!ResourceExtensionReferences.Any())
            {
                WriteWarning(Resources.ResourceExtensionReferencesIsNullOrEmpty);
                return(extensionRefs);
            }

            extensionRefs = ResourceExtensionReferences.FindAll(
                r => ExtensionPredicate(r));
            if (!extensionRefs.Any())
            {
                WriteWarning(Resources.ResourceExtensionReferenceCannotBeFound);
            }

            return(extensionRefs);
        }
 protected void RemovePredicateExtensions()
 {
     ResourceExtensionReferences.RemoveAll(r => ExtensionPredicate(r));
 }
 protected void AddResourceExtension()
 {
     ResourceExtensionReferences.Add(NewResourceExtension());
 }