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
DinaupClientCconectado. Ver Cliente Dinaup. - Tu biblioteca MyDinaup con la clase
EntidadesD. El ejemplo usaDemoUp.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
| Paso | Detalle |
|---|---|
| Diccionario de campos | Las 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.RowID | El 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.