public int Delete()
 {
     try
     {
         foreach (var roleutil in RoleUtilisateurModel.GetRoleutilisateur(_utilisateur.Id))
         {
             roleutil.Delete();
         }
         return(Entry.delete <Entities, Utilisateur>(ref _utilisateur));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public int Save()
 {
     try
     {
         if (_utilisateur.Id > 0)
         {
             var arr = RoleUtilisateurModel.GetRoleutilisateur(_utilisateur.Id); /*.OrderBy(o=>o.)*/;
             foreach (var roleutil in arr)
             {
                 if (!listesroles.Any(o => o.Id == roleutil.RoleId))//si le role n'existe pas dans la liste réele l'enlever
                 {
                     roleutil.Delete();
                 }
             }
             foreach (var role in listesroles)
             {
                 if (!arr.Any(o => o.RoleId == role.Id))//si le role existe dans la base de donnée le laisser pour eviter d'ajouter un duplicata
                 {
                     var obj = new RoleUtilisateurModel(role.Id, _utilisateur.Id);
                     obj.Save();
                 }
             }
             return(Entry.update <Entities, Utilisateur>(ref _utilisateur));
         }
         else
         {
             var ret = Entry.add <Entities, Utilisateur>(ref _utilisateur);
             if (listesroles != null)
             {
                 foreach (var role in listesroles)
                 {
                     var obj = new RoleUtilisateurModel(role.Id, _utilisateur.Id);
                     obj.Save();
                 }
             }
             return(ret);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 public UtilisateurModel(Utilisateur u)
 {
     _utilisateur = u;
     ListeRoles   = RoleUtilisateurModel.GetRolesbyuser(u.Id);
     Departement  = DepartementModel.GetDepartement(u.DepartementId);//always put properties here
 }