Table of Contents

Class InvoicesController

Namespace
KadicErp.WebApi.Controllers.Workforce
Assembly
KadicErp.WebApi.dll
[Route("api/workforce/invoices")]
[ApiController]
[Authorize]
[RequireModule("WORKFORCE")]
public class InvoicesController : ControllerBase
Inheritance
object
ControllerBase
InvoicesController

Constructors

InvoicesController(IMediator, IStringLocalizer<GeneralMessages>)

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

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>

Methods

Approve(Guid, CancellationToken)

[HttpPost("{id:guid}/approve")]
[Authorize(Policy = "WORKFORCE_INVOICES_APPROVE")]
public Task<IActionResult> Approve(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

Generate(GenerateInvoiceCommand, CancellationToken)

[HttpPost("generate")]
[Authorize(Policy = "WORKFORCE_INVOICES_GENERATE")]
public Task<IActionResult> Generate(GenerateInvoiceCommand command, CancellationToken ct)

Parameters

command GenerateInvoiceCommand
ct CancellationToken

Returns

Task<IActionResult>

GetByContractor(Guid, CancellationToken)

[HttpGet("contractor/{contractorId:guid}")]
[Authorize(Policy = "WORKFORCE_INVOICES_VIEW")]
public Task<IActionResult> GetByContractor(Guid contractorId, CancellationToken ct)

Parameters

contractorId Guid
ct CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

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

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

GetList(int, int, Guid?, Guid?, InvoiceStatus?, CancellationToken)

[HttpGet]
[Authorize(Policy = "WORKFORCE_INVOICES_VIEW")]
public Task<IActionResult> GetList(int pageNumber = 1, int pageSize = 20, Guid? contractorId = null, Guid? engagementId = null, InvoiceStatus? status = null, CancellationToken ct = default)

Parameters

pageNumber int
pageSize int
contractorId Guid?
engagementId Guid?
status InvoiceStatus?
ct CancellationToken

Returns

Task<IActionResult>

GetPdf(Guid, CancellationToken)

[HttpGet("{id:guid}/pdf")]
[Authorize(Policy = "WORKFORCE_INVOICES_VIEW")]
public Task<IActionResult> GetPdf(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

RegisterPayment(Guid, RegisterInvoicePaymentCommand, CancellationToken)

[HttpPost("{id:guid}/register-payment")]
[Authorize(Policy = "WORKFORCE_INVOICES_REGISTER_PAYMENT")]
public Task<IActionResult> RegisterPayment(Guid id, RegisterInvoicePaymentCommand command, CancellationToken ct)

Parameters

id Guid
command RegisterInvoicePaymentCommand
ct CancellationToken

Returns

Task<IActionResult>

Void(Guid, CancellationToken)

[HttpPost("{id:guid}/void")]
[Authorize(Policy = "WORKFORCE_INVOICES_VOID")]
public Task<IActionResult> Void(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

VoidPayment(Guid, CancellationToken)

[HttpPost("{id:guid}/void-payment")]
[Authorize(Policy = "WORKFORCE_INVOICES_REGISTER_PAYMENT")]
public Task<IActionResult> VoidPayment(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>