public async Task <ActionResult <GroupeEmploye> > CreateGroupeEmploye(GroupeEmploye groupe)
        {
            try
            {
                if (groupe == null)
                {
                    return(BadRequest());
                }
                var g = await _groupeEmployeRepository.GetGroupeEmployeByName(groupe.Libelle);

                if (g != null)
                {
                    ModelState.AddModelError("Groupe Employé", "Ce libellé existe déjà");
                    return(BadRequest(ModelState));
                }
                var createGroupe = await _groupeEmployeRepository.AddGroupeEmploye(groupe);

                return(CreatedAtAction(nameof(GetGroupeEmploye), new { id = createGroupe.Id }, createGroupe));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  "Erreur execption non capturée de database, cela peut être une erreur de connexion"));
            }
        }
        public async Task <GroupeEmploye> AddGroupeEmploye(GroupeEmploye groupeEmploye)
        {
            var result = await _appDbContext.GroupeEmployes.AddAsync(groupeEmploye);

            await _appDbContext.SaveChangesAsync();

            return(result.Entity);
        }
        public async Task <GroupeEmploye> UpdateGroupeEmploye(GroupeEmploye groupeEmploye)
        {
            var result = await _appDbContext.GroupeEmployes
                         .FirstOrDefaultAsync(e => e.Id == groupeEmploye.Id);

            if (result != null)
            {
                result.Libelle = groupeEmploye.Libelle;
                await _appDbContext.SaveChangesAsync();

                return(result);
            }
            return(null);
        }
        public async Task <ActionResult <GroupeEmploye> > UpdateGroupeEmploye(int id, GroupeEmploye groupe)
        {
            try
            {
                if (id != groupe.Id)
                {
                    return(BadRequest("Id de groupe ne correspond pas"));
                }
                var gToUpdate = await _groupeEmployeRepository.GetGroupeEmploye(id);

                if (gToUpdate == null)
                {
                    return(NotFound($"GroupeEmploye avec Id={id} n'a pas été trouvé"));
                }
                return(await _groupeEmployeRepository.UpdateGroupeEmploye(groupe));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  "Erreur execption non capturée de database, cela peut être une erreur de connexion"));
            }
        }