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); }
public async Task <ActionResult <IEnumerable <HotelModel.Offre> > > Recherche([FromBody] RequeteRecherche requete) { List <HotelModel.Offre> resultat = new List <HotelModel.Offre>(); 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; } } List <HotelModel.Chambre> chambres = await _context.Chambres.ToListAsync(); List <HotelModel.Reservation> reservations = await _context.Reservations.ToListAsync(); foreach (HotelModel.Chambre c in chambres) { bool litOk = c.NombreDeLits >= requete.NombrePersonnes; bool dateOk = c.estDisponible(requete.DateArrivee, requete.DateDepart, reservations); bool villeOk = requete.VilleHotel == _context.VilleHotel(); bool etoilesOk = requete.NombreEtoiles <= _context.NombreEtoiles(); if (litOk && dateOk && villeOk && etoilesOk) { HotelModel.Offre offre = new HotelModel.Offre { NombreDeLits = c.NombreDeLits, DateArrivee = requete.DateArrivee, DateDepart = requete.DateDepart, Prix = c.PrixCalcule(agence), ChambreId = c.Id, HotelId = _context.IdentifiantHotel(), UrlReservation = Request.Scheme + "://" + Request.Host + Request.PathBase + Url.Action("Reserver", "Reservation"), ImageChambreUrl = c.ImageUrl, NomHotel = _context.NomHotel(), VilleHotel = _context.VilleHotel(), AdresseHotel = _context.AdresseHotel(), NombreEtoiles = _context.NombreEtoiles() }; _context.Offres.Add(offre); _context.SaveChanges(); resultat.Add(offre); } } return(resultat); }