public async Task <ActionResult <long> > Post([FromBody] RequeteReservation requete)
        {
            List <HotelModel.Agence> agences = await _context.Agences.ToListAsync();

            HotelModel.Agence agence = null;
            foreach (HotelModel.Agence a in agences)
            {
                if (a.IdentifiantAgence == requete.IdentifiantAgence && a.MotDePasseAgence == requete.MotDePasseAgence)
                {
                    agence = a;
                }
            }

            HotelModel.Offre offre = await _context.Offres.FindAsync(requete.IdentifiantOffre);

            HotelModel.Reservation reservation = new HotelModel.Reservation
            {
                ChambreId         = offre.ChambreId,
                Prix              = offre.Prix,
                DateArrivee       = offre.DateArrivee,
                DateDepart        = offre.DateDepart,
                NomClient         = requete.NomClient,
                PrenomClient      = requete.PrenomClient,
                NumeroCarteClient = requete.NumeroCarteClient,
                IdentifiantAgence = requete.IdentifiantAgence
            };

            _context.Reservations.Add(reservation);

            _context.SaveChanges();

            return(reservation.Id);
        }
Ejemplo n.º 2
0
        private void MenuReserver()
        {
            int    identifiantHotel = SaisieHelper.SaisirEntierPositif(CHAINE_IDENTIFIANT_HOTEL, false);
            int    identifiantOffre = SaisieHelper.SaisirEntierPositif(CHAINE_IDENTIFIANT_OFFRE, false);
            string nom         = SaisieHelper.SaisirChaine(CHAINE_NOM_CLIENT, false);
            string prenom      = SaisieHelper.SaisirChaine(CHAINE_PRENOM_CLIENT, false);
            string numeroCarte = SaisieHelper.SaisirChaine(CHAINE_NUMERO_CARTE_BANCAIRE, false);

            Offre offre = trouverOffre(identifiantHotel, identifiantOffre);

            if (offre != null)
            {
                RequeteReservation requete = new RequeteReservation();
                requete.IdentifiantAgence = identifiantAgence;
                requete.MotDePasseAgence  = motDePasseAgence;
                requete.IdentifiantOffre  = identifiantOffre;
                requete.NomClient         = nom;
                requete.PrenomClient      = prenom;
                requete.NumeroCarteClient = numeroCarte;

                ClientReservationHotelService client = new ClientReservationHotelService(offre.UrlReservation);
                int numeroReservation = client.Reserver(requete).Result;

                Console.WriteLine(CHAINE_NUMERO_RESERVATION + " : " + numeroReservation);
            }
            else
            {
                Console.WriteLine("Erreur : l'offre " + identifiantOffre + " n'existe pas pour l'hotel " + identifiantHotel);
            }
        }
Ejemplo n.º 3
0
        public async Task <int> Reserver(RequeteReservation requete)
        {
            var uri = string.Format(Url, string.Empty);

            var requeteJson = JsonConvert.SerializeObject(requete);
            var buffer      = System.Text.Encoding.UTF8.GetBytes(requeteJson);
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var response = await Client.PostAsync(uri, byteContent);

            if (response.IsSuccessStatusCode)
            {
                int numeroReservation = Int32.Parse(await response.Content.ReadAsStringAsync());

                return(numeroReservation);
            }

            throw new ClientReservationHotelServiceException(response.StatusCode, response.ReasonPhrase, Url);
        }