diff --git a/src/Core/Repositories/SqlServer/Repository.cs b/src/Core/Repositories/SqlServer/Repository.cs index d08ec78462..e3e2c06300 100644 --- a/src/Core/Repositories/SqlServer/Repository.cs +++ b/src/Core/Repositories/SqlServer/Repository.cs @@ -75,7 +75,7 @@ namespace Bit.Core.Repositories.SqlServer public virtual async Task UpsertAsync(T obj) { - if(string.IsNullOrWhiteSpace(obj.Id)) + if(string.IsNullOrWhiteSpace(obj.Id) || obj.Id == "0" || obj.Id == Guid.Empty.ToString()) { await CreateAsync(obj); } diff --git a/src/Core/Services/UserService.cs b/src/Core/Services/UserService.cs index 537e5c92cb..477f20d4cc 100644 --- a/src/Core/Services/UserService.cs +++ b/src/Core/Services/UserService.cs @@ -142,6 +142,7 @@ namespace Bit.Core.Services user.Email = newEmail; user.EmailVerified = true; + user.RevisionDate = DateTime.UtcNow; await _cipherRepository.UpdateUserEmailPasswordAndCiphersAsync(user, ciphers); return IdentityResult.Success; } @@ -165,7 +166,8 @@ namespace Bit.Core.Services { return result; } - + + user.RevisionDate = DateTime.UtcNow; await _cipherRepository.UpdateUserEmailPasswordAndCiphersAsync(user, ciphers); return IdentityResult.Success; } @@ -189,7 +191,7 @@ namespace Bit.Core.Services return result; } - await _userRepository.ReplaceAsync(user); + await SaveUserAsync(user); return IdentityResult.Success; } @@ -228,7 +230,7 @@ namespace Bit.Core.Services throw new ArgumentException(nameof(provider)); } - await _userRepository.ReplaceAsync(user); + await SaveUserAsync(user); } private async Task UpdatePasswordHash(User user, string newPassword, bool validatePassword = true)