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")); } }
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")); } }