private async Task <bool> CreateUsersHierarchy(UsersDtoCreateList li)
        {
            bool res = true;

            try
            {
                Users parentUsers = null;
                if (li.ParentId != Guid.Empty && li.ParentId != null)
                {
                    parentUsers = await Work.Users.Get(x => x.UsersId == li.ParentId);
                }

                Users user = new Users()
                {
                    FkUsers        = parentUsers,
                    UsersId        = Guid.NewGuid(),
                    UsersCode      = li.LiUsers.UsersCode,
                    UsersLastName  = li.LiUsers.UsersLastName,
                    UsersName      = li.LiUsers.UsersName,
                    UsersBirthDate = li.LiUsers.UsersBirthDate,
                    UsersDateLeave = li.LiUsers.UsersDateLeave,

                    UsersGenderCode     = li.LiUsers.UsersGenderCode,
                    UsersJoinDate       = li.LiUsers.UsersJoinDate,
                    UsersMail           = li.LiUsers.UsersMail,
                    UsersMailIntern     = li.LiUsers.UsersMailIntern,
                    UsersPersonalNumber = li.LiUsers.UsersPersonalNumber,
                    UsersPhoneNumber    = li.LiUsers.UsersPhoneNumber,
                    UsersPosteName      = li.LiUsers.UsersPosteName,
                    UsersState          = li.LiUsers.UsersState,
                };

                await Work.Users.Add(user);

                await Work.Complete();

                ///// Create the hierarchy

                if (li.LiUsers.SubUsers != null)
                {
                    foreach (var item in li.LiUsers.SubUsers)
                    {
                        await CreateSub(user, item);
                    }
                }
            }
            catch (Exception e)
            {
                res = false;
            }

            return(res);
        }
        public async Task <ActionResult> Post([FromBody] UsersDtoCreateList li)
        {
            bool res = await CreateUsersHierarchy(li);

            if (res == false)
            {
                return(new JsonResult(new ErrorDetails
                {
                    StatusCode = 500,
                    Message = "une Erreur c'est produit lors de l'ajout des utilisateurs."
                }));
            }
            else
            {
                return(Ok());
            }
        }