Refactored repository pattern for Add and Update methods so that they return their respective entity objects

This commit is contained in:
Shaun Walker
2019-08-05 09:31:04 -04:00
parent b9c007998e
commit 4fda7b17d0
43 changed files with 353 additions and 137 deletions

View File

@ -35,12 +35,13 @@ namespace Oqtane.Repository
}
}
public void AddAlias(Alias alias)
public Alias AddAlias(Alias Alias)
{
try
{
db.Alias.Add(alias);
db.Alias.Add(Alias);
db.SaveChanges();
return Alias;
}
catch
{
@ -48,12 +49,13 @@ namespace Oqtane.Repository
}
}
public void UpdateAlias(Alias alias)
public Alias UpdateAlias(Alias Alias)
{
try
{
db.Entry(alias).State = EntityState.Modified;
db.Entry(Alias).State = EntityState.Modified;
db.SaveChanges();
return Alias;
}
catch
{
@ -61,11 +63,11 @@ namespace Oqtane.Repository
}
}
public Alias GetAlias(int aliasId)
public Alias GetAlias(int AliasId)
{
try
{
Alias alias = db.Alias.Find(aliasId);
Alias alias = db.Alias.Find(AliasId);
return alias;
}
catch
@ -74,11 +76,11 @@ namespace Oqtane.Repository
}
}
public void DeleteAlias(int aliasId)
public void DeleteAlias(int AliasId)
{
try
{
Alias alias = db.Alias.Find(aliasId);
Alias alias = db.Alias.Find(AliasId);
db.Alias.Remove(alias);
db.SaveChanges();
}

View File

@ -6,9 +6,9 @@ namespace Oqtane.Repository
public interface IAliasRepository
{
IEnumerable<Alias> GetAliases();
void AddAlias(Alias alias);
void UpdateAlias(Alias alias);
Alias GetAlias(int aliasId);
void DeleteAlias(int aliasId);
Alias AddAlias(Alias Alias);
Alias UpdateAlias(Alias Alias);
Alias GetAlias(int AliasId);
void DeleteAlias(int AliasId);
}
}

View File

@ -7,8 +7,8 @@ namespace Oqtane.Repository
{
IEnumerable<Module> GetModules();
IEnumerable<Module> GetModules(int SiteId, string ModuleDefinitionName);
void AddModule(Module Module);
void UpdateModule(Module Module);
Module AddModule(Module Module);
Module UpdateModule(Module Module);
Module GetModule(int ModuleId);
void DeleteModule(int ModuleId);
}

View File

@ -7,8 +7,8 @@ namespace Oqtane.Repository
{
IEnumerable<PageModule> GetPageModules();
IEnumerable<PageModule> GetPageModules(int PageId);
void AddPageModule(PageModule PageModule);
void UpdatePageModule(PageModule PageModule);
PageModule AddPageModule(PageModule PageModule);
PageModule UpdatePageModule(PageModule PageModule);
PageModule GetPageModule(int PageModuleId);
void DeletePageModule(int PageModuleId);
}

View File

@ -7,8 +7,8 @@ namespace Oqtane.Repository
{
IEnumerable<Page> GetPages();
IEnumerable<Page> GetPages(int SiteId);
void AddPage(Page Page);
void UpdatePage(Page Page);
Page AddPage(Page Page);
Page UpdatePage(Page Page);
Page GetPage(int PageId);
void DeletePage(int PageId);
}

View File

@ -6,9 +6,9 @@ namespace Oqtane.Repository
public interface ISiteRepository
{
IEnumerable<Site> GetSites();
void AddSite(Site site);
void UpdateSite(Site site);
Site GetSite(int siteId);
void DeleteSite(int siteId);
Site AddSite(Site Site);
Site UpdateSite(Site Site);
Site GetSite(int SiteId);
void DeleteSite(int SiteId);
}
}

View File

@ -0,0 +1,15 @@
using System.Collections.Generic;
using Oqtane.Models;
namespace Oqtane.Repository
{
public interface ISiteUserRepository
{
IEnumerable<SiteUser> GetSiteUsers();
IEnumerable<SiteUser> GetSiteUsers(int SiteId, int UserId);
SiteUser AddSiteUser(SiteUser SiteUser);
SiteUser UpdateSiteUser(SiteUser SiteUser);
SiteUser GetSiteUser(int SiteUserId);
void DeleteSiteUser(int SiteUserId);
}
}

View File

@ -6,9 +6,9 @@ namespace Oqtane.Repository
public interface ITenantRepository
{
IEnumerable<Tenant> GetTenants();
void AddTenant(Tenant tenant);
void UpdateTenant(Tenant tenant);
Tenant GetTenant(int tenantId);
void DeleteTenant(int tenantId);
Tenant AddTenant(Tenant Tenant);
Tenant UpdateTenant(Tenant Tenant);
Tenant GetTenant(int TenantId);
void DeleteTenant(int TenantId);
}
}

View File

@ -6,8 +6,8 @@ namespace Oqtane.Repository
public interface IUserRepository
{
IEnumerable<User> GetUsers();
void AddUser(User User);
void UpdateUser(User User);
User AddUser(User User);
User UpdateUser(User User);
User GetUser(int UserId);
User GetUser(string Username);
void DeleteUser(int UserId);

View File

@ -41,12 +41,13 @@ namespace Oqtane.Repository
}
}
public void AddModule(Module Module)
public Module AddModule(Module Module)
{
try
{
db.Module.Add(Module);
db.SaveChanges();
return Module;
}
catch
{
@ -54,12 +55,13 @@ namespace Oqtane.Repository
}
}
public void UpdateModule(Module Module)
public Module UpdateModule(Module Module)
{
try
{
db.Entry(Module).State = EntityState.Modified;
db.SaveChanges();
return Module;
}
catch
{

View File

@ -40,12 +40,13 @@ namespace Oqtane.Repository
}
}
public void AddPageModule(PageModule PageModule)
public PageModule AddPageModule(PageModule PageModule)
{
try
{
db.PageModule.Add(PageModule);
db.SaveChanges();
return PageModule;
}
catch
{
@ -53,12 +54,13 @@ namespace Oqtane.Repository
}
}
public void UpdatePageModule(PageModule PageModule)
public PageModule UpdatePageModule(PageModule PageModule)
{
try
{
db.Entry(PageModule).State = EntityState.Modified;
db.SaveChanges();
return PageModule;
}
catch
{

View File

@ -38,12 +38,13 @@ namespace Oqtane.Repository
}
}
public void AddPage(Page Page)
public Page AddPage(Page Page)
{
try
{
db.Page.Add(Page);
db.SaveChanges();
return Page;
}
catch
{
@ -51,12 +52,13 @@ namespace Oqtane.Repository
}
}
public void UpdatePage(Page Page)
public Page UpdatePage(Page Page)
{
try
{
db.Entry(Page).State = EntityState.Modified;
db.SaveChanges();
return Page;
}
catch
{

View File

@ -26,12 +26,13 @@ namespace Oqtane.Repository
}
}
public void AddSite(Site site)
public Site AddSite(Site Site)
{
try
{
db.Site.Add(site);
db.Site.Add(Site);
db.SaveChanges();
return Site;
}
catch
{
@ -39,12 +40,13 @@ namespace Oqtane.Repository
}
}
public void UpdateSite(Site site)
public Site UpdateSite(Site Site)
{
try
{
db.Entry(site).State = EntityState.Modified;
db.Entry(Site).State = EntityState.Modified;
db.SaveChanges();
return Site;
}
catch
{

View File

@ -0,0 +1,100 @@
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using Oqtane.Models;
namespace Oqtane.Repository
{
public class SiteUserRepository : ISiteUserRepository
{
private TenantDBContext db;
public SiteUserRepository(TenantDBContext context)
{
db = context;
}
public IEnumerable<SiteUser> GetSiteUsers()
{
try
{
return db.SiteUser.ToList();
}
catch
{
throw;
}
}
public IEnumerable<SiteUser> GetSiteUsers(int SiteId, int UserId)
{
try
{
List<SiteUser> siteusers = db.SiteUser.Where(item => item.SiteId == SiteId).ToList();
if (UserId != -1)
{
siteusers = siteusers.Where(item => item.UserId == UserId).ToList();
}
return siteusers;
}
catch
{
throw;
}
}
public SiteUser AddSiteUser(SiteUser SiteUser)
{
try
{
db.SiteUser.Add(SiteUser);
db.SaveChanges();
return SiteUser;
}
catch
{
throw;
}
}
public SiteUser UpdateSiteUser(SiteUser SiteUser)
{
try
{
db.Entry(SiteUser).State = EntityState.Modified;
db.SaveChanges();
return SiteUser;
}
catch
{
throw;
}
}
public SiteUser GetSiteUser(int SiteUserId)
{
try
{
SiteUser SiteUser = db.SiteUser.Find(SiteUserId);
return SiteUser;
}
catch
{
throw;
}
}
public void DeleteSiteUser(int SiteUserId)
{
try
{
SiteUser SiteUser = db.SiteUser.Find(SiteUserId);
db.SiteUser.Remove(SiteUser);
db.SaveChanges();
}
catch
{
throw;
}
}
}
}

View File

@ -11,6 +11,7 @@ namespace Oqtane.Repository
public virtual DbSet<PageModule> PageModule { get; set; }
public virtual DbSet<Module> Module { get; set; }
public virtual DbSet<User> User { get; set; }
public virtual DbSet<SiteUser> SiteUser { get; set; }
public TenantDBContext(ITenantResolver TenantResolver, IHttpContextAccessor accessor) : base(TenantResolver, accessor)
{

View File

@ -36,12 +36,13 @@ namespace Oqtane.Repository
}
}
public void AddTenant(Tenant tenant)
public Tenant AddTenant(Tenant Tenant)
{
try
{
db.Tenant.Add(tenant);
db.Tenant.Add(Tenant);
db.SaveChanges();
return Tenant;
}
catch
{
@ -49,12 +50,13 @@ namespace Oqtane.Repository
}
}
public void UpdateTenant(Tenant tenant)
public Tenant UpdateTenant(Tenant Tenant)
{
try
{
db.Entry(tenant).State = EntityState.Modified;
db.Entry(Tenant).State = EntityState.Modified;
db.SaveChanges();
return Tenant;
}
catch
{
@ -62,11 +64,11 @@ namespace Oqtane.Repository
}
}
public Tenant GetTenant(int tenantId)
public Tenant GetTenant(int TenantId)
{
try
{
Tenant tenant = db.Tenant.Find(tenantId);
Tenant tenant = db.Tenant.Find(TenantId);
return tenant;
}
catch
@ -75,11 +77,11 @@ namespace Oqtane.Repository
}
}
public void DeleteTenant(int tenantId)
public void DeleteTenant(int TenantId)
{
try
{
Tenant tenant = db.Tenant.Find(tenantId);
Tenant tenant = db.Tenant.Find(TenantId);
db.Tenant.Remove(tenant);
db.SaveChanges();
}

View File

@ -26,12 +26,13 @@ namespace Oqtane.Repository
}
}
public void AddUser(User user)
public User AddUser(User user)
{
try
{
db.User.Add(user);
db.SaveChanges();
return user;
}
catch
{
@ -39,12 +40,13 @@ namespace Oqtane.Repository
}
}
public void UpdateUser(User user)
public User UpdateUser(User user)
{
try
{
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
return user;
}
catch
{