public async Task <IActionResult> PutFacture(int id, Facture facture) { if (id != facture.Id) { return(BadRequest("La facture passée en paramètre ne correspond pas au client demandé")); } //Attache au contexte la facture passée en paramètre, puis défini ses champs DateFacture et CodeModePaiement en tant que modifié _context.Attach(facture); _context.Entry(facture).Property("DateFacture").IsModified = true; _context.Entry(facture).Property("CodeModePaiement").IsModified = true; try { await _context.SaveChangesAsync(); _context.Entry(facture).Reload(); } catch (DbUpdateConcurrencyException) { if (!FactureExists(id)) { return(NotFound("La facture ayant pour id " + id + " n'a pas été trouvée")); } else { return(BadRequest()); } } return(Ok(facture)); }
public async Task <IActionResult> PutClient(int id, Client client) { if (id != client.Id) { return(BadRequest("Le client demandé ne correspond pas à l'ID renseigné.")); } _context.Entry(client).State = EntityState.Modified; try { await _context.SaveChangesAsync(); _context.Entry(client).Reload(); } catch (DbUpdateConcurrencyException) { if (!ClientExists(id)) { return(NotFound()); } else { return(BadRequest()); } } return(Ok(client)); }
public async Task <IActionResult> PutFacture(int id, Facture facture) { if (id != facture.Id) { return(BadRequest()); } _context.Entry(facture).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FactureExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutFacture(int id, Facture newFacture) { if (!_context.Facture.Any(f => f.Id == id)) { return(NotFound("La facture n'existe pas.")); } if (newFacture.Id > 0 && id != newFacture.Id) { return(BadRequest("L'Id donné en paramètre ne correspond pas à celui de la facture renseigné.")); } var facture = await _context.Facture.FindAsync(id); if (facture == null) { return(NotFound("L'Id donné ne correspond pas à aucune des factures!")); } facture.DateFacture = newFacture.DateFacture; facture.CodeModePaiement = newFacture.CodeModePaiement; _context.Entry(facture).Property("DateFacture").IsModified = true; _context.Entry(facture).Property("CodeModePaiement").IsModified = true; try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { return(BadRequest("Une erreur s'est produite lors de la mise à jour.\nVeuillez vérifier les valeurs de date et codeModePaiement")); } return(Ok("La mise à jour a bien été effectuée.")); }
public async Task <IActionResult> PutReservation(Reservation reservation) { try { if (_context.Reservation.Find(reservation.NumChambre, reservation.Jour).IdClient != reservation.IdClient) { return(Conflict("Réservation déjà existante pour un client différent.")); } //On détache l'entité déjà sauvegardée en local, var local = _context.Reservation.Local.FirstOrDefault(r => r.NumChambre == reservation.NumChambre & r.Jour == reservation.Jour); _context.Entry(local).State = EntityState.Detached; _context.Entry(reservation).State = EntityState.Modified; await _context.SaveChangesAsync(); await _context.Entry(reservation).ReloadAsync(); } catch (Exception) { if (!ReservationExists(reservation.NumChambre, reservation.Jour)) { return(NotFound("Aucune réservation de cette chambre pour ce jour la.")); } else { return(BadRequest()); } } return(Ok(reservation)); }
public async Task <IActionResult> PutClient(int id, Client client) { if (id != client.Id) { return(BadRequest()); } _context.Entry(client).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ClientExists(id)) { return(NotFound()); } else { throw; } } return(Ok()); }
public async Task <IActionResult> PutReservation([FromQuery] int clientId, Reservation reservation) { if (clientId == 0) { return(BadRequest("Pas d'Id client renseigné")); } if (reservation.Jour == DateTime.MinValue || reservation.NumChambre == 0) { return(BadRequest("Le numero du chambre et la date doivent être renseignés")); } if (!_context.Client.Any(c => c.Id == clientId)) { return(NotFound("Le client avec l'id : " + clientId + " n'est pas enregistré dans notre base de données!")); } var clientReservation = _context.Reservation.Where(r => r.Jour == reservation.Jour && r.NumChambre == reservation.NumChambre).FirstOrDefault(); if (clientReservation == null) { return(NotFound("Le client n'a pas reservé la chambre " + reservation.NumChambre + " pour la date " + reservation.Jour)); } clientReservation.NbPersonnes = reservation.NbPersonnes; clientReservation.HeureArrivee = reservation.HeureArrivee; clientReservation.Travail = reservation.Travail; _context.Entry(clientReservation).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok("Les changements ont été pris en compte")); }
public async Task <IActionResult> PutReservation(short id, Reservation reservation) { if (id != reservation.IdClient) { return(BadRequest("Il y a une erreur entre les paramètre passer dans l'URL et dans le corps de la requête")); } //On récupère la potentiel réservation pour s'assurer qu'elle existe var reservationAModifer = await _context.Reservation.Where(r => r.IdClient == id && r.NumChambre == reservation.NumChambre && r.Jour == reservation.Jour).FirstOrDefaultAsync(); if (reservationAModifer == null) { return(NotFound("Aucune réservation n'est enregistrée pour cette chambre à cette date")); } else { reservationAModifer.NbPersonnes = reservation.NbPersonnes; reservationAModifer.HeureArrivee = reservation.HeureArrivee; reservationAModifer.Travail = reservation.Travail; _context.Entry(reservationAModifer).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateException e) { var sqle = e.InnerException as SqlException; return(BadRequest("Erreur lors de la modification de la reservation : " + sqle.Number)); } return(Ok("Votre reservation a été modifiée avec succès")); } }