private void SeedAppUsers(UnitOfWork db) { var testDataDeserializer = new TestDataDeserializer(); var testDataDeacons = testDataDeserializer.DeserializeDeaconsTestData(); // Get users from external source and add to list. foreach (var testDataDeacon in testDataDeacons) { if (string.IsNullOrEmpty(testDataDeacon.SharepointEmail) || string.IsNullOrEmpty(testDataDeacon.FamDistrictDeacon)) { continue; } var names = GetTestAppUserNames(testDataDeacon.FamDistrictDeacon); int?ccgId = GetTestCcgId(testDataDeacon.GroupName, db); _appUsers.Add(new CCGAppUser { Email = testDataDeacon.SharepointEmail, UserName = testDataDeacon.SharepointEmail, LastName = names["Last Name"], FirstName = names["First Name"], CcgId = ccgId, EmailAddress = testDataDeacon.Email, PhoneNumber = GetRandomPhoneNumber(), }); } // Add users to data store foreach (var appUser in _appUsers) { var dbSet = _dbContext.Set <CCGAppUser>(); using (var userStore = new UserStore <CCGAppUser>(_dbContext)) using (var userManager = new ApplicationUserManager(userStore)) { // if user exists, update if (dbSet.Any(u => u.UserName.Equals(appUser.UserName))) { var user = userManager.Users.SingleOrDefault(u => u.UserName.Equals(appUser.UserName)); user.Email = appUser.Email; user.UserName = appUser.UserName; user.LastName = appUser.LastName; user.FirstName = appUser.FirstName; user.CcgId = appUser.CcgId; user.EmailAddress = appUser.EmailAddress; user.PhoneNumber = appUser.PhoneNumber; _dbContext.Entry(user).State = EntityState.Modified; userManager.Update(user); } else { // else add user if (appUser != null) { userManager.Create(appUser); } } } } }
public virtual void Update(TEntity entity) { context.Entry(entity).State = EntityState.Modified; Save(context); }