Example #1
0
        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));
        }
Example #2
0
        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 }));
        }