Table of Contents

Class VehiclesController

Namespace
KadicErp.WebApi.Controllers.RentACar
Assembly
KadicErp.WebApi.dll
[ApiController]
[Route("api/rent-a-car/vehicles")]
[Authorize]
[RequireModule("RENT_A_CAR")]
public class VehiclesController : ControllerBase
Inheritance
object
ControllerBase
VehiclesController

Constructors

VehiclesController(IMediator, IReportExportService)

public VehiclesController(IMediator mediator, IReportExportService exportService)

Parameters

mediator IMediator
exportService IReportExportService

Methods

Activate(Guid)

[HttpPatch("{id:guid}/activate")]
[Authorize(Policy = "RENTACAR_VEHICLES_ACTIVATE")]
public Task<IActionResult> Activate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

Create(CreateVehicleCommand)

[HttpPost]
[Authorize(Policy = "RENTACAR_VEHICLES_CREATE")]
public Task<IActionResult> Create(CreateVehicleCommand command)

Parameters

command CreateVehicleCommand

Returns

Task<IActionResult>

Deactivate(Guid)

[HttpPatch("{id:guid}/deactivate")]
[Authorize(Policy = "RENTACAR_VEHICLES_DEACTIVATE")]
public Task<IActionResult> Deactivate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

ExportCardList(ReportExportRequest, CancellationToken)

[HttpPost("card-list/export")]
[Authorize(Policy = "RENTACAR_VEHICLES_EXPORT")]
public Task<IActionResult> ExportCardList(ReportExportRequest request, CancellationToken cancellationToken)

Parameters

request ReportExportRequest
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetAll(PaginatorRequestDto, Guid?, Guid?, string?, string?, int?, string?, Guid?, Guid?, Guid?, DateOnly?, DateOnly?, Guid?)

[HttpGet("GetAll")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetAll(PaginatorRequestDto request, Guid? branchId = null, Guid? tenantId = null, string? searchName = null, string? plate = null, int? year = null, string? color = null, Guid? statusId = null, Guid? categoryId = null, Guid? modelId = null, DateOnly? dateFrom = null, DateOnly? dateTo = null, Guid? filterStatusId = null)

Parameters

request PaginatorRequestDto
branchId Guid?
tenantId Guid?
searchName string
plate string
year int?
color string
statusId Guid?
categoryId Guid?
modelId Guid?
dateFrom DateOnly?
dateTo DateOnly?
filterStatusId Guid?

Returns

Task<IActionResult>

GetById(Guid)

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

Parameters

id Guid

Returns

Task<IActionResult>

GetCardList(PaginatorRequestDto, Guid?, Guid?, string?, string?, int?, string?, Guid?, Guid?, Guid?, DateOnly?, DateOnly?, Guid?, Guid?, DateOnly?)

[HttpGet("card-list")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetCardList(PaginatorRequestDto request, Guid? branchId = null, Guid? tenantId = null, string? searchName = null, string? plate = null, int? year = null, string? color = null, Guid? statusId = null, Guid? categoryId = null, Guid? modelId = null, DateOnly? dateFrom = null, DateOnly? dateTo = null, Guid? filterStatusId = null, Guid? reservationStatusId = null, DateOnly? asOfDate = null)

Parameters

request PaginatorRequestDto
branchId Guid?
tenantId Guid?
searchName string
plate string
year int?
color string
statusId Guid?
categoryId Guid?
modelId Guid?
dateFrom DateOnly?
dateTo DateOnly?
filterStatusId Guid?
reservationStatusId Guid?
asOfDate DateOnly?

Returns

Task<IActionResult>

GetDashboard(PaginatorRequestDto, Guid?, Guid?, string?, string?, int?, string?, Guid?, Guid?, Guid?, DateOnly?, DateOnly?, Guid?, Guid?, DateOnly?)

[HttpGet("dashboard")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetDashboard(PaginatorRequestDto request, Guid? branchId = null, Guid? tenantId = null, string? searchName = null, string? plate = null, int? year = null, string? color = null, Guid? statusId = null, Guid? categoryId = null, Guid? modelId = null, DateOnly? dateFrom = null, DateOnly? dateTo = null, Guid? filterStatusId = null, Guid? reservationStatusId = null, DateOnly? localToday = null)

Parameters

request PaginatorRequestDto
branchId Guid?
tenantId Guid?
searchName string
plate string
year int?
color string
statusId Guid?
categoryId Guid?
modelId Guid?
dateFrom DateOnly?
dateTo DateOnly?
filterStatusId Guid?
reservationStatusId Guid?
localToday DateOnly?

Returns

Task<IActionResult>

GetHistory(Guid, CancellationToken)

[HttpGet("{id:guid}/history")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetHistory(Guid id, CancellationToken cancellationToken = default)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetProfile(Guid)

[HttpGet("{id:guid}/profile")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetProfile(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetReservationHistory(Guid, CancellationToken)

[HttpGet("{id:guid}/reservation-history")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetReservationHistory(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetStatusCounts(Guid, DateOnly?, DateOnly?, CancellationToken)

[HttpGet("status-counts")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetStatusCounts(Guid branchId, DateOnly? dateFrom = null, DateOnly? dateTo = null, CancellationToken cancellationToken = default)

Parameters

branchId Guid
dateFrom DateOnly?
dateTo DateOnly?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetStatusHistory(Guid, CancellationToken)

[HttpGet("{id:guid}/status-history")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
public Task<IActionResult> GetStatusHistory(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

MarkClean(Guid, MarkVehicleCleanBody?, CancellationToken)

[HttpPatch("{id:guid}/mark-clean")]
[Authorize(Policy = "RENTACAR_VEHICLES_MARK_CLEAN")]
public Task<IActionResult> MarkClean(Guid id, MarkVehicleCleanBody? body, CancellationToken cancellationToken)

Parameters

id Guid
body MarkVehicleCleanBody
cancellationToken CancellationToken

Returns

Task<IActionResult>

SetAssetItem(Guid, SetVehicleAssetItemBody)

[HttpPatch("{id:guid}/asset-item")]
[Authorize(Policy = "RENTACAR_VEHICLES_UPDATE")]
public Task<IActionResult> SetAssetItem(Guid id, SetVehicleAssetItemBody body)

Parameters

id Guid
body SetVehicleAssetItemBody

Returns

Task<IActionResult>

Update(Guid, UpdateVehicleCommand)

[HttpPut("{id:guid}")]
[Authorize(Policy = "RENTACAR_VEHICLES_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateVehicleCommand command)

Parameters

id Guid
command UpdateVehicleCommand

Returns

Task<IActionResult>

UpdateLocation(Guid, UpdateVehicleLocationBody, CancellationToken)

[HttpPatch("{id:guid}/location")]
[Authorize(Policy = "RENTACAR_VEHICLES_UPDATE")]
public Task<IActionResult> UpdateLocation(Guid id, UpdateVehicleLocationBody body, CancellationToken cancellationToken)

Parameters

id Guid
body UpdateVehicleLocationBody
cancellationToken CancellationToken

Returns

Task<IActionResult>