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