public ActionResult ConfirmDetails(int Id, DateTime Arrival, DateTime Departure) { try { //Block sets the new ConfirmDetailsDTO object using provided paramaters ConfirmDetailsDTO objDetailsDTO = new ConfirmDetailsDTO(); objDetailsDTO.CheckIn = Arrival; objDetailsDTO.CheckOut = Departure; objDetailsDTO.RoomId = Id; objDetailsDTO.UserId = User.Identity.GetUserId(); objDetailsDTO.Days = (Departure - Arrival).Days; objDetailsDTO.Room = context.Rooms.Find(Id); objDetailsDTO.ApplicationUsers = context.Users.Find(objDetailsDTO.UserId); if (objDetailsDTO.ApplicationUsers == null) { this.AddNotification("Please relogin.", NotificationType.ERROR); FormsAuthentication.SignOut(); return(RedirectToAction("Login", "Account", new { area = "" })); } return(View(objDetailsDTO)); } catch (Exception ex) { this.AddNotification("", NotificationType.ERROR); ViewBag.Error = ("Error: " + Convert.ToString(ex)); return(View("~/Views/Shared/Error.cshtml")); } }
/// <summary> /// Will build the addtional details form so the user can see the options available /// </summary> /// <param name="objConfirm">ConfirmDetailsDTO Object to build the Additional Details</param> /// <returns>AdditionalDeatailsDTO View Model </returns> public ActionResult GetAddtionalDetails(ConfirmDetailsDTO objConfirm) { try { //Builds AddonDetailsDTO using objConfirm params AddonDetailsDTO addonDTO = new AddonDetailsDTO { UserId = objConfirm.UserId, ApplicationUsers = context.Users.Find(objConfirm.UserId), RoomId = objConfirm.RoomId, Room = context.Rooms.Find(objConfirm.RoomId), CheckIn = objConfirm.CheckIn, CheckOut = objConfirm.CheckOut, Days = objConfirm.Days }; //Gets viewbag data for the select list of all the board types ViewBag.BoardTypeId = from u in context.BoardTypes select new SelectListItem { Value = u.Id.ToString(), Text = u.Board_Type + " - Per Night £" + u.BoardCosts }; //Gets the number of guests a person can choose from based on the maximum capacity of the room int max = addonDTO.Room.RoomType.Capacity; List <SelectListItem> NoOfGuests = new List <SelectListItem>(); for (int a = 1; a <= max; a++) { NoOfGuests.Add(new SelectListItem { Value = a.ToString(), Text = a.ToString() }); } ViewBag.NoOfGuests = new SelectList(NoOfGuests, "Value", "Text"); //Gets only the Extras that are allowed at booking addonDTO.AllExtras = context.Extras.Where(x => x.Bookable == true).ToList(); return(View(addonDTO)); } catch (Exception ex) { this.AddNotification("", NotificationType.ERROR); ViewBag.Error = ("Error: " + Convert.ToString(ex)); return(View("~/Views/Shared/Error.cshtml")); } }