public Result CancelReservation(int reservationId, int userId) { Reservation reservation = reservationRepository.GetById(reservationId); if (reservation == null) { return(new Result(false)); } if (reservation.ReservationStatus == ReservationStatus.Reserved) // Check reservation date if older than 30 min or the scheduled movie starts in less than 15 minues { ScheduleSlot scheduleSlot = scheduleRepository.GetScheduleSlotById(reservation.ScheduleSlotId); if (scheduleSlot == null) { return(new Result(false)); } ReservationDto reservationDto = parser.ToReservationDto(reservation); //Check if reservation is older than 30 minutes or if movie start is less than 15 minutes away. If so deny the cancellation if (DateTime.Now.Subtract(reservation.BookingDate).TotalMinutes < 30 || scheduleSlot.Start.Subtract(DateTime.Now).TotalMinutes < 15) { return(new Result(false)); } } return(reservationRepository.CancelReservation(reservation, userId)); }
public bool CancelReservation(int reservationID) { var reservation = _reservationRepository.GetById(reservationID); _reservationRepository.CancelReservation(reservation); return(true); }
public IActionResult Delete(int id) { if (id > 0) { _reservationRepository.CancelReservation(id); return(Ok()); } return(BadRequest()); }
public async Task <bool> Handle(CancelReservationCommand request, CancellationToken cancellationToken) { if (request is null) { return(false); } var response = await _repo.CancelReservation(request.ReservationId); return(response); }
public JsonResult CancelReservation(int id) { if (ModelState.IsValid) { if (_reservationRepository.CancelReservation(id)) { return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } } return(Json(new { success = false }, JsonRequestBehavior.AllowGet)); }
public NewTicketWithReservationSummary New(ITicketWithReservationCreation ticket) { IReservation reservation = reservationRepo.GetReservationyId(ticket.ReservationId); if (reservation.Canceled) { return(new NewTicketWithReservationSummary(false, $"You can't purchase a ticket as reservation with id {reservation.Id} has already been canceled")); } reservationRepo.CancelReservation(reservation); return(newTicketWithRes.New(ticket)); }
public CancelReservationSummary Cancel(long reservationId) { if (!reservationRepository.ReservationExists(reservationId)) { return new CancelReservationSummary(false, "No such reservation exists!", System.Net.HttpStatusCode.NotFound); } else if (!reservationRepository.ReservationIsActive(reservationId)) { return new CancelReservationSummary (false, "Reservation is no longer active, and so cannot be cancelled!", System.Net.HttpStatusCode.BadRequest); } reservationRepository.CancelReservation(reservationId); return new CancelReservationSummary(true, "Success.", System.Net.HttpStatusCode.OK); }
/// <summary> /// Cacnel a reservation by its creator's username and confirmation number /// </summary> /// <param name="confirmationNumber">confirmation number of the reservation</param> /// <returns>true if successfully cancelled</returns> public bool CancelReservation(Guid confirmationNumber, DateTime now) { if (!CanBeCanceled(confirmationNumber, now)) { return(false); } Reservation reservation = _reservationRepository.GetReservation(confirmationNumber); _reservationRepository.CancelReservation(confirmationNumber); DateTime checkDate = now.Date; while (checkDate < reservation.EndDate) { _roomRepository.UpdateRoomOccupancy(reservation.RoomType, checkDate, 1); checkDate = checkDate.AddDays(1); } _roomRepository.Save(); _reservationRepository.Save(); return(true); }
public void CancelReservation(IReservation reservation) { var reservationToCancel = reservationRepository.FindReservationById(reservation.Id); reservationRepository.CancelReservation(reservationToCancel); }
public void CancelReservation(int reservationID) { var reservation = _reservationRepository.GetById(reservationID); _reservationRepository.CancelReservation(reservation); }