示例#1
0
        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());
        }
示例#3
0
        public HotelSearchDetails GetUserInfo(HttpContext context)
        {
            string roomstring = context.Session.GetString("userSearchData");

            HotelSearchDetails UserInfo = JsonConvert.DeserializeObject <HotelSearchDetails>(roomstring);

            return(UserInfo);
        }
示例#4
0
        //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);
        }
示例#5
0
        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>));
        }
示例#6
0
        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());
        }
示例#7
0
        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));
        }
示例#8
0
        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));
            }
        }
示例#10
0
        public void TestForHotelDetailsException()
        {
            HotelSearchDetails details = new HotelSearchDetails();

            controller.GetRooms(details);
        }
 public List <SelectedRooms> GetRooms(HotelSearchDetails details)
 {
     return(service.GetRooms(details));
 }
示例#12
0
        public void UserSearchInfo(HttpContext context, HotelSearchDetails details)
        {
            string avail_obj = JsonConvert.SerializeObject(details);

            context.Session.SetString("userSearchData", avail_obj);
        }