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

AntesAhoraQué es
WriteOperationResponse.UserErrorErrorMessageForUserEl motivo que enseñas, o vacío si se guardó todo.
WriteOperationResponse.ExistenErroresSomeRowFailedAlgún registro no se guardó.
WriteOperation.StateDescriptionStatusMessageEl estado de ese registro, con su motivo si falló.
WriteOperationResult.AErrorServerErrorMessageEl motivo que dio Dinaup para ese registro.
WriteOperation.setErrorStateMarkAsFailedMarca el registro como no guardado.
WriteOperation.setSuccessfulStateMarkAsSavedMarca el registro como guardado.
WriteOperation.setRunningStateMarkAsRunningMarca el registro como en curso.
WriteOperation.setInitializedStateMarkAsInitializedMarca el registro como preparado.

Los nombres de antes siguen funcionando y el compilador los marca como obsoletos. Cámbialos cuando toques ese código.

En esta página