Saltar al contenido principal

Ejemplo: Agregar un Cliente

Este ejemplo muestra como crear un nuevo registro en la seccion Entidades con la opcion de Cliente activada, usando WriteOperation del SDK .NET de Dinaup.

Codigo

public async Task<Guid> AddCustomer()
{
var datosCliente = new Dictionary<string, string>
{
{ SectionsD.EntidadesD.EntidadesES.TextoPrincipal, $"Cliente {Guid.NewGuid()}" },
{ SectionsD.EntidadesD.EntidadesES.NombrePersonalRazonSocial, "Juan Garcia S.A." },
{ SectionsD.EntidadesD.EntidadesES.Apellidos, "Garcia Lopez" },
{ SectionsD.EntidadesD.EntidadesES.Cliente, "1" }
};

var writeOperation = new WriteOperation(string.Empty, datosCliente);
var seccionID = SectionsD.EntidadesD._SectionIDGUID;

try
{
var resultado = await Client.RunWriteOperationAsync(
Client.DefaultSession, seccionID, writeOperation, false);
resultado.EnsureSuccess();
return writeOperation.WriteOperationResult.RowID;
}
catch (Exception ex)
{
Dinaup.Logs.Error(ex, "AddCustomer");
throw;
}
}

Explicacion paso a paso

  1. Preparar los datos: se crea un Dictionary<string, string> con los campos a rellenar. Las claves son las constantes tipadas del paquete NuGet Dinaup.MyDinaup (generado automaticamente para cada licencia).

  2. Crear la WriteOperation: el primer parametro es el ID del registro. Si se pasa string.Empty, se crea un registro nuevo. Si se pasa un ID existente, se actualiza.

  3. Obtener el ID de seccion: SectionsD.EntidadesD._SectionIDGUID es el UUID de la seccion Entidades.

  4. Ejecutar: RunWriteOperationAsync envia la operacion al servidor. El parametro false indica que no se ejecutan scripts asociados.

  5. Verificar: EnsureSuccess() lanza una excepcion si la operacion fallo (validaciones, permisos, etc.).

  6. Obtener el ID creado: writeOperation.WriteOperationResult.RowID contiene el UUID del registro creado.

info

El campo Cliente se establece a "1" (valor booleano true en Dinaup). Esto marca la entidad como cliente. De la misma forma se pueden activar los flags Proveedor, Banco, etc.

aviso

El parametro withScript: false omite la ejecucion de DinaScripts asociados a la seccion. Usa true si necesitas que se ejecuten los scripts de formulario_guardarpost.