/// <summary> /// Supprime une donnée. /// </summary> /// <param name="carte">Carte utilisateur comportant une erreur si l'édition n'est pas autorisée</param> /// <param name="donnée">donnée à supprimer si elle existe</param> /// <returns></returns> protected async Task <IActionResult> Supprime(CarteUtilisateur carte, T donnée) { if (carte.Erreur != null) { return(carte.Erreur); } if (donnée == null) { return(NotFound()); } DAvecIdUintValideModel <T> dValideSupprime = __service.DValideSupprime(); if (dValideSupprime != null) { await dValideSupprime(donnée, ModelState); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } } var retour = await __service.Supprime(donnée); return(SaveChangesActionResult(retour)); }
public async Task <RetourDeService <T> > Ajoute(TAjout ajout, ModelStateDictionary modelState) { T donnée = await CréeDonnée(ajout); DAvecIdUintValideModel <T> dValideAjoute = DValideAjoute(); if (dValideAjoute != null) { await dValideAjoute(donnée, modelState); if (!modelState.IsValid) { return(new RetourDeService <T>(TypeRetourDeService.ModelError)); } } return(await Ajoute(donnée)); }
/// <summary> /// Modifie une donnée par les champs présents dans la vue /// </summary> /// <param name="donnée">donnée à modifier</param> /// <param name="vue">contient les champs à modifier dans la donnée</param> /// <returns></returns> protected async Task <IActionResult> Edite(T donnée, TEdite vue) { // vérifie que les valeurs à changer sont valides DAvecIdUintValideModel <T> dValide = __service.DValideEdite(); if (dValide != null) { T àValider = __service.CréeDonnéeEditéeComplète(vue, donnée); await dValide(àValider, ModelState); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } } RetourDeService <T> retour = await __service.Edite(donnée, vue); return(SaveChangesActionResult(retour)); }