//
// Copyright (C) Microsoft. All rights reserved.
//
using Microsoft.PowerShell.Activities;
using System.Management.Automation;
using System.Activities;
using System.Collections.Generic;
using System.ComponentModel;
namespace Microsoft.PowerShell.Utility.Activities
{
///
/// Activity to invoke the Microsoft.PowerShell.Utility\Write-Error command in a Workflow.
///
[System.CodeDom.Compiler.GeneratedCode("Microsoft.PowerShell.Activities.ActivityGenerator.GenerateFromName", "3.0")]
public sealed class WriteError : PSActivity
{
///
/// Gets the display name of the command invoked by this activity.
///
public WriteError()
{
this.DisplayName = "Write-Error";
}
///
/// Gets the fully qualified name of the command invoked by this activity.
///
public override string PSCommandName { get { return "Microsoft.PowerShell.Utility\\Write-Error"; } }
// Arguments
///
/// Provides access to the Exception parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument Exception { get; set; }
///
/// Provides access to the Message parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument Message { get; set; }
///
/// Provides access to the ErrorRecord parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument ErrorRecord { get; set; }
///
/// Provides access to the Category parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument Category { get; set; }
///
/// Provides access to the ErrorId parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument ErrorId { get; set; }
///
/// Provides access to the TargetObject parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument TargetObject { get; set; }
///
/// Provides access to the RecommendedAction parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument RecommendedAction { get; set; }
///
/// Provides access to the CategoryActivity parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument CategoryActivity { get; set; }
///
/// Provides access to the CategoryReason parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument CategoryReason { get; set; }
///
/// Provides access to the CategoryTargetName parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument CategoryTargetName { get; set; }
///
/// Provides access to the CategoryTargetType parameter.
///
[ParameterSpecificCategory]
[DefaultValue(null)]
public InArgument CategoryTargetType { get; set; }
// Module defining this command
// Optional custom code for this activity
///
/// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run.
///
/// The NativeActivityContext for the currently running activity.
/// A populated instance of Sytem.Management.Automation.PowerShell
/// The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.
protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context)
{
System.Management.Automation.PowerShell invoker = global::System.Management.Automation.PowerShell.Create();
System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName);
// Initialize the arguments
if(Exception.Expression != null)
{
targetCommand.AddParameter("Exception", Exception.Get(context));
}
if(Message.Expression != null)
{
targetCommand.AddParameter("Message", Message.Get(context));
}
if(ErrorRecord.Expression != null)
{
targetCommand.AddParameter("ErrorRecord", ErrorRecord.Get(context));
}
if(Category.Expression != null)
{
targetCommand.AddParameter("Category", Category.Get(context));
}
if(ErrorId.Expression != null)
{
targetCommand.AddParameter("ErrorId", ErrorId.Get(context));
}
if(TargetObject.Expression != null)
{
targetCommand.AddParameter("TargetObject", TargetObject.Get(context));
}
if(RecommendedAction.Expression != null)
{
targetCommand.AddParameter("RecommendedAction", RecommendedAction.Get(context));
}
if(CategoryActivity.Expression != null)
{
targetCommand.AddParameter("CategoryActivity", CategoryActivity.Get(context));
}
if(CategoryReason.Expression != null)
{
targetCommand.AddParameter("CategoryReason", CategoryReason.Get(context));
}
if(CategoryTargetName.Expression != null)
{
targetCommand.AddParameter("CategoryTargetName", CategoryTargetName.Get(context));
}
if(CategoryTargetType.Expression != null)
{
targetCommand.AddParameter("CategoryTargetType", CategoryTargetType.Get(context));
}
return new ActivityImplementationContext() { PowerShellInstance = invoker };
}
}
}