diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-26 15:50:16 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-26 15:50:16 +0200 |
| commit | acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0 (patch) | |
| tree | 38c290bd7bad75edfdeb9631948ef654c3a282f0 /src/DevHive.Data | |
| parent | f61da9c07ff37cb350528e255539b4ec11181bde (diff) | |
| parent | bddc0b0566bc19e936ccae9d3aa16b6e0116b186 (diff) | |
| download | DevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.tar DevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.tar.gz DevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.zip | |
Merge branch 'dev' of https://github.com/Team-Kaleidoscope/DevHive into dev
Diffstat (limited to 'src/DevHive.Data')
6 files changed, 30 insertions, 42 deletions
diff --git a/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs b/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs index f1d7248..db2949a 100644 --- a/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using DevHive.Data.Models; using DevHive.Data.Repositories.Interfaces; @@ -7,8 +8,10 @@ namespace DevHive.Data.Interfaces.Repositories { public interface ILanguageRepository : IRepository<Language> { + HashSet<Language> GetLanguages(); + Task<Language> GetByNameAsync(string name); + Task<bool> DoesLanguageExistAsync(Guid id); Task<bool> DoesLanguageNameExistAsync(string languageName); - Task<Language> GetByNameAsync(string name); } } diff --git a/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs b/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs index fb0ba20..9126bfc 100644 --- a/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using DevHive.Data.Models; using DevHive.Data.Repositories.Interfaces; @@ -7,8 +8,10 @@ namespace DevHive.Data.Interfaces.Repositories { public interface ITechnologyRepository : IRepository<Technology> { + Task<Technology> GetByNameAsync(string name); + HashSet<Technology> GetTechnologies(); + Task<bool> DoesTechnologyExistAsync(Guid id); Task<bool> DoesTechnologyNameExistAsync(string technologyName); - Task<Technology> GetByNameAsync(string name); } } diff --git a/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs index c29669d..4346e9c 100644 --- a/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs +++ b/src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs @@ -10,20 +10,13 @@ namespace DevHive.Data.Interfaces.Repositories { //Read Task<User> GetByUsernameAsync(string username); - Language GetUserLanguage(User user, Language language); - HashSet<Language> GetUserLanguages(User user); - HashSet<Technology> GetUserTechnologies(User user); - Technology GetUserTechnology(User user, Technology technology); IEnumerable<User> QueryAll(); //Validations Task<bool> DoesEmailExistAsync(string email); Task<bool> DoesUserExistAsync(Guid id); Task<bool> DoesUserHaveThisFriendAsync(Guid userId, Guid friendId); - Task<bool> DoesUsernameExistAsync(string username); - bool DoesUserHaveThisLanguage(User user, Language language); bool DoesUserHaveThisUsername(Guid id, string username); - bool DoesUserHaveFriends(User user); - bool DoesUserHaveThisTechnology(User user, Technology technology); + Task<bool> DoesUsernameExistAsync(string username); } } diff --git a/src/DevHive.Data/Repositories/LanguageRepository.cs b/src/DevHive.Data/Repositories/LanguageRepository.cs index c28ef31..f2cc67f 100644 --- a/src/DevHive.Data/Repositories/LanguageRepository.cs +++ b/src/DevHive.Data/Repositories/LanguageRepository.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; @@ -23,6 +25,11 @@ namespace DevHive.Data.Repositories .AsNoTracking() .FirstOrDefaultAsync(x => x.Name == languageName); } + + public HashSet<Language> GetLanguages() + { + return this._context.Languages.ToHashSet(); + } #endregion #region Validations diff --git a/src/DevHive.Data/Repositories/TechnologyRepository.cs b/src/DevHive.Data/Repositories/TechnologyRepository.cs index 87540fb..e03291d 100644 --- a/src/DevHive.Data/Repositories/TechnologyRepository.cs +++ b/src/DevHive.Data/Repositories/TechnologyRepository.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; @@ -23,6 +25,11 @@ namespace DevHive.Data.Repositories .AsNoTracking() .FirstOrDefaultAsync(x => x.Name == technologyName); } + + public HashSet<Technology> GetTechnologies() + { + return this._context.Technologies.ToHashSet(); + } #endregion #region Validations diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs index 34b222e..6d4a175 100644 --- a/src/DevHive.Data/Repositories/UserRepository.cs +++ b/src/DevHive.Data/Repositories/UserRepository.cs @@ -47,27 +47,17 @@ namespace DevHive.Data.Repositories .Include(x => x.Technologies) .FirstOrDefaultAsync(x => x.UserName == username); } + #endregion - public HashSet<Language> GetUserLanguages(User user) + #region Update + public override async Task<bool> EditAsync(Guid id, User newEntity) { - return user.Languages; - } + User user = await GetByIdAsync(id); - public Language GetUserLanguage(User user, Language language) - { - return user.Languages - .FirstOrDefault(x => x.Id == language.Id); - } + this._context.Update(user); + user = newEntity; - public HashSet<Technology> GetUserTechnologies(User user) - { - return user.Technologies; - } - - public Technology GetUserTechnology(User user, Technology technology) - { - return user.Technologies - .FirstOrDefault(x => x.Id == technology.Id); + return await this.SaveChangesAsync(this._context); } #endregion @@ -111,21 +101,6 @@ namespace DevHive.Data.Repositories .Any(x => x.Id == id && x.UserName == username); } - - public bool DoesUserHaveFriends(User user) - { - return user.Friends.Count >= 1; - } - - public bool DoesUserHaveThisLanguage(User user, Language language) - { - return user.Languages.Contains(language); - } - - public bool DoesUserHaveThisTechnology(User user, Technology technology) - { - return user.Technologies.Contains(technology); - } #endregion } } |
