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