public ActionResult ChangeStatusModal(int id, int newStatus) { var newBookingStatus = new BookingStatusHistory() { BookingID = id, BookingStatusID = newStatus }; var reasons = new List <SelectListItem>(); bookingService.GetStatusReasons((BookingStatus)newStatus).ForEach(x => reasons.Add(new SelectListItem() { Text = x.Reason, Value = x.Reason })); ViewData["Reasons"] = reasons; return(PartialView("_ChangeStatusModal", newBookingStatus)); }
public ActionResult ChangeStatus(BookingStatusHistory model) { var success = true; try { var booking = bookingService.GetBooking(model.BookingID); booking.BookingStatus = model.BookingStatus; if (booking.BookingStatusChanged) { booking.CurrentBookingStatus = new BookingStatusHistory() { BookingID = model.BookingID, Reason = model.Reason, Notes = model.Notes, BookingStatus = model.BookingStatus, CreatedBy = ServiceContext.User.ID, CreatedDate = DateTime.Now }; bookingService.SaveBooking(booking); } } catch (Exception ex) { success = false; loggingService.LogException(ex); } SetFeedbackMessage(success, $"The booking status has been amended.", $"There has been an error whilst amending the booking status."); return(RedirectToAction("Edit", new { id = model.BookingID })); }