# Ejemplo: Agregar un Recambio

Agregar un nuevo recambio utilizando el [SDK Dinaup para .NET](/desarrollo/sdk.md) se hace mediante la clase [WriteOperation](broken://pages/mtbmARaodfwn8MLV70wu), enviando los campos requeridos a la sección de recambios.

{% stepper %}
{% step %}

#### Requisitos Previos

Antes de agregar un recambio asegúrate de contar con:

* `vehiculoID`: El ID de un vehículo válido para desguace.
* `numeracionID`: Una numeración activa (serie de recambio).
* `tipoID`: El tipo de recambio.
* `estadoID`: El estado del recambio.

{% hint style="info" %}
Si no tienes los valores puedes obtenerlos usando los métodos para consultar informes. [Reports](broken://pages/2hjqmfxn3h5UMf1tEf6G)
{% endhint %}
{% endstep %}

{% step %}

#### Preparar los datos

Crea un diccionario con los datos del recambio:

```csharp
var datosRecambio = new Dictionary<string, string>
{
    { RecambiosES.TextoPrincipal, "Motor diésel completo" },
    { RecambiosES.ReferenciaRecursoDeOrigen, vehiculoID },
    { RecambiosES.ReferenciaNumeracion, numeracionID },
    { RecambiosES.ReferenciaEstado, estadoID },
    { RecambiosES.ReferenciaTipo, tipoID }
};

```

{% hint style="info" %}
`RecambiosES` se encuentra en el espacio de nombre `MyDinaup.SectionsD.RecambiosD`.\
Debes tener instalado en el proyecto la librería de Mapeo personalizada [MyDinaup](broken://pages/fNKMOzNRlWAyHktYbE0c).
{% endhint %}
{% endstep %}

{% step %}

#### Crear y ejecutar la operación

Crea la operación de escritura:

```csharp
var writeOperation = new WriteOperation(string.Empty, datosRecambio);
```

Ejecuta la operación

```csharp
var seccionID = MyDinaup.SectionsD.RecambiosD._SectionIDGUID;

var resultado = await client.RunWriteOperationAsync(
    client.DefaultSession,
    seccionID,
    writeOperation,
    false // false = escritura directa, true = virtualizada
);

resultado.EnsureSuccess(); // Provoca excepción si algo falla.

```

{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.dinaup.com/desarrollo/sdk/cliente/ejemplo-agregar-recambio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
