/// <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); } }
/// <summary> /// Инициализация данных в БД. /// </summary> /// <returns></returns> public async Task AddDataInDbAsync() { await Task.Run(() => { using (var context = new VirtuSystemsDbContex()) { var items = context.Users.Count(); if (items == 0) { var users = new List <User>(); for (var i = 1; i <= 10; i++) { users.Add(new User { BirthDay = DateTime.Today.Date, Name = "Test_" + i, Phone = "8 888 888 88 88" }); } context.AddRange(users); context.SaveChanges(); } } }); }