Table of Contents

Class ReceiptsController

Namespace
KadicErp.WebApi.Controllers.Receivables
Assembly
KadicErp.WebApi.dll
[ApiController]
[Authorize]
[Route("api/receivables/receipts")]
public class ReceiptsController : ControllerBase
Inheritance
object
ControllerBase
ReceiptsController

Constructors

ReceiptsController(ISender, IStringLocalizer<GeneralMessages>)

public ReceiptsController(ISender sender, IStringLocalizer<GeneralMessages> localizer)

Parameters

sender ISender
localizer IStringLocalizer<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

receiptId Guid
request ApplyReceiptRequestDto

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

command CreateAndApplyReceiptCommand

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

command CreateReceiptCommand

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

id Guid
cancellationToken CancellationToken

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

id Guid
cancellationToken CancellationToken

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

query GetCustomerReceiptsQuery
cancellationToken CancellationToken

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

id Guid
cancellationToken CancellationToken

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

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>