/// <summary> /// Редактировать пользователей. /// </summary> /// <param name="users">Отредактированные пользователи</param> /// <returns></returns> public async Task <bool> EditUsersAsync(string users) { try { await Task.Run(() => { List <User> usersList; usersList = JsonConvert.DeserializeObject <List <User> >(users); using (var context = new VirtuSystemsDbContex()) { var usersDb = context.Users.Where(x => usersList.Contains(x)).AsTracking().ToList(); usersDb = GetUpdateUserList(usersDb, usersList); foreach (var user in usersList) { if (usersDb.All(x => x.Id != user.Id)) { usersDb.Add(GetNewUser(user)); } } context.UpdateRange(usersDb.Distinct()); context.SaveChanges(); } }); return(true); } catch { return(false); } }