public IActionResult Disponibilité([FromBody] CritereChambre critere) { int identifiant = critere.identifiant; string password = critere.password; string dateArrive = critere.dateArrive; string dateDepart = critere.dateDepart; float minPrix = critere.minPrix; float maxPrix = critere.maxPrix; int nombrePersonne = critere.nombrePersonne; return(Ok(services.Disponibilité(identifiant, password, dateArrive, dateDepart, minPrix, maxPrix, nombrePersonne))); }
public async Task <List <CritereReponse> > getOffres(string ville, string dateDébutReservation, string dateFinReservation, int nombreEtoile, int nombrePersonne) { CritereChambre c = new CritereChambre() { dateArrive = dateDébutReservation, dateDepart = dateFinReservation, identifiant = agence.Id, maxPrix = 0, minPrix = 0, nombrePersonne = nombrePersonne, password = agence.Password }; List <CritereReponse> offres = new List <CritereReponse>(); String query = JsonConvert.SerializeObject(c); StringContent content = new StringContent(query, Encoding.UTF8, "application/json"); foreach (Hotel h in hotels) { if (h.Adresse.Ville.Equals(ville) && h.Etoile == nombreEtoile) { string link = h.Host + "/Hotels/Dispo/Hotels"; Console.WriteLine("Contacting " + link); try { using (var httpClient = new HttpClient()) { using (var response = await httpClient.PostAsync(link, content)) { string apiResponse = await response.Content.ReadAsStringAsync(); DisponibilitéReponse d = JsonConvert.DeserializeObject <DisponibilitéReponse>(apiResponse); foreach (Chambre ch in d.chambres) { ch.Prix = ch.Prix * (1 + agence.PrcTarif); } CritereReponse res = new CritereReponse(d.nomHotel, h.Adresse, h.Etoile, d.chambres); offres.Add(res); } } }catch (Exception e) { } } } return(offres); }
public async Task <IActionResult> Reserver(CritereChambre c) { double prc = agence.PrcTarif; offres = new List <DisponibilitéReponse>(); String query = JsonConvert.SerializeObject(c); Console.WriteLine(query); StringContent content = new StringContent(query, Encoding.UTF8, "application/json"); foreach (Hotel h in hotelConnu) { try { string link = h.Host + "/Hotels/Dispo/Hotels"; Console.WriteLine("Recherche dans " + link + "..."); using (var httpClient = new HttpClient()) { using (var response = await httpClient.PostAsync(link, content)) { string apiResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(apiResponse); offres.Add(JsonConvert.DeserializeObject <DisponibilitéReponse>(apiResponse)); } } }catch (Exception e) { } } foreach (DisponibilitéReponse d in offres) { foreach (Chambre ch in d.chambres) { ch.Prix = ch.Prix * (1 + agence.PrcTarif); SaveImage(ch.Image, d.nomHotel.Replace(" ", "") + "_" + ch.Id); } } ViewBag.offres = offres; return(View("~/Views/Home/Offre.cshtml")); }