public InvoiceData FinalBooking(string payMode) { int CustomerId = context.Session.GetInt32("CustomerId").Value;//it is nullable type string sessionRooms = context.Session.GetString("selectedRoomList"); List <SelectedRoomsViewModel> FinalRooms = JsonConvert.DeserializeObject <List <SelectedRoomsViewModel> >(sessionRooms); string sessionUserInfo = context.Session.GetString("userSearchData"); HotelSearchDetails FinalUserInfo = JsonConvert.DeserializeObject <HotelSearchDetails>(sessionUserInfo); AllData allData = new AllData(); allData.CustomerId = CustomerId; allData.SelectedRooms = FinalRooms; allData.userinfo = FinalUserInfo; allData.payMode = payMode; string json = JsonConvert.SerializeObject(allData); HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("Payment/MakeBooking", content).Result; string data = response.Content.ReadAsStringAsync().Result; InvoiceData InvoiceInfo = (InvoiceData)JsonConvert.DeserializeObject <InvoiceData>(data); return(InvoiceInfo); //----------------------------------------------------------------- }
//comment push public IActionResult SelectedRooms(List <SelectedRoomsViewModel> rooms) { //List<SelectedRoomsViewModel> model = SelectedRoomsViewModel.rooms //ViewData["rooms"] = rooms; HotelSearchDetails userinfo = service.GetUserInfo(HttpContext); int date = (userinfo.CheckOut - userinfo.CheckIn).Days + 1; rooms = rooms.Where(r => r.Selected == true).ToList(); decimal total = rooms.Sum(c => c.RoomPrice); total = date * total; ViewData["total"] = total; service.storeSelectedRoomsToSession(HttpContext, rooms); //rooms.SingleOrDefault(r => r.RoomId == 209); //rooms.Select(c => { c.CheckIn = userinfo.CheckIn; c.CheckOut = userinfo.CheckOut; } ); foreach (SelectedRoomsViewModel room in rooms) { room.CheckIn = userinfo.CheckIn; room.CheckOut = userinfo.CheckOut; } // rooms.SingleOrDefault(userinfo.CheckIn) ViewData["userSearchInfo"] = userinfo; ViewData["selectedRooms"] = rooms; return(View()); }
public HotelSearchDetails GetUserInfo(HttpContext context) { string roomstring = context.Session.GetString("userSearchData"); HotelSearchDetails UserInfo = JsonConvert.DeserializeObject <HotelSearchDetails>(roomstring); return(UserInfo); }
//public List<SelectedRooms> GetRooms(HotelSearchDetails details) //{ // throw new NotImplementedException(); //} public List <SelectedRooms> GetRooms(HotelSearchDetails details) { string wifi = details.Wifi == true ? "Y" : "N"; string ac = details.Ac == true ? "Y" : "N"; var result = context.SelectedRooms.FromSql($"exec GetAvailableRooms {details.CheckIn},{details.CheckOut},{details.HotelId},{ac},{wifi} ").ToList(); return(result); }
public void TestForHotelDetailsList() { HotelSearchDetails details = new HotelSearchDetails() { HotelId = 500, CheckIn = DateTime.Parse("11/2/2018"), CheckOut = DateTime.Parse("11/12/2018"), Ac = true, Wifi = true }; var result = controller.GetRooms(details); Assert.IsInstanceOfType(result, typeof(List <SelectedRooms>)); }
public IActionResult Invoice(string payMode) { service.context = HttpContext; // service.FinalBooking(payMode); InvoiceData InvoiceInfo = service.FinalBooking(payMode); ViewData["InvoiceInfo"] = InvoiceInfo; List <SelectedRoomsViewModel> rooms = service.GetSelectedRooms(HttpContext); HotelSearchDetails userinfo = service.GetUserInfo(HttpContext); int days = (userinfo.CheckOut - userinfo.CheckIn).Days + 1; ViewData["userSearchInfo"] = userinfo; ViewData["selectedRooms"] = rooms; ViewData["payMode"] = payMode; ViewData["days"] = days; HttpContext.Session.Clear(); return(View()); }
public void TestForMakeBooking() { HotelSearchDetails obj = new HotelSearchDetails(); obj.CheckIn = DateTime.Parse("2018-11-17"); obj.CheckOut = DateTime.Parse("2018-11-19"); obj.Ac = false; obj.Wifi = false; obj.HotelId = 510; SelectedRoomsViewModel list = new SelectedRoomsViewModel(); list.RoomPrice = 3500; list.HotelContact = "9876234546"; list.HotelName = "Hotel Wow"; list.RoomId = 219; list.City = "Indore"; AllData data = new AllData(); data.CustomerId = 104; data.payMode = "DC"; data.SelectedRooms = new List <SelectedRoomsViewModel>() { list }; data.userinfo = obj; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var result = (OkObjectResult)controller2.BookingDetails(data); PaymentInvoiceNo = (int)result.Value; Assert.IsInstanceOfType(result, typeof(OkObjectResult)); }
public List <SelectedRoomsViewModel> GetRooms(HotelSearchDetails details) { string json = JsonConvert.SerializeObject(details); HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("Admin/SelectedRooms", content).Result; json = response.Content.ReadAsStringAsync().Result; List <SelectedRooms> rooms = JsonConvert.DeserializeObject <List <SelectedRooms> >(json); var result = (from r in rooms select new SelectedRoomsViewModel() { City = r.City, HotelContact = r.HotelContact, HotelId = r.HotelId, HotelName = r.HotelName, RoomId = r.RoomId, RoomPrice = r.RoomPrice, //CheckIn = r.CheckIn, //CheckOut = r.CheckOut, HotelImage = r.HotelImage, Selected = false }).ToList(); return(result); }
public IActionResult AvailableRooms(HotelSearchDetails details) { List <SelectedRoomsViewModel> list; try { service.UserSearchInfo(HttpContext, details); list = service.GetRooms(details); if (list.Count == 0) { ModelState.AddModelError("", "No Rooms Available.."); return(View("HomeView", details)); } return(View(list)); } catch (Exception e) { ErrorViewModel model = new ErrorViewModel() { RequestId = e.Message }; return(View("Error", model)); } }
public void TestForHotelDetailsException() { HotelSearchDetails details = new HotelSearchDetails(); controller.GetRooms(details); }
public List <SelectedRooms> GetRooms(HotelSearchDetails details) { return(service.GetRooms(details)); }
public void UserSearchInfo(HttpContext context, HotelSearchDetails details) { string avail_obj = JsonConvert.SerializeObject(details); context.Session.SetString("userSearchData", avail_obj); }