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> PutFacturePaiement(int id, Facture facture) { if (id != facture.Id) { return(BadRequest("L'ID de l'URL ne correspond pas à celui de du corps de la requête.")); } _context.Attach(facture); _context.Entry(facture).Property("DatePaiement").IsModified = true; _context.Entry(facture).Property("CodeModePaiement").IsModified = true; try { await _context.SaveChangesAsync(); } catch (DbUpdateException e) { var sqle = e.InnerException as SqlException; if (sqle.Number == 8152) { return(BadRequest("Le mode de paiement n'est pas valide (CB - CHQ - ESP)")); } else { return(BadRequest("Erreur lors de la mise à jour de la facture")); } } return(Ok("Le mode de paiement et la date de votre facture ont bien été modifiés")); }