Cosmos.Types.Contactos
1.1.0
See the version list below for details.
dotnet add package Cosmos.Types.Contactos --version 1.1.0
NuGet\Install-Package Cosmos.Types.Contactos -Version 1.1.0
<PackageReference Include="Cosmos.Types.Contactos" Version="1.1.0" />
<PackageVersion Include="Cosmos.Types.Contactos" Version="1.1.0" />
<PackageReference Include="Cosmos.Types.Contactos" />
paket add Cosmos.Types.Contactos --version 1.1.0
#r "nuget: Cosmos.Types.Contactos, 1.1.0"
#:package Cosmos.Types.Contactos@1.1.0
#addin nuget:?package=Cosmos.Types.Contactos&version=1.1.0
#tool nuget:?package=Cosmos.Types.Contactos&version=1.1.0
Cosmos.Types.Contactos
Contacto — Value Object de contacto para el ERP Cosmos: nombre, rol (catálogo embebido de 7
roles) y al menos un medio de contacto (correos y/o teléfonos). Pensado para viajar dentro de
eventos event-sourced (JSONB) aguas abajo.
Instalación
dotnet add package Cosmos.Types.Contactos
Uso
using Cosmos.Types.Contactos;
using Cosmos.Types.CorreosElectronicos;
using Cosmos.Types.Telefonos;
var correo = CorreoElectronico.Crear("ventas@acme.co").Valor;
var telefono = Telefono.Crear("+57", "3001234567").Valor;
var rol = Rol.Crear("comercial").Valor; // rol del vocabulario embebido
var resultado = Contacto.Crear(
nombre: "Acme S.A.S.",
rol: rol,
correos: [correo],
telefonos: [telefono]);
if (resultado.EsExitoso)
UsarContacto(resultado.Valor);
else
foreach (var error in resultado.Errores)
Console.WriteLine(error.Codigo); // V01, V04, V05, …
El rol llega como Rol tipado (no un string): su obligatoriedad y validez quedan implícitas en el tipo.
Para listar los roles disponibles (frontends) usá Rol.Listar(). Un contacto sin ningún correo ni teléfono
es inválido.
Rehidratación (deserialización)
La construcción válida es solo vía Crear(...). Al deserializar un evento histórico el VO se
rehidrata crudo ([JsonConstructor]), sin validar: un valor que ya no cumple las reglas
actuales igual se rehidrata.
Dependencias
Cosmos.Types.Abstractions(kernel:Result<T>)Cosmos.Types.CorreosElectronicosCosmos.Types.Telefonos
Requiere net10.0.
Documentación
Licencia
Uso interno del ERP Cosmos.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cosmos.Types.Abstractions (>= 1.1.0)
- Cosmos.Types.CorreosElectronicos (>= 1.1.0)
- Cosmos.Types.Telefonos (>= 1.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.