Table of Contents

Class RentalReservationController

Namespace
KadicErp.WebApi.Controllers.RentACar
Assembly
KadicErp.WebApi.dll
[ApiController]
[Route("api/rentcar/[controller]")]
[Authorize]
public class RentalReservationController : ControllerBase
Inheritance
object
ControllerBase
RentalReservationController

Constructors

RentalReservationController(IMediator, ICurrentUser, IStringLocalizer<RentACarMessages>)

public RentalReservationController(IMediator mediator, ICurrentUser currentUser, IStringLocalizer<RentACarMessages> localizer)

Parameters

mediator IMediator
currentUser ICurrentUser
localizer IStringLocalizer<RentACarMessages>

Methods

Activate(Guid)

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

Parameters

id Guid

Returns

Task<IActionResult>

Cancel(Guid, ReservationCancelRequest)

[HttpPatch("{id}/cancel")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_CANCEL")]
public Task<IActionResult> Cancel(Guid id, ReservationCancelRequest body)

Parameters

id Guid
body ReservationCancelRequest

Returns

Task<IActionResult>

ConfirmVehicle(Guid, ReservationConfirmVehicleRequest)

[HttpPost("{id}/confirm-vehicle")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> ConfirmVehicle(Guid id, ReservationConfirmVehicleRequest body)

Parameters

id Guid
body ReservationConfirmVehicleRequest

Returns

Task<IActionResult>

ConvertToContract(Guid, ConvertToContractRequest)

[HttpPost("{id}/convert-to-contract")]
[Authorize(Policy = "RENTACAR_RENTAL_CONTRACTS_CREATE")]
public Task<IActionResult> ConvertToContract(Guid id, ConvertToContractRequest body)

Parameters

id Guid
body ConvertToContractRequest

Returns

Task<IActionResult>

Create(CreateRentalReservationCommand)

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

Parameters

command CreateRentalReservationCommand

Returns

Task<IActionResult>

Deactivate(Guid)

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

Parameters

id Guid

Returns

Task<IActionResult>

GetAll(PaginatorRequestDto, Guid?, Guid?, Guid?, bool?)

[HttpGet]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> GetAll(PaginatorRequestDto request, Guid? branchId = null, Guid? vehicleId = null, Guid? customerId = null, bool? isActive = null)

Parameters

request PaginatorRequestDto
branchId Guid?
vehicleId Guid?
customerId Guid?
isActive bool?

Returns

Task<IActionResult>

GetById(Guid)

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

Parameters

id Guid

Returns

Task<IActionResult>

LinkHomeVisit(Guid, ReservationLinkHomeVisitRequest)

[HttpPatch("{id}/link-home-visit")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> LinkHomeVisit(Guid id, ReservationLinkHomeVisitRequest body)

Parameters

id Guid
body ReservationLinkHomeVisitRequest

Returns

Task<IActionResult>

MarkInitialPaymentPaid(Guid, ReservationMarkPaymentRequest)

[HttpPatch("{id}/mark-initial-payment-paid")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> MarkInitialPaymentPaid(Guid id, ReservationMarkPaymentRequest body)

Parameters

id Guid
body ReservationMarkPaymentRequest

Returns

Task<IActionResult>

Reject(Guid, ReservationRejectRequest)

[HttpPatch("{id}/reject")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_REJECT")]
public Task<IActionResult> Reject(Guid id, ReservationRejectRequest body)

Parameters

id Guid
body ReservationRejectRequest

Returns

Task<IActionResult>

Update(Guid, UpdateRentalReservationCommand)

[HttpPut("{id}")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateRentalReservationCommand command)

Parameters

id Guid
command UpdateRentalReservationCommand

Returns

Task<IActionResult>