예제 #1
0
        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));
        }
예제 #2
0
        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"));
        }