public async Task <ActionResult <FonctionModel> > Put(FonctionModel model)
        {
            try
            {
                var fonction = await _uow.GetRepository <Fonctions>().GetAsync(model.Id);

                if (fonction == null)
                {
                    return(NotFound($"Fonction {model.Id} introuvable"));
                }

                if (string.IsNullOrWhiteSpace(model.Nom))
                {
                    return(BadRequest("Le nom de la fonction est obligatoire."));
                }

                var updatedFonction = _mapper.Map <Fonctions>(model);

                _uow.GetRepository <Fonctions>().Update(updatedFonction);
                await _uow.CommitAsync();

                var url = _linkGenerator.GetPathByAction(HttpContext,
                                                         "Get",
                                                         values: new { id = fonction.Id });

                return(Created(url, _mapper.Map <FonctionModel>(updatedFonction)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error fonction-post-one : {ex.Message}");

                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
        public async Task <ActionResult <FonctionModel> > Post(FonctionModel model)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(model.Nom))
                {
                    return(BadRequest("Le nom de la fonction est obligatoire."));
                }

                var fonction = _mapper.Map <Fonctions>(model);

                _uow.GetRepository <Fonctions>().Add(fonction);
                await _uow.CommitAsync();

                if (fonction.Id != 0)
                {
                    var url = _linkGenerator.GetPathByAction(HttpContext,
                                                             "Get",
                                                             values: new { id = fonction.Id });

                    return(Created(url, _mapper.Map <FonctionModel>(fonction)));
                }
                else
                {
                    _logger.LogWarning($"Erreur lors de l'ajout de la fonction: {fonction.Nom}");

                    return(BadRequest("Erreur lors de l'ajout de la fonction."));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error fonction-post-one : {ex.Message}");

                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }