public ActionResult Edit()
        {
            try
            {
                if (Request.QueryString["bookingId"] != null)
                {
                    int             bookingId = Convert.ToInt32(Request.QueryString["bookingId"]);
                    BookingEditForm form      = _manager.CreateBookingEditForm(bookingId);

                    if (form != null)
                    {
                        return(View(form));
                    }
                    else
                    {
                        return(RedirectToAction("Bookings"));
                    }
                }
            }
            catch
            {
                return(RedirectToAction("Bookings"));
            }
            return(View());
        }
        public BookingEditForm RepopulateEditForm(BookingEdit form, List <string> validationMessages)
        {
            BookingEditForm repopulatedForm = CreateBookingEditForm(form.EmployeeId);

            repopulatedForm.StartDate          = form.StartDate;
            repopulatedForm.EndDate            = form.EndDate;
            repopulatedForm.Comment            = form.Comment;
            repopulatedForm.ValidationMessages = validationMessages;
            repopulatedForm.EmployeeId         = form.EmployeeId;
            repopulatedForm.EmployeeName       = form.EmployeeName;
            repopulatedForm.EmployeeNumber     = form.EmployeeNumber;
            repopulatedForm.Comment            = form.Comment;
            repopulatedForm.BookingType        = new SelectList(GetAllBookingTypes(), "booking_type_code", "booking_type_name");
            return(repopulatedForm);
        }
        public BookingEditForm CreateBookingEditForm(int bookingId)
        {
            BookingEditForm form            = new BookingEditForm();
            Booking         selectedBooking = _db.Bookings.Where(b => b.booking_id == bookingId).SingleOrDefault();

            if (selectedBooking != null)
            {
                form.BookingId      = selectedBooking.booking_id;
                form.EmployeeName   = selectedBooking.Employee.name;
                form.EmployeeNumber = selectedBooking.Employee.employee_num;
                form.EmployeeId     = selectedBooking.Employee.employee_id;
                form.StartDate      = selectedBooking.start_date;
                form.EndDate        = selectedBooking.end_date;
                form.BookingType    = new SelectList(GetAllBookingTypes(), "booking_type_code", "booking_type_name", selectedBooking.BookingType.booking_type_code);
                form.Comment        = selectedBooking.comment;
            }

            return(form);
        }