Esempio n. 1
0
        public async Task <TacheReadDto> Ajouter(int locataire, int tache)
        {
            LiaisonCreateDto liaison = new LiaisonCreateDto()
            {
                LocataireId = locataire,
                TacheId     = tache
            };

            return(await Ajouter(liaison));
        }
Esempio n. 2
0
 public async Task <TacheReadDto> Ajouter(LiaisonCreateDto liaison)
 {
     try
     {
         return(await ApiController.Post <LiaisonCreateDto, TacheReadDto>(liaison));
     }
     catch (Exception ex)
     {
         throw new Exception("Impossible d'ajouter la liason : \n" + ex.Message);
     }
 }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        /**
         * <summary>Effectue les actions pour modifier la tâche dans la bdd</summary>
         * <returns>Retourne une string expliquant ce qu'il s'est passé</returns>
         */
        public async Task <string> OnSendClicked()
        {
            Tache.Tache.LocataireId = Tache.SelectedLocataire.Locataire.Id;

            // validation des données
            var result = await new TacheValidator().ValidateAsync(Tache.Tache);

            if (!result.IsValid)
            {
                return($"{result.Errors[0].ErrorMessage}");
            }

            // converti le dto de lecture en update
            var tacheUpdate = Mapping.Map(Tache.Tache, new TacheUpdateDto());

            // modifie la tâche
            await _taches.UpdateAsync(tacheUpdate);

            // modifie les liaisons
            await _liaisons.DeleteLiaisonsFromTacheAsync(tacheUpdate.Id);

            foreach (var orderedLocataire in _reoderedLocataires)
            {
                if (!Tache.Locataires[orderedLocataire].Inclu)
                {
                    continue;
                }

                var liaison = new LiaisonCreateDto
                {
                    LocataireId = Tache.Locataires[orderedLocataire].Locataire.Id,
                    TacheId     = tacheUpdate.Id
                };

                await _liaisons.PostAsync(liaison);
            }

            return($"La tâche {Tache.Tache.Nom} a bien été modifiée");
        }
Esempio n. 5
0
 public async Task <LiaisonReadDto> PostAsync(LiaisonCreateDto liaison)
 {
     return(await _liaisonsApi.Post <LiaisonCreateDto, LiaisonReadDto>(liaison));
 }