> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.nimbleapps.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# OperationStep

## Definition

**Assembly:** CloudNimble.BlazorEssentials.dll

**Namespace:** CloudNimble.BlazorEssentials.Merlin

**Inheritance:** CloudNimble.BlazorEssentials.BlazorObservable

## Syntax

```csharp theme={"dark"}
CloudNimble.BlazorEssentials.Merlin.OperationStep
```

## Constructors

### &#x20;.ctor

#### Syntax

```csharp theme={"dark"}
public OperationStep(int id, string displayText, System.Func<System.Threading.Tasks.Task<bool>> onAction)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `id` | `int` | - |
| `displayText` | `string` | - |
| `onAction` | `System.Func<System.Threading.Tasks.Task<bool>>` | - |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.BlazorEssentials.BlazorObservable`

Creates a new instance of the [BlazorObservable](https://easyaf.nimbleapps.cloud/blazoressentials/api-reference/CloudNimble/BlazorEssentials/BlazorObservable.md) class.

#### Syntax

```csharp theme={"dark"}
public BlazorObservable(CloudNimble.BlazorEssentials.StateHasChangedConfig stateHasChangedConfig = null)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `stateHasChangedConfig` | `CloudNimble.BlazorEssentials.StateHasChangedConfig` | - |

## Properties

### &#x20;DisplayText

The text to display to the end user regarding what is happening in this step.

#### Syntax

```csharp theme={"dark"}
public string DisplayText { get; set; }
```

#### Property Value

Type: `string`

### &#x20;ErrorText

Any additional text you'd like to display to the end user when there is an error.

#### Syntax

```csharp theme={"dark"}
public string ErrorText { get; set; }
```

#### Property Value

Type: `string`

### &#x20;Id

A zero-based index identifying this step in relation to other steps in the process.

#### Syntax

```csharp theme={"dark"}
public int Id { get; set; }
```

#### Property Value

Type: `int`

### &#x20;Label

Returns a Bootstrap Label with the details of the a given [OperationStep.Status](https://easyaf.nimbleapps.cloud/blazoressentials/api-reference/CloudNimble/BlazorEssentials/Merlin/OperationStep.md#status).

#### Syntax

```csharp theme={"dark"}
public string Label { get; set; }
```

#### Property Value

Type: `string`

### &#x20;LoadingStatus Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.BlazorEssentials.BlazorObservable`

A [BlazorObservable.LoadingStatus](https://easyaf.nimbleapps.cloud/blazoressentials/api-reference/CloudNimble/BlazorEssentials/BlazorObservable.md#loadingstatus) specifying the current state of the required data for this Observable.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.BlazorEssentials.LoadingStatus LoadingStatus { get; set; }
```

#### Property Value

Type: `CloudNimble.BlazorEssentials.LoadingStatus`

### &#x20;OnAction

An async function that returns a boolean indicating whether or not the action succeeded.

#### Syntax

```csharp theme={"dark"}
public System.Func<System.Threading.Tasks.Task<bool>> OnAction { get; set; }
```

#### Property Value

Type: `System.Func<System.Threading.Tasks.Task<bool>>`

### &#x20;StateHasChanged Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.BlazorEssentials.BlazorObservable`

Determines how to trigger StateHasChanged events in a Blazor component.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.BlazorEssentials.StateHasChangedConfig StateHasChanged { get; set; }
```

#### Property Value

Type: `CloudNimble.BlazorEssentials.StateHasChangedConfig`

### &#x20;Status

An OperationStepStatus where you can change the operation's status and the UI is re-rendered automatically.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.BlazorEssentials.Merlin.OperationStepStatus Status { get; set; }
```

#### Property Value

Type: `CloudNimble.BlazorEssentials.Merlin.OperationStepStatus`

## Methods

### &#x20;Dispose Override

> [!NOTE]
>
> Inherited from `CloudNimble.BlazorEssentials.BlazorObservable`

#### Syntax

```csharp theme={"dark"}
protected override void Dispose(bool disposing)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `disposing` | `bool` | - |

### &#x20;Reset

Resets the status of the OperationStep in the event it needs to run again.

#### Syntax

```csharp theme={"dark"}
public void Reset()
```

### &#x20;Start

The Action that the Operation calls to trigger a Step. It wrapps the call to onAction with status update logic.

#### Syntax

```csharp theme={"dark"}
public System.Threading.Tasks.Task Start()
```

#### Returns

Type: `System.Threading.Tasks.Task`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.