Example #1
0
        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)));
        }
Example #2
0
        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);
        }
Example #3
0
        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"));
        }