Esempio n. 1
0
        public async Task <IActionResult> Book(int id)
        {
            _log4net.Info("Booking in progess");
            if (HttpContext.Session.GetString("token") == null)
            {
                return(RedirectToAction("Login", "Login"));
            }
            else
            {
                Availablehotels Item = new Availablehotels();
                Booking         b    = new Booking();
                using (var client = new HttpClient())
                {
                    var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                    client.DefaultRequestHeaders.Accept.Add(contentType);

                    client.DefaultRequestHeaders.Authorization =
                        new AuthenticationHeaderValue("Bearer", HttpContext.Session.GetString("token"));

                    using (var response = await client.GetAsync("https://localhost:44342/api/Availability/" + id))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        Item = JsonConvert.DeserializeObject <Availablehotels>(apiResponse);
                    }
                    b.HotelId    = Item.Id;
                    b.UserId     = Convert.ToInt32(HttpContext.Session.GetInt32("Userid"));
                    b.StartDate  = Convert.ToDateTime(HttpContext.Session.GetString("StartDate"));
                    b.EndDate    = Convert.ToDateTime(HttpContext.Session.GetString("EndDate"));
                    b.BillAmount = 0;
                }
                return(View(b));
            }
        }
        public async Task <Availablehotels> AddHotel(Availablehotels hotel)
        {
            await context.Hotels.AddAsync(hotel);

            await context.SaveChangesAsync();

            return(hotel);
        }
 public async Task <ActionResult> Post([FromBody] Availablehotels hotel)
 {
     try
     {
         _log4net.Info("Adding hotel with id" + hotel.Id);
         return(Ok(await repository.AddHotel(hotel)));
     }
     catch
     {
         _log4net.Error("Error in adding hotel with id " + hotel.Id);
         return(new NotFoundObjectResult("Not updated"));
     }
 }
Esempio n. 4
0
        public async Task <IActionResult> Book(Booking b)
        {
            _log4net.Info("Booking Done");
            if (HttpContext.Session.GetString("token") == null)
            {
                return(RedirectToAction("Login", "Login"));
            }
            else
            {
                Availablehotels p = new Availablehotels();

                using (var client = new HttpClient())
                {
                    var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                    client.DefaultRequestHeaders.Accept.Add(contentType);

                    client.DefaultRequestHeaders.Authorization =
                        new AuthenticationHeaderValue("Bearer", HttpContext.Session.GetString("token"));

                    using (var response = await client.GetAsync("https://localhost:44342/api/Availability/" + b.HotelId))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        p = JsonConvert.DeserializeObject <Availablehotels>(apiResponse);
                    }

                    int days = (int)(b.EndDate - b.StartDate).TotalDays;
                    b.BillAmount = (double)(days) * (double)p.CostPerDay;
                    b.UserId     = Convert.ToInt32(HttpContext.Session.GetInt32("Userid"));



                    StringContent content = new StringContent(JsonConvert.SerializeObject(b), Encoding.UTF8, "application/json");

                    using (var response = await client.PostAsync("https://localhost:44364/api/Bookings", content))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();

                        b = JsonConvert.DeserializeObject <Booking>(apiResponse);
                    }
                    using (var response = await client.PostAsync("https://localhost:44342/api/Availability/" + b.HotelId, content))
                    {
                        string apiResponse = await response.Content.ReadAsStringAsync();
                    }
                }
                return(RedirectToAction("Index"));
            }
        }