public ActionResult <LiaisonReadDto> Create(LiaisonCreateDto liaisonCreateDto) { LiaisonTacheLocataire liaison = _mapper.Map <LiaisonTacheLocataire>(liaisonCreateDto); // trouve le model à utiliser _repository.Create(liaison); // crée la command en ram _repository.SaveChanges(); // sauvegarde les changements dans la bdd LiaisonReadDto liaisonReadDto = _mapper.Map <LiaisonReadDto>(liaison); liaisonReadDto.Locataire = new LocataireRepo(_repository.Context).GetById(liaisonReadDto.LocataireId); liaisonReadDto.Tache = new TacheRepo(_repository.Context).GetById(liaisonReadDto.TacheId); //return CreatedAtRoute(nameof(GetById), new { Id = commandReadDto.Id }, commandReadDto); return(Ok(liaisonReadDto)); }
[HttpGet("{id:int}", Name = "GetLiaisonById")] // indique que cette méthode répond à une requete http public ActionResult <LiaisonReadDto> GetLiaisonById(int id) { LiaisonTacheLocataire liaison = _repository.GetById(id); if (liaison == null) { return(NotFound()); // si pas trouvé renvoie 404 not found } LiaisonReadDto liaisonReadDto = _mapper.Map <LiaisonReadDto>(liaison); liaisonReadDto.Locataire = new LocataireRepo(_repository.Context).GetById(liaisonReadDto.LocataireId); liaisonReadDto.Tache = new TacheRepo(_repository.Context).GetById(liaisonReadDto.TacheId); return(Ok(liaisonReadDto)); // map commandItem en CommandReadDto pour renvoyer les données formattées au client }