public async Task <IActionResult> ActionReturn([FromBody] BookingReturnRequestModel returnRequest)
 {
     try {
         return(Ok(await this.bookingService.ActionReturn(returnRequest)));
     } catch {
         return(BadRequest());
     }
 }
Example #2
0
        public async Task <BookingModel> ActionReturn(BookingReturnRequestModel model)
        {
            var entity = await this.bookingRepository.GetSingle(model.BookingId);

            var bookingModel = this.mapper.Map <Booking, BookingModel>(entity);

            bookingModel.CalculateExtraCost(model);
            bookingModel.CalculateTotalCost();

            entity.ExtraAmount = bookingModel.ExtraAmount;
            entity.TotalAmount = bookingModel.TotalAmount;

            await this.bookingRepository.UpdateIntoDatabase(entity);

            return(bookingModel);
        }
 public void CalculateExtraCost(BookingReturnRequestModel returnModel) {
     if ( returnModel.HasScracthes ) { ExtraAmount += RentalAmount * 0.3; }
     if ( returnModel.HasSmashes ) { ExtraAmount += RentalAmount * 0.3; }
     if ( !returnModel.HasTankFullfilled ) { ExtraAmount += RentalAmount * 0.3; }
     if ( !returnModel.IsCarClean ) { ExtraAmount += RentalAmount * 0.3; }
 }