feat(sales): incorporar servicio UI para consumo de Delivery Note #25
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objetivo
Implementar un servicio en la capa UI (Blazor) que permita consumir los endpoints de Delivery Note, desacoplando la lógica de acceso HTTP de los componentes visuales.
Contexto funcional
El módulo de Delivery Note ya cuenta con:
IPhSDeliveryNoteRepository,PhSDeliveryNoteRepository)IDeliveryNoteDom,DeliveryNoteService)DeliveryNoteController)DeliveryNoteDto) incorporado en la story #23Actualmente, no existe una capa de consumo en la UI para Delivery Note, lo que impide mantener consistencia con el patrón ya implementado en otros módulos como Quotes y Expeditions, donde la UI no accede directamente a endpoints sino a través de servicios tipados.
Esta story introduce esa capa intermedia, preparando el terreno para futuras pantallas de consulta o detalle.
Alcance
Incluye exclusivamente la capa de consumo en UI:
Crear interfaz de servicio:
IDeliveryNoteService(UI)Crear implementación:
DeliveryNoteService(UI)Métodos a implementar:
GetByIdAsync(int id)GetByDeliveryNoteNumberAsync(string deliveryNoteNumber)GetByQuoteIdAsync(int quoteId)Consumir endpoints existentes en API:
/api/deliverynote/{id}/api/deliverynote/number/{deliveryNoteNumber}/api/deliverynote/quote/{quoteId}Manejar:
DeliveryNoteDtoRegistrar el servicio en DI (Program.cs o equivalente)
Fuera de alcance
Criterios de aceptación
✔ Existe interfaz
IDeliveryNoteServiceen UI✔ Existe implementación
DeliveryNoteServiceen UI✔ Los métodos consumen correctamente los endpoints existentes
✔ Se deserializa correctamente
DeliveryNoteDto✔ El servicio está registrado en el contenedor de dependencias
✔ No hay acceso directo a HttpClient desde componentes (preparación para siguiente story)
✔ El código compila sin errores
✔ Se respeta la arquitectura Data → Domain → Core → API → UI
✔ No se modifican modelos EF generados por scaffold
Decisiones de diseño
DeliveryNoteDto, evitando acoplamiento con entidades de dominio.Entregable esperado
UI/Services/Interfaces/IDeliveryNoteService.cs
UI/Services/DeliveryNoteService.cs
UI/Program.cs (registro en DI)
Próxima Story sugerida
feat(sales): agregar vista de detalle de Delivery Note en Blazor