diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-15 20:39:59 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-15 20:39:59 +0200 |
| commit | 98ae2dde03781166518fb586b81753ac2f923831 (patch) | |
| tree | 35fcb6905fa19acb73af9982223648f47305a83d /src/DevHive.Data | |
| parent | b6855296340e4b70ee7a83d3118780eb23e46c83 (diff) | |
| parent | b4f102b15879fd2a8415fd42373c990e17a86baf (diff) | |
| download | DevHive-98ae2dde03781166518fb586b81753ac2f923831.tar DevHive-98ae2dde03781166518fb586b81753ac2f923831.tar.gz DevHive-98ae2dde03781166518fb586b81753ac2f923831.zip | |
Merge branch 'dev' of github.com:Team-Kaleidoscope/DevHive into dev
Diffstat (limited to 'src/DevHive.Data')
| -rw-r--r-- | src/DevHive.Data/Repositories/RoleRepository.cs | 56 |
1 files changed, 48 insertions, 8 deletions
diff --git a/src/DevHive.Data/Repositories/RoleRepository.cs b/src/DevHive.Data/Repositories/RoleRepository.cs index 1c40b04..9b6cf14 100644 --- a/src/DevHive.Data/Repositories/RoleRepository.cs +++ b/src/DevHive.Data/Repositories/RoleRepository.cs @@ -2,32 +2,72 @@ using System; using System.Threading.Tasks; using Data.Models.Interfaces.Database; using DevHive.Data.Models; +using Microsoft.EntityFrameworkCore; namespace DevHive.Data.Repositories { public class RoleRepository : IRepository<Role> { + private readonly DbContext _context; + + public RoleRepository(DbContext context) + { + this._context = context; + } + + //Create public async Task AddAsync(Role entity) { - throw new NotImplementedException(); + await this._context + .Set<Role>() + .AddAsync(entity); + + await this._context.SaveChangesAsync(); } - //Find entity by id + //Read public async Task<Role> GetByIdAsync(Guid id) { - throw new NotImplementedException(); + return await this._context + .Set<Role>() + .FindAsync(id); + } - //Modify Entity from database + //Update public async Task EditAsync(Role newEntity) { - throw new NotImplementedException(); - } + this._context + .Set<Role>() + .Update(newEntity); - //Delete Entity from database + await this._context.SaveChangesAsync(); + } + + //Delete public async Task DeleteAsync(Role entity) { - throw new NotImplementedException(); + this._context + .Set<Role>() + .Remove(entity); + + await this._context.SaveChangesAsync(); + } + + public async Task<bool> DoesNameExist(string name) + { + return await this._context + .Set<Role>() + .AsNoTracking() + .AnyAsync(r => r.Name == name); + } + + public async Task<bool> DoesRoleExist(Guid id) + { + return await this._context + .Set<Role>() + .AsNoTracking() + .AnyAsync(r => r.Id == id); } } } |
