public void SuspendUser(Func<user, bool> predicate)
 {
     using (var context = new appsterEntities())
     {
         context.Configuration.AutoDetectChangesEnabled = false;
         var users = context.users.Where(predicate);
         try
         {
             foreach (var usr in users)
             {
                 usr.status = usr.status == 0 ? 1 : 0;
                 context.Entry(usr).State = System.Data.Entity.EntityState.Modified;
             }
         }
         finally
         {
             context.Configuration.AutoDetectChangesEnabled = true;
             context.SaveChanges();
         }
     }
 }
 public async Task UpdateUser(user updatedUser)
 {
     if (!GetRoles().Any(i => i.id == updatedUser.role_id)) throw new AppsRequiredDataIsNullException();
     using (var context = new appsterEntities())
     {
         var checkData = context.users.SingleOrDefault(i => i.id != updatedUser.id &&
                         (i.username == updatedUser.username || i.email == updatedUser.email));
         if (checkData == null)
         {
             context.users.Add(updatedUser);
             context.Entry(updatedUser).State = System.Data.Entity.EntityState.Modified;
             await context.SaveChangesAsync();
         }
         else
         {
             if (checkData.username == updatedUser.username) throw new AppsUsernameAlreadyExistException();
             if (checkData.email == updatedUser.email) throw new AppsEmailAlreadyExistException();
         }
     }
 }