Table of Contents

Class CustomerAccountsController

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

Constructors

CustomerAccountsController(IMediator, IStringLocalizer<GeneralMessages>)

public CustomerAccountsController(IMediator mediator, IStringLocalizer<GeneralMessages> localizer)

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>

Methods

ChangeStatus(Guid, ChangeCustomerAccountStatusCommand, CancellationToken)

[HttpPatch("{id:guid}/status")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_CHANGE_STATUS")]
public Task<IActionResult> ChangeStatus(Guid id, ChangeCustomerAccountStatusCommand command, CancellationToken cancellationToken)

Parameters

id Guid
command ChangeCustomerAccountStatusCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

Create(CreateCustomerAccountCommand, CancellationToken)

[HttpPost]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_CREATE")]
public Task<IActionResult> Create(CreateCustomerAccountCommand command, CancellationToken cancellationToken)

Parameters

command CreateCustomerAccountCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

Get(GetCustomerAccountsQuery, CancellationToken)

[HttpGet]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> Get(GetCustomerAccountsQuery query, CancellationToken cancellationToken)

Parameters

query GetCustomerAccountsQuery
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetAgingReport(GetAgingReportQuery, CancellationToken)

Reporte de antigüedad de saldos. Devuelve los clientes con documentos abiertos clasificados por rangos de vencimiento. Soporta paginación y filtros.

[HttpGet("aging-report")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetAgingReport(GetAgingReportQuery query, CancellationToken cancellationToken)

Parameters

query GetAgingReportQuery
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetBalanceDiscrepancy(Guid, CancellationToken)

Verifica si el balance almacenado en la cuenta coincide con la suma de los documentos abiertos. Retorna la discrepancia para diagnóstico contable.

[HttpGet("{id:guid}/balance-discrepancy")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetBalanceDiscrepancy(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

[HttpGet("{id:guid}")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetDetail(Guid, CancellationToken)

[HttpGet("{id:guid}/detail")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetDetail(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetDunningLogs(Guid, int, int, CancellationToken)

Obtiene el historial de escalaciones de cobros de una cuenta

[HttpGet("{customerAccountId:guid}/dunning-logs")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_VIEW")]
public Task<IActionResult> GetDunningLogs(Guid customerAccountId, int page = 1, int pageSize = 20, CancellationToken cancellationToken = default)

Parameters

customerAccountId Guid
page int
pageSize int
cancellationToken CancellationToken

Returns

Task<IActionResult>

SetPolicies(Guid, SetCustomerAccountPoliciesCommand, CancellationToken)

[HttpPut("{id:guid}/policies")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_SET_POLICIES")]
public Task<IActionResult> SetPolicies(Guid id, SetCustomerAccountPoliciesCommand command, CancellationToken cancellationToken)

Parameters

id Guid
command SetCustomerAccountPoliciesCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

UpdateSettings(Guid, UpdateCustomerAccountSettingsCommand, CancellationToken)

[HttpPut("{id:guid}/settings")]
[Authorize(Policy = "RECEIVABLES_CUSTOMER_ACCOUNTS_UPDATE")]
public Task<IActionResult> UpdateSettings(Guid id, UpdateCustomerAccountSettingsCommand command, CancellationToken cancellationToken)

Parameters

id Guid
command UpdateCustomerAccountSettingsCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>