Table of Contents

Class TimesheetsController

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

Constructors

TimesheetsController(IMediator, IStringLocalizer<GeneralMessages>)

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

Parameters

mediator IMediator
localizer IStringLocalizer<GeneralMessages>

Methods

Approve(ApproveTimeEntriesCommand, CancellationToken)

[HttpPost("approve")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_APPROVE")]
public Task<IActionResult> Approve(ApproveTimeEntriesCommand command, CancellationToken ct)

Parameters

command ApproveTimeEntriesCommand
ct CancellationToken

Returns

Task<IActionResult>

Create(CreateTimeEntryCommand, CancellationToken)

[HttpPost]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_SUBMIT")]
public Task<IActionResult> Create(CreateTimeEntryCommand command, CancellationToken ct)

Parameters

command CreateTimeEntryCommand
ct CancellationToken

Returns

Task<IActionResult>

Delete(Guid, CancellationToken)

[HttpDelete("{id:guid}")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_SUBMIT")]
public Task<IActionResult> Delete(Guid id, CancellationToken ct)

Parameters

id Guid
ct CancellationToken

Returns

Task<IActionResult>

GetByContractor(Guid, DateTime, DateTime, CancellationToken)

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

Parameters

contractorId Guid
from DateTime
to DateTime
ct CancellationToken

Returns

Task<IActionResult>

GetList(int, int, Guid?, Guid?, TimeEntryStatus?, DateTime?, DateTime?, CancellationToken)

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

Parameters

pageNumber int
pageSize int
contractorId Guid?
engagementId Guid?
status TimeEntryStatus?
from DateTime?
to DateTime?
ct CancellationToken

Returns

Task<IActionResult>

GetPendingCount(CancellationToken)

[HttpGet("pending-count")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_VIEW")]
public Task<IActionResult> GetPendingCount(CancellationToken ct)

Parameters

ct CancellationToken

Returns

Task<IActionResult>

GetWeeklySummary(Guid, DateTime, CancellationToken)

[HttpGet("weekly-summary")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_VIEW")]
public Task<IActionResult> GetWeeklySummary(Guid engagementId, DateTime weekStart, CancellationToken ct)

Parameters

engagementId Guid
weekStart DateTime
ct CancellationToken

Returns

Task<IActionResult>

Reject(Guid, RejectTimeEntryCommand, CancellationToken)

[HttpPost("{id:guid}/reject")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_REJECT")]
public Task<IActionResult> Reject(Guid id, RejectTimeEntryCommand command, CancellationToken ct)

Parameters

id Guid
command RejectTimeEntryCommand
ct CancellationToken

Returns

Task<IActionResult>

Submit(SubmitTimeEntriesCommand, CancellationToken)

[HttpPost("submit")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_SUBMIT")]
public Task<IActionResult> Submit(SubmitTimeEntriesCommand command, CancellationToken ct)

Parameters

command SubmitTimeEntriesCommand
ct CancellationToken

Returns

Task<IActionResult>

Update(Guid, UpdateTimeEntryCommand, CancellationToken)

[HttpPut("{id:guid}")]
[Authorize(Policy = "WORKFORCE_TIMESHEETS_SUBMIT")]
public Task<IActionResult> Update(Guid id, UpdateTimeEntryCommand command, CancellationToken ct)

Parameters

id Guid
command UpdateTimeEntryCommand
ct CancellationToken

Returns

Task<IActionResult>