示例#1
0
        internal void PerformSingleOperation()
        {
            string message;

            Action action;

            if (cmdlet.ParameterSetName == ParameterSet.Default)
            {
                message = $"Setting {subObjectTypeDescription.ToLower()} '{Object.Name}' ({objectTypeDescription} ID: {Object.ObjectId}) setting '{Property}' to '{Value}'";

                action = () => setObjectProperty(Object, new[] { createParameter(Property, Value) });
            }
            else if (DynamicSet())
            {
                var strActions = dynamicParameters.Value.Select(p => $"'{p.Property}' to '{p.Value}'");
                var str        = string.Join(", ", strActions);

                var name = Object != null ? $"{subObjectTypeDescription.ToLower()} '{Object.Name}'" : $"ID {SubId}";

                message = $"Setting {subObjectTypeDescription.ToLower()} {name} ({objectTypeDescription} ID: {ObjectId}) setting {str}";

                switch (cmdlet.ParameterSetName)
                {
                case ParameterSet.Dynamic:
                    action = () => setObjectProperty(Object, dynamicParameters.Value.ToArray());
                    break;

                case ParameterSet.DynamicManual:
                    action = () => setObjectPropertyManual(ObjectId, SubId, dynamicParameters.Value.ToArray());
                    break;

                default:
                    throw new UnknownParameterSetException(cmdlet.ParameterSetName);
                }
            }
            else
            {
                message = $"Setting {subObjectTypeDescription.ToLower()} ID {SubId} ({objectTypeDescription} ID: {ObjectId} setting {Property} to '{Value}'";

                action = () => setObjectPropertyManual(ObjectId, SubId, new[] { createParameter(Property, Value) });
            }

            cmdlet.ExecuteOperation(action, message);
        }