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
-
Preparar los datos: se crea un
Dictionary<string, string>con los campos a rellenar. Las claves son las constantes tipadas del paquete NuGetDinaup.MyDinaup(generado automaticamente para cada licencia). -
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. -
Obtener el ID de seccion:
SectionsD.EntidadesD._SectionIDGUIDes el UUID de la seccion Entidades. -
Ejecutar:
RunWriteOperationAsyncenvia la operacion al servidor. El parametrofalseindica que no se ejecutan scripts asociados. -
Verificar:
EnsureSuccess()lanza una excepcion si la operacion fallo (validaciones, permisos, etc.). -
Obtener el ID creado:
writeOperation.WriteOperationResult.RowIDcontiene el UUID del registro creado.
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.
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.