public ActionResult Index(SearchCriteriaViewModel searchcriteria) { if (ModelState.IsValid) { searchcriteria.Passengers=new List<Passenger> (); for (int i = 0; i < searchcriteria.RoomOneAdults ; i++) { searchcriteria.Passengers.Add(new Passenger(RoomDetail.GuestType.ADULT, 30, "", "", 1)); } for (int i = 0; i < searchcriteria.RoomOneChildren; i++) { searchcriteria.Passengers.Add(new Passenger(RoomDetail.GuestType.CHILD, 11, "", "", 1)); } for (int i = 0; i < searchcriteria.RoomOneInfants; i++) { searchcriteria.Passengers.Add(new Passenger(RoomDetail.GuestType.CHILD, 2, "", "", 1)); } Session["SearchCriteria"] = searchcriteria; return RedirectToAction("Index", "result"); } else { //if page is not validated then it will remain on same view. return View(searchcriteria); } }
public ActionResult Index(FormCollection form) { SearchCriteriaViewModel searchcriteria = new SearchCriteriaViewModel(); //When user enter search criteria, page will be validated by its model class data annotations, like required, datatype etc. //If all data is valid , it will put it into Session and take user to wait page. searchcriteria.CheckInDate = DateTime.Parse (form["CheckInDate"]); searchcriteria.CheckOutDate = DateTime.Parse(form["CheckOutDate"]); searchcriteria.DestinationCode = form["DestinationCode"]; searchcriteria.CountryCode = form["CountryCode"]; searchcriteria.HotelCodes = form["HotelCodes"]; searchcriteria.NumberOfRooms = int.Parse (form["NumberOfRooms"]); searchcriteria.StarRatingSearch = int.Parse(form["StarRatingSearch"]); searchcriteria.RoomOneAdults = int.Parse(form["RoomOneAdults"]); searchcriteria.RoomOneChildren = int.Parse(form["RoomOneChildren"]); searchcriteria.RoomOneInfants = int.Parse(form["RoomOneInfants"]); if (ModelState.IsValid) { Session["SearchCriteria"] = searchcriteria; return RedirectToAction("Index", "result"); } else { //if page is not validated then it will remain on same view. return View(searchcriteria); } }
public ActionResult Index(FormCollection form,SearchCriteriaViewModel searchcriteria ) { try { string[] type = form["pas.type"].Split(','); string[] age = form["pas.age"].Split(','); string[] name = form["pas.name"].Split(','); string[] surname = form["pas.surname"].Split(','); string[] roomId = form["pas.roomId"].Split(','); HotelApiClient client = new HotelApiClient(); ConfirmRoom confirmRoom = new ConfirmRoom(); confirmRoom.details = new List<RoomDetail>(); for (int i = 0; i < type.Count(); i++) confirmRoom.details.Add(new RoomDetail((com.hotelbeds.distribution.hotel_api_sdk.helpers.RoomDetail.GuestType)Enum.Parse(typeof(com.hotelbeds.distribution.hotel_api_sdk.helpers.RoomDetail.GuestType), type[i]), int.Parse(age[i]), name[i], surname[i], int.Parse(roomId[i]))); string rateKey = (string)Session["ratekey"]; BookingCheck bookingCheck = new BookingCheck(); bookingCheck.addRoom(rateKey, confirmRoom); CheckRateRQ checkRateRQ = bookingCheck.toCheckRateRQ(); if (checkRateRQ != null) { CheckRateRS responseRate = client.doCheck(checkRateRQ); if (responseRate != null && responseRate.error == null) { com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking booking = new com.hotelbeds.distribution.hotel_api_sdk.helpers.Booking(); booking.createHolder("Rosetta", "Pruebas"); booking.clientReference = "SDK Test"; booking.remark = "***SDK***TESTING"; booking.addRoom(rateKey, confirmRoom); BookingRQ bookingRQ = booking.toBookingRQ(); if (bookingRQ != null) { BookingRS responseBooking = client.confirm(bookingRQ); if (responseBooking != null && responseBooking.error == null && responseBooking.booking != null) ViewBag.BookingRef = responseBooking.booking.reference; } else { if (responseRate.error != null) { ViewBag.Error = responseRate.error.message; } } } } return View(searchcriteria); } catch (Exception exp) { return Content(exp.Message); } }