refactoring of site groups
This commit is contained in:
@@ -134,7 +134,7 @@ namespace Oqtane.Repository
|
||||
public virtual DbSet<SearchContentWord> SearchContentWord { get; set; }
|
||||
public virtual DbSet<SearchWord> SearchWord { get; set; }
|
||||
public virtual DbSet<MigrationHistory> MigrationHistory { get; set; }
|
||||
public virtual DbSet<SiteGroupDefinition> SiteGroupDefinition { get; set; }
|
||||
public virtual DbSet<SiteGroup> SiteGroup { get; set; }
|
||||
public virtual DbSet<SiteGroupMember> SiteGroupMember { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface ISiteGroupDefinitionRepository
|
||||
{
|
||||
IEnumerable<SiteGroupDefinition> GetSiteGroupDefinitions();
|
||||
SiteGroupDefinition AddSiteGroupDefinition(SiteGroupDefinition siteGroupDefinition);
|
||||
SiteGroupDefinition UpdateSiteGroupDefinition(SiteGroupDefinition siteGroupDefinition);
|
||||
SiteGroupDefinition GetSiteGroupDefinition(int siteGroupDefinitionId);
|
||||
SiteGroupDefinition GetSiteGroupDefinition(int siteGroupDefinitionId, bool tracking);
|
||||
void DeleteSiteGroupDefinition(int siteGroupDefinitionId);
|
||||
}
|
||||
|
||||
public class SiteGroupDefinitionRepository : ISiteGroupDefinitionRepository
|
||||
{
|
||||
private readonly IDbContextFactory<TenantDBContext> _dbContextFactory;
|
||||
|
||||
public SiteGroupDefinitionRepository(IDbContextFactory<TenantDBContext> dbContextFactory)
|
||||
{
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
public IEnumerable<SiteGroupDefinition> GetSiteGroupDefinitions()
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteGroupDefinition.ToList();
|
||||
}
|
||||
|
||||
public SiteGroupDefinition AddSiteGroupDefinition(SiteGroupDefinition siteGroupDefinition)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.SiteGroupDefinition.Add(siteGroupDefinition);
|
||||
db.SaveChanges();
|
||||
return siteGroupDefinition;
|
||||
}
|
||||
|
||||
public SiteGroupDefinition UpdateSiteGroupDefinition(SiteGroupDefinition siteGroupDefinition)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.Entry(siteGroupDefinition).State = EntityState.Modified;
|
||||
db.SaveChanges();
|
||||
return siteGroupDefinition;
|
||||
}
|
||||
|
||||
public SiteGroupDefinition GetSiteGroupDefinition(int siteGroupDefinitionId)
|
||||
{
|
||||
return GetSiteGroupDefinition(siteGroupDefinitionId, true);
|
||||
}
|
||||
|
||||
public SiteGroupDefinition GetSiteGroupDefinition(int siteGroupDefinitionId, bool tracking)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
if (tracking)
|
||||
{
|
||||
return db.SiteGroupDefinition.FirstOrDefault(item => item.SiteGroupDefinitionId == siteGroupDefinitionId);
|
||||
}
|
||||
else
|
||||
{
|
||||
return db.SiteGroupDefinition.AsNoTracking().FirstOrDefault(item => item.SiteGroupDefinitionId == siteGroupDefinitionId);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteSiteGroupDefinition(int siteGroupDefinitionId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
SiteGroupDefinition group = db.SiteGroupDefinition.Find(siteGroupDefinitionId);
|
||||
db.SiteGroupDefinition.Remove(group);
|
||||
db.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
88
Oqtane.Server/Repository/SiteGroupMemberRepository.cs
Normal file
88
Oqtane.Server/Repository/SiteGroupMemberRepository.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
public interface ISiteGroupMemberRepository
|
||||
{
|
||||
IEnumerable<SiteGroupMember> GetSiteGroupMembers();
|
||||
IEnumerable<SiteGroupMember> GetSiteGroupMembers(int siteId, int siteGroupId);
|
||||
SiteGroupMember AddSiteGroupMember(SiteGroupMember siteGroupMember);
|
||||
SiteGroupMember UpdateSiteGroupMember(SiteGroupMember siteGroupMember);
|
||||
SiteGroupMember GetSiteGroupMember(int siteGroupMemberId);
|
||||
SiteGroupMember GetSiteGroupMember(int siteGroupMemberId, bool tracking);
|
||||
void DeleteSiteGroupMember(int siteGroupMemberId);
|
||||
}
|
||||
|
||||
public class SiteGroupMemberRepository : ISiteGroupMemberRepository
|
||||
{
|
||||
private readonly IDbContextFactory<TenantDBContext> _dbContextFactory;
|
||||
|
||||
public SiteGroupMemberRepository(IDbContextFactory<TenantDBContext> dbContextFactory)
|
||||
{
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
public IEnumerable<SiteGroupMember> GetSiteGroupMembers()
|
||||
{
|
||||
return GetSiteGroupMembers(-1, -1);
|
||||
}
|
||||
|
||||
public IEnumerable<SiteGroupMember> GetSiteGroupMembers(int siteId, int siteGroupId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteGroupMember
|
||||
.Where(item => (siteId == -1 || item.SiteId == siteId) && (siteGroupId == -1 || item.SiteGroupId == siteGroupId))
|
||||
.Include(item => item.SiteGroup) // eager load
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public SiteGroupMember AddSiteGroupMember(SiteGroupMember siteGroupMember)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.SiteGroupMember.Add(siteGroupMember);
|
||||
db.SaveChanges();
|
||||
return siteGroupMember;
|
||||
}
|
||||
|
||||
public SiteGroupMember UpdateSiteGroupMember(SiteGroupMember siteGroupMember)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.Entry(siteGroupMember).State = EntityState.Modified;
|
||||
db.SaveChanges();
|
||||
return siteGroupMember;
|
||||
}
|
||||
|
||||
public SiteGroupMember GetSiteGroupMember(int siteGroupMemberId)
|
||||
{
|
||||
return GetSiteGroupMember(siteGroupMemberId, true);
|
||||
}
|
||||
|
||||
public SiteGroupMember GetSiteGroupMember(int siteGroupMemberId, bool tracking)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
if (tracking)
|
||||
{
|
||||
return db.SiteGroupMember
|
||||
.Include(item => item.SiteGroup) // eager load
|
||||
.FirstOrDefault(item => item.SiteGroupMemberId == siteGroupMemberId);
|
||||
}
|
||||
else
|
||||
{
|
||||
return db.SiteGroupMember.AsNoTracking()
|
||||
.Include(item => item.SiteGroup) // eager load
|
||||
.FirstOrDefault(item => item.SiteGroupMemberId == siteGroupMemberId);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteSiteGroupMember(int siteGroupMemberId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
SiteGroupMember SiteGroupMember = db.SiteGroupMember.Find(siteGroupMemberId);
|
||||
db.SiteGroupMember.Remove(SiteGroupMember);
|
||||
db.SaveChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,12 +8,11 @@ namespace Oqtane.Repository
|
||||
public interface ISiteGroupRepository
|
||||
{
|
||||
IEnumerable<SiteGroup> GetSiteGroups();
|
||||
IEnumerable<SiteGroup> GetSiteGroups(int siteId, int siteGroupDefinitionId);
|
||||
SiteGroup AddSiteGroup(SiteGroup siteGroup);
|
||||
SiteGroup UpdateSiteGroup(SiteGroup siteGroup);
|
||||
SiteGroup GetSiteGroup(int siteSiteGroupId);
|
||||
SiteGroup GetSiteGroup(int siteSiteGroupId, bool tracking);
|
||||
void DeleteSiteGroup(int siteSiteGroupId);
|
||||
SiteGroup GetSiteGroup(int siteGroupId);
|
||||
SiteGroup GetSiteGroup(int siteGroupId, bool tracking);
|
||||
void DeleteSiteGroup(int siteGroupId);
|
||||
}
|
||||
|
||||
public class SiteGroupRepository : ISiteGroupRepository
|
||||
@@ -24,64 +23,52 @@ namespace Oqtane.Repository
|
||||
{
|
||||
_dbContextFactory = dbContextFactory;
|
||||
}
|
||||
|
||||
|
||||
public IEnumerable<SiteGroup> GetSiteGroups()
|
||||
{
|
||||
return GetSiteGroups(-1, -1);
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteGroup.ToList();
|
||||
}
|
||||
|
||||
public IEnumerable<SiteGroup> GetSiteGroups(int siteId, int siteGroupDefinitionId)
|
||||
public SiteGroup AddSiteGroup(SiteGroup siteGroup)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
return db.SiteGroup
|
||||
.Where(item => (siteId == -1 || item.SiteId == siteId) && (siteGroupDefinitionId == -1 || item.SiteGroupDefinitionId == siteGroupDefinitionId))
|
||||
.Include(item => item.SiteGroupDefinition) // eager load
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public SiteGroup AddSiteGroup(SiteGroup SiteGroup)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.SiteGroup.Add(SiteGroup);
|
||||
db.SiteGroup.Add(siteGroup);
|
||||
db.SaveChanges();
|
||||
return SiteGroup;
|
||||
return siteGroup;
|
||||
}
|
||||
|
||||
public SiteGroup UpdateSiteGroup(SiteGroup SiteGroup)
|
||||
public SiteGroup UpdateSiteGroup(SiteGroup siteGroup)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
db.Entry(SiteGroup).State = EntityState.Modified;
|
||||
db.Entry(siteGroup).State = EntityState.Modified;
|
||||
db.SaveChanges();
|
||||
return SiteGroup;
|
||||
return siteGroup;
|
||||
}
|
||||
|
||||
public SiteGroup GetSiteGroup(int SiteGroupId)
|
||||
public SiteGroup GetSiteGroup(int siteGroupId)
|
||||
{
|
||||
return GetSiteGroup(SiteGroupId, true);
|
||||
return GetSiteGroup(siteGroupId, true);
|
||||
}
|
||||
|
||||
public SiteGroup GetSiteGroup(int SiteGroupId, bool tracking)
|
||||
public SiteGroup GetSiteGroup(int siteGroupId, bool tracking)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
if (tracking)
|
||||
{
|
||||
return db.SiteGroup
|
||||
.Include(item => item.SiteGroupDefinition) // eager load
|
||||
.FirstOrDefault(item => item.SiteGroupId == SiteGroupId);
|
||||
return db.SiteGroup.FirstOrDefault(item => item.SiteGroupId == siteGroupId);
|
||||
}
|
||||
else
|
||||
{
|
||||
return db.SiteGroup.AsNoTracking()
|
||||
.Include(item => item.SiteGroupDefinition) // eager load
|
||||
.FirstOrDefault(item => item.SiteGroupId == SiteGroupId);
|
||||
return db.SiteGroup.AsNoTracking().FirstOrDefault(item => item.SiteGroupId == siteGroupId);
|
||||
}
|
||||
}
|
||||
|
||||
public void DeleteSiteGroup(int SiteGroupId)
|
||||
public void DeleteSiteGroup(int siteGroupId)
|
||||
{
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
SiteGroup SiteGroup = db.SiteGroup.Find(SiteGroupId);
|
||||
db.SiteGroup.Remove(SiteGroup);
|
||||
SiteGroup group = db.SiteGroup.Find(siteGroupId);
|
||||
db.SiteGroup.Remove(group);
|
||||
db.SaveChanges();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user