Class ReceiptsController
- Namespace
- KadicErp.WebApi.Controllers.Receivables
- Assembly
- KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/receivables/receipts")]
public class ReceiptsController : ControllerBase
- Inheritance
-
objectControllerBaseReceiptsController
Constructors
ReceiptsController(ISender, IStringLocalizer<GeneralMessages>)
public ReceiptsController(ISender sender, IStringLocalizer<GeneralMessages> localizer)
Parameters
senderISenderlocalizerIStringLocalizer<GeneralMessages>
Methods
ApplyToDocument(Guid, ApplyReceiptRequestDto)
Aplicar un recibo (o porción) a un documento por cobrar específico
[HttpPost("{receiptId:guid}/apply")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_APPLY")]
public Task<IActionResult> ApplyToDocument(Guid receiptId, ApplyReceiptRequestDto request)
Parameters
receiptIdGuidrequestApplyReceiptRequestDto
Returns
- Task<IActionResult>
CreateAndApplyReceipt(CreateAndApplyReceiptCommand)
Crear un recibo y aplicarlo a uno o más documentos en un solo paso. Combina la creación del recibo con la aplicación a facturas.
[HttpPost("create-and-apply")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_CREATE")]
public Task<IActionResult> CreateAndApplyReceipt(CreateAndApplyReceiptCommand command)
Parameters
commandCreateAndApplyReceiptCommand
Returns
- Task<IActionResult>
CreateReceipt(CreateReceiptCommand)
Registrar un nuevo recibo de pago de cliente. El número de recibo se genera automáticamente: REC-{Year}-{Seq:D8}
[HttpPost]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_CREATE")]
public Task<IActionResult> CreateReceipt(CreateReceiptCommand command)
Parameters
commandCreateReceiptCommand
Returns
- Task<IActionResult>
GetPdf(Guid, CancellationToken)
Exportar recibo de pago a PDF
[HttpGet("{id:guid}/pdf")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_VIEW")]
public Task<IActionResult> GetPdf(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetReceiptById(Guid, CancellationToken)
Obtener un recibo por su ID
[HttpGet("{id:guid}")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_VIEW")]
public Task<IActionResult> GetReceiptById(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetReceipts(GetCustomerReceiptsQuery, CancellationToken)
Listar recibos con paginación y filtro opcional por cuenta
[HttpGet]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_VIEW")]
public Task<IActionResult> GetReceipts(GetCustomerReceiptsQuery query, CancellationToken cancellationToken)
Parameters
queryGetCustomerReceiptsQuerycancellationTokenCancellationToken
Returns
- Task<IActionResult>
SendPdfEmail(Guid, CancellationToken)
Genera el PDF del recibo, lo sube a Azure y lo envía al cliente por Email.
[HttpPost("{id:guid}/send-pdf-email")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_VIEW")]
public Task<IActionResult> SendPdfEmail(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
SendPdfWhatsApp(Guid, CancellationToken)
Genera el PDF del recibo, lo sube a Azure y lo envía al cliente por WhatsApp.
[HttpPost("{id:guid}/send-pdf-whatsapp")]
[Authorize(Policy = "RECEIVABLES_RECEIPTS_VIEW")]
public Task<IActionResult> SendPdfWhatsApp(Guid id, CancellationToken cancellationToken)
Parameters
idGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>