Table of Contents

Class PromotionsController

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

Constructors

PromotionsController(IMediator)

public PromotionsController(IMediator mediator)

Parameters

mediator IMediator

Methods

Create(CreatePromotionCommand, CancellationToken)

[HttpPost]
[Authorize(Policy = "RENTACAR_VEHICLES_CREATE")]
[ProducesResponseType(201)]
[ProducesResponseType(400)]
public Task<IActionResult> Create(CreatePromotionCommand command, CancellationToken cancellationToken = default)

Parameters

command CreatePromotionCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

Deactivate(Guid, CancellationToken)

[HttpPatch("{id:guid}/deactivate")]
[Authorize(Policy = "RENTACAR_VEHICLES_UPDATE")]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public Task<IActionResult> Deactivate(Guid id, CancellationToken cancellationToken = default)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

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

[HttpGet]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
[ProducesResponseType(typeof(PaginatorResponseDto<PromotionDto>), 200)]
public Task<IActionResult> GetAll(PaginatorRequestDto paginator, Guid? branchId = null, bool? isActive = null, CancellationToken cancellationToken = default)

Parameters

paginator PaginatorRequestDto
branchId Guid?
isActive bool?
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetById(Guid, CancellationToken)

[HttpGet("{id:guid}")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
[ProducesResponseType(typeof(PromotionDto), 200)]
[ProducesResponseType(404)]
public Task<IActionResult> GetById(Guid id, CancellationToken cancellationToken = default)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

Update(Guid, UpdatePromotionCommand, CancellationToken)

[HttpPut("{id:guid}")]
[Authorize(Policy = "RENTACAR_VEHICLES_UPDATE")]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public Task<IActionResult> Update(Guid id, UpdatePromotionCommand command, CancellationToken cancellationToken = default)

Parameters

id Guid
command UpdatePromotionCommand
cancellationToken CancellationToken

Returns

Task<IActionResult>

ValidatePromoCode(string, Guid, int, Guid?, Guid?, CancellationToken)

[HttpGet("validate")]
[Authorize(Policy = "RENTACAR_VEHICLES_VIEW")]
[ProducesResponseType(typeof(PromotionDto), 200)]
[ProducesResponseType(404)]
public Task<IActionResult> ValidatePromoCode(string promoCode, Guid branchId, int rentalDays, Guid? vehicleCategoryId = null, Guid? rentalTypeId = null, CancellationToken cancellationToken = default)

Parameters

promoCode string
branchId Guid
rentalDays int
vehicleCategoryId Guid?
rentalTypeId Guid?
cancellationToken CancellationToken

Returns

Task<IActionResult>