SDK .NET
Qué cambia en cada versión del paquete NuGet Dinaup.
10.15.0.92
El motivo de una escritura, en un solo sitio
RunWriteOperationAsync devuelve en ErrorMessageForUser el motivo por el que algo no se guardó, listo para enseñarlo. Si viene vacío, se guardó todo.
var respuesta = await client.RunWriteOperationAsync(seccionId, wOp, true);
var motivo = respuesta.ErrorMessageForUser;
if (motivo.IsNotEmpty())
{
// No se guardó: enseña «motivo» tal cual.
}ErrorMessageForUser reúne los tres casos en que una escritura no se guarda:
- Dinaup rechaza un registro, por ejemplo por una validación: trae el motivo que da Dinaup para ese registro.
- Falla la petición entera, por ejemplo por una clave API que no vale: trae ese error.
- Dinaup no confirma un registro: trae «No se ha podido determinar si la acción se ha ejecutado correctamente.». El registro puede haberse guardado, así que consulta antes de repetir la escritura.
Si mandas varios registros a la vez y quieres el motivo de uno en concreto, cada WriteOperation lo trae en StatusMessage.
Nombres más claros
| Antes | Ahora | Qué es |
|---|---|---|
WriteOperationResponse.UserError | ErrorMessageForUser | El motivo que enseñas, o vacío si se guardó todo. |
WriteOperationResponse.ExistenErrores | SomeRowFailed | Algún registro no se guardó. |
WriteOperation.StateDescription | StatusMessage | El estado de ese registro, con su motivo si falló. |
WriteOperationResult.AError | ServerErrorMessage | El motivo que dio Dinaup para ese registro. |
WriteOperation.setErrorState | MarkAsFailed | Marca el registro como no guardado. |
WriteOperation.setSuccessfulState | MarkAsSaved | Marca el registro como guardado. |
WriteOperation.setRunningState | MarkAsRunning | Marca el registro como en curso. |
WriteOperation.setInitializedState | MarkAsInitialized | Marca el registro como preparado. |
Los nombres de antes siguen funcionando y el compilador los marca como obsoletos. Cámbialos cuando toques ese código.