aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Data
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Data')
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/ILanguageRepository.cs5
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/ITechnologyRepository.cs5
-rw-r--r--src/DevHive.Data/Interfaces/Repositories/IUserRepository.cs9
-rw-r--r--src/DevHive.Data/Repositories/LanguageRepository.cs7
-rw-r--r--src/DevHive.Data/Repositories/TechnologyRepository.cs7
-rw-r--r--src/DevHive.Data/Repositories/UserRepository.cs39
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
}
}