Sales Document Backoffice UI Foundation #66
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 la primera UI administrativa oficial para el módulo Sales Documents en el Backoffice Blazor, consumiendo los endpoints API ya publicados por Story #64.
El objetivo es cerrar la capa:
sobre el flujo ya existente:
Contexto funcional
El proyecto PhronCare ya cuenta con el módulo Sales Document consolidado a nivel backend:
PhSSalesDocument,PhSSalesDocumentDetail,PhSSalesDocumentCoverageESalesDocument,ESalesDocumentDetail,ESalesDocumentCoverageSalesDocumentType,SalesDocumentStatus,SalesDocumentOriginTypeySalesDocumentCoverageTypeSalesDocumentServicefuncionalGET /api/SalesDocument/searchGET /api/SalesDocument/{id}POST /api/SalesDocumentLas Stories #56, #58, #59, #61, #63 y #64 ya fueron aplicadas y mergeadas.
Esta story agrega la primera experiencia administrativa mínima para operar Sales Documents desde el Backoffice existente, manteniendo el enfoque incremental antes de avanzar hacia facturación fiscal.
Alcance
Esta story incluye exclusivamente cambios en la capa UI Blazor.
Navegación
Sales Documents./salesdocuments.Cliente UI/API
ISalesDocumentServiceSalesDocumentServiceSalesDocumentSearchParamsProgram.cssiguiendo el patrón actual de DI del Backoffice.Browse/List
/salesdocuments.GET /api/SalesDocument/search.IToastService.Detail readonly
/salesdocuments/{id:int}.GET /api/SalesDocument/{id}.Create mínimo
/salesdocuments/create.POST /api/SalesDocument.Enums
SalesDocumentTypeSalesDocumentStatusSalesDocumentOriginTypeSalesDocumentCoverageTypeArchivos incluidos en el patch
phronCare.UIBlazor/Layout/NavMenu.razorphronCare.UIBlazor/Program.csphronCare.UIBlazor/Services/Sales/SalesDocuments/ISalesDocumentService.csphronCare.UIBlazor/Services/Sales/SalesDocuments/SalesDocumentService.csphronCare.UIBlazor/Services/Sales/SalesDocuments/SalesDocumentSearchParams.csphronCare.UIBlazor/Pages/Sales/SalesDocuments/SalesDocuments.razorphronCare.UIBlazor/Pages/Sales/SalesDocuments/SalesDocumentDetail.razorphronCare.UIBlazor/Pages/Sales/SalesDocuments/SalesDocumentCreate.razorFuera de alcance
Esta story no incluye:
Criterios de aceptación
✔ El menú lateral muestra acceso a
Sales Documentsdentro de Ventas.✔ La ruta
/salesdocumentscarga el browse/list.✔ El browse consume
GET /api/SalesDocument/search.✔ El browse muestra loading, lista vacía, tabla y paginación básica.
✔ La acción de detalle navega a
/salesdocuments/{id}.✔ El detalle consume
GET /api/SalesDocument/{id}.✔ El detalle muestra cabecera, coverage y líneas readonly.
✔ La ruta
/salesdocuments/createpermite crear un documento mínimo.✔ El create consume
POST /api/SalesDocument.✔ Al crear correctamente, la UI navega al detalle del documento creado.
✔ Los enums se manejan usando tipos existentes, no ints mágicos.
✔ No se modifica ningún modelo EF generado por scaffold.
✔ No se rompen contratos API existentes.
✔ El patch aplica limpio con:
Decisiones de diseño
QuoteServiceyDeliveryNoteService.HttpClientscoped global configurado enProgram.cs.QuoteIdse solicita en create porque el Core actual exigeCoveragey el DTO de coverage requiereQuoteId.OriginIdyQuoteDetailIdpara respetar validaciones actuales del Core.Entregable esperado
Story
Archivo:
Patch
Archivo:
Validado con:
Branch sugerido
Commit sugerido