Alta de un cliente

Alta de una entidad con el marcador Cliente activado mediante un WriteOperation sobre la sección Entidades, con el resultado comprobado con EnsureSuccess.

Este ejemplo da de alta un cliente en la sección Entidades con un WriteOperation: el registro se crea con el campo Cliente (booleano) a "1".

Antes de empezar

  • Un DinaupClientC conectado. Ver Cliente Dinaup.
  • Tu biblioteca MyDinaup con la clase EntidadesD. El ejemplo usa DemoUp.MyDinaup.

Código

using Dinaup;
using static DemoUp.MyDinaup.SectionsD;

public async Task<Guid> AddCustomerAsync(DinaupClientC client)
{
    var datosCliente = new Dictionary<string, string>
    {
        { EntidadesD.EntidadesES.TextoPrincipal, $"Cliente {Guid.NewGuid()}" },
        { EntidadesD.EntidadesES.NombrePersonalRazonSocial, "Juan García S.A." },
        { EntidadesD.EntidadesES.Apellidos, "García López" },
        { EntidadesD.EntidadesES.Cliente, "1" }
    };

    var writeOperation = new WriteOperation("", datosCliente);   // "" => alta

    try
    {
        await client.RunWriteOperationAsync(EntidadesD._SectionIDGUID, writeOperation, false);
        writeOperation.EnsureSuccess();
        return writeOperation.WriteOperationResult.RowID;
    }
    catch (Exception ex)
    {
        Logs.Error(ex, "AddCustomer");
        throw;
    }
}

Qué pasa en cada línea

PasoDetalle
Diccionario de camposLas claves son las constantes de EntidadesES; los valores viajan como texto. El booleano Cliente va como "1".
new WriteOperation("", datos)Un id vacío es un alta. Con un Guid existente sería una edición.
RunWriteOperationAsync(sectionId, wOp, false)La sección va como Guid (EntidadesD._SectionIDGUID). El tercer parámetro deja los scripts de la sección desactivados.
EnsureSuccess()Lanza si el servidor rechazó la fila; el motivo está en WriteOperationResult.AError.
WriteOperationResult.RowIDEl Guid del registro creado.

Con los scripts en true, la sección aplica sus autorrellenados y validaciones como en el formulario. Cuándo activarlos, en Escribir en secciones. Los campos disponibles en Entidades están en el Catálogo de secciones del núcleo.

En esta página