diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-21 19:12:04 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-21 19:12:04 +0200 |
| commit | 9e86699c9b3aff17e0c4d19850b41b792a9625ef (patch) | |
| tree | 8504470031e886e9defcb6399fc7365bab17ddff /src/DevHive.Data/Repositories/UserRepository.cs | |
| parent | 1001c3d5c6f979c56daf98e7ed82cee2ff09ab7f (diff) | |
| download | DevHive-9e86699c9b3aff17e0c4d19850b41b792a9625ef.tar DevHive-9e86699c9b3aff17e0c4d19850b41b792a9625ef.tar.gz DevHive-9e86699c9b3aff17e0c4d19850b41b792a9625ef.zip | |
Removed HTTP Patch; Refactored HTTP Put; Fixed Update bug
Diffstat (limited to 'src/DevHive.Data/Repositories/UserRepository.cs')
| -rw-r--r-- | src/DevHive.Data/Repositories/UserRepository.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs index 3f9af70..c769f7e 100644 --- a/src/DevHive.Data/Repositories/UserRepository.cs +++ b/src/DevHive.Data/Repositories/UserRepository.cs @@ -6,6 +6,7 @@ using DevHive.Common.Models.Misc; using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.ChangeTracking; namespace DevHive.Data.Repositories { @@ -78,7 +79,9 @@ namespace DevHive.Data.Repositories public async Task<User> GetByUsernameAsync(string username) { return await this._context.Users - .Include(u => u.Roles) + .AsNoTracking() + .Include(x => x.Languages) + .Include(x => x.Technologies) .FirstOrDefaultAsync(x => x.UserName == username); } @@ -107,9 +110,13 @@ namespace DevHive.Data.Repositories #region Update - public async Task<bool> EditAsync(User newEntity) + public async Task<bool> EditAsync(User entity) { - this._context.Update(newEntity); + User user = await this._context.Users + .FirstOrDefaultAsync(x => x.Id == entity.Id); + + this._context.Update(user); + this._context.Entry(entity).CurrentValues.SetValues(entity); return await this.SaveChangesAsync(this._context); } @@ -177,6 +184,7 @@ namespace DevHive.Data.Repositories public async Task<bool> DoesUserExistAsync(Guid id) { return await this._context.Users + .AsNoTracking() .AnyAsync(x => x.Id == id); } @@ -208,6 +216,7 @@ namespace DevHive.Data.Repositories public bool DoesUserHaveThisUsername(Guid id, string username) { return this._context.Users + .AsNoTracking() .Any(x => x.Id == id && x.UserName == username); } |
