public ActionResult Modifiermembre([FromRoute] int membreId, [FromBody] ModifierMembreRequete requete) { requete.MembreId = membreId; var membre = _membreService.ModifierMembre(requete); return(Ok(membre)); }
public Core.Domaines.Membre ModifierMembre(ModifierMembreRequete requete) { if (requete == null) { throw new CustomBadRequestException(MessageErreur.RequeteNull); } var membre = _context.Membres .Include(x => x.CarteIdentites) .SingleOrDefault(x => x.Id == requete.MembreId); if (membre == null) { throw new CustomNotFoundException(MessageErreur.MembreIntrouvable); } if (!String.IsNullOrEmpty(requete.Email)) { membre.Email = requete.Email; } if (!String.IsNullOrEmpty(requete.Telephone)) { membre.Telephone = requete.Telephone; } var nouvelleCarteID = _context.IDCartes.SingleOrDefault(x => x.RegistreNational == requete.CarteIdentite.RegistreNational); if (nouvelleCarteID == null) { throw new CustomNotFoundException(MessageErreur.CarteIdentiteInvalide); } // Si un element non vide dans le body de la requete , on lui affecte une nouvelle valeur if (!String.IsNullOrEmpty(requete.CarteIdentite.Nom)) { nouvelleCarteID.Nom = requete.CarteIdentite.Nom; } if (!String.IsNullOrEmpty(requete.CarteIdentite.Prenom)) { nouvelleCarteID.Prenom = requete.CarteIdentite.Prenom; } if (requete.CarteIdentite.DateNaissance != defaultDate) { nouvelleCarteID.DateNaissance = requete.CarteIdentite.DateNaissance; } if (requete.CarteIdentite.DateValidation != defaultDate) { nouvelleCarteID.DateValidation = requete.CarteIdentite.DateValidation; } if (requete.CarteIdentite.DateExpiration != defaultDate) { nouvelleCarteID.DateExpiration = requete.CarteIdentite.DateExpiration; } if (requete.CarteIdentite.NumeroCarte != default) { nouvelleCarteID.NumeroCarte = requete.CarteIdentite.NumeroCarte; } ValidationCarteIdentite(nouvelleCarteID); membre.CarteIdentites.Add(nouvelleCarteID); _context.Membres.Update(membre); _context.SaveChanges(); return(membre); }