Cosmos.Impuestos.Mensajeria
0.0.6
dotnet add package Cosmos.Impuestos.Mensajeria --version 0.0.6
NuGet\Install-Package Cosmos.Impuestos.Mensajeria -Version 0.0.6
<PackageReference Include="Cosmos.Impuestos.Mensajeria" Version="0.0.6" />
<PackageVersion Include="Cosmos.Impuestos.Mensajeria" Version="0.0.6" />
<PackageReference Include="Cosmos.Impuestos.Mensajeria" />
paket add Cosmos.Impuestos.Mensajeria --version 0.0.6
#r "nuget: Cosmos.Impuestos.Mensajeria, 0.0.6"
#:package Cosmos.Impuestos.Mensajeria@0.0.6
#addin nuget:?package=Cosmos.Impuestos.Mensajeria&version=0.0.6
#tool nuget:?package=Cosmos.Impuestos.Mensajeria&version=0.0.6
Cosmos.Impuestos.Mensajeria
Extensiones de Wolverine para integrarse con el sub-dominio de Impuestos del ERP Cosmos. La publicación de solicitudes tributarias y la escucha de resultados son capacidades separables, de modo que un servicio de borde pueda publicar solicitudes sin quedar suscrito a los resultados.
Si solo necesitas los contratos (sin Wolverine), usa el paquete Cosmos.Impuestos.Contratos.
Instalación
dotnet add package Cosmos.Impuestos.Mensajeria
Configuración
El paquete ofrece la publicación y la escucha como capacidades separadas, más una conveniencia que combina ambas. Elegí según el rol del servicio:
Servicio de borde (API de comandos, servidor MCP, gRPC) que solo necesita pedir — publica solicitudes pero NO debe reaccionar a los resultados:
options.PublicarHaciaImpuestos();Backend persistente del subdominio que publica solicitudes Y reacciona a los resultados — usá la conveniencia (un solo servicio debe escuchar):
options.HabilitarImpuestos("MiServicio-From-Impuestos");Solo escuchar (caso raro: la reacción vive en un servicio distinto del que publica):
options.EscucharRespuestasImpuestos("MiServicio-From-Impuestos");
PublicarHaciaImpuestos() configura la publicación de CalculoTributarioSolicitado, SolicitarConfirmacionTributaria, SolicitarRegistroTributario y ReplicaDeClasificacionesSolicitada a la cola inbound canónica de Impuestos (Impuestos-Solicitudes) con Outbox durable.
EscucharRespuestasImpuestos(nombreCola) suscribe al exchange de Impuestos para recibir CalculoTributarioRealizado, RegistroTributarioEntregado, ClasificacionTributariaPublicada y ClasificacionTributariaDesactivada con Inbox durable.
⚠️ El exchange de Impuestos es fanout.
EscucharRespuestasImpuestos(y por tantoHabilitarImpuestos) debe invocarlo un solo servicio del subdominio. Si dos lo invocan con la misma cola compiten por cada mensaje; con colas distintas duplican el consumo. Los servicios de borde deben usar soloPublicarHaciaImpuestos().
Ejemplo de uso
// Program.cs del servicio consumidor
builder.Host.UsarWolverineParaComandos(
typeof(IDominioAssemblyMarker).Assembly,
connectionString, "MiSchema",
builder.Environment.IsDevelopment(),
options =>
{
options.HabilitarRabbitMq("RabbitMQ");
options.HabilitarOutboxParaEventosPublicos(serviceName, typeof(IContratosAssemblyMarker).Assembly);
options.HabilitarInbox();
// El backend del subdominio publica solicitudes y reacciona a los resultados
options.HabilitarImpuestos("MiServicio-From-Impuestos");
}
);
// En el handler que necesita cotizar tributos
using Cosmos.Impuestos.Contratos.Eventos;
await publicEventSender.PublishAsync(
new CalculoTributarioSolicitado(/* conceptos, contexto, referenciaOrigen, … */));
// Consumer para recibir el resultado de la cotización, correlacionado por ReferenciaOrigen
public class CalculoRealizadoConsumer
: ICommandHandlerAsync<CalculoTributarioRealizado>
{
public Task HandleAsync(CalculoTributarioRealizado evento, CancellationToken ct)
{
// evento.ReferenciaOrigen → identifica la transacción que solicitó la cotización
// evento.Aplicados / evento.Descartados → resultado de la cotización
return Task.CompletedTask;
}
}
Métodos de extensión
| Método | Uso |
|---|---|
PublicarHaciaImpuestos() |
Publica las solicitudes a la cola canónica. Seguro en cualquier servicio (varios productores → una cola). Es lo único que debe invocar un servicio de borde. |
EscucharRespuestasImpuestos(nombreCola) |
Suscribe al exchange de Impuestos para recibir resultados y transferencia de estado. Debe invocarlo un solo servicio del subdominio. |
HabilitarImpuestos(nombreCola) |
Conveniencia para el único backend que publica Y escucha. Equivale a PublicarHaciaImpuestos() + EscucharRespuestasImpuestos(nombreCola). |
Dependencias
| Paquete | Propósito |
|---|---|
Cosmos.Impuestos.Contratos |
Contratos del sub-dominio de Impuestos. |
Cosmos.EventDriven.CritterStack.RabbitMQ |
Mecánica de suscripción a exchanges de servicios EDA (SuscribirseAServicio). |
WolverineFx.RabbitMQ |
Transporte RabbitMQ para Wolverine. |
Licencia
Software propietario © 2026 Sincosoft. Todos los derechos reservados.
| 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.EventDriven.CritterStack.RabbitMQ (>= 1.2.2)
- Cosmos.Impuestos.Contratos (>= 0.0.6)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- WolverineFx.RabbitMQ (>= 6.8.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.