diff --git a/Oqtane.Server/Extensions/CacheExtensions.cs b/Oqtane.Server/Extensions/CacheExtensions.cs index 21824d1c..c098ade9 100644 --- a/Oqtane.Server/Extensions/CacheExtensions.cs +++ b/Oqtane.Server/Extensions/CacheExtensions.cs @@ -2,7 +2,6 @@ using Microsoft.Extensions.Caching.Memory; using System; using System.Collections.Generic; using System.Linq; -using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Oqtane.Extensions diff --git a/Oqtane.Server/Repository/Interfaces/ISiteRepository.cs b/Oqtane.Server/Repository/Interfaces/ISiteRepository.cs index 8dfebc04..eb420a62 100644 --- a/Oqtane.Server/Repository/Interfaces/ISiteRepository.cs +++ b/Oqtane.Server/Repository/Interfaces/ISiteRepository.cs @@ -6,18 +6,22 @@ namespace Oqtane.Repository { public interface ISiteRepository { - IEnumerable GetSites(); + // asynchronous methods Task> GetSitesAsync(); - Site AddSite(Site site); Task AddSiteAsync(Site site); - Site UpdateSite(Site site); Task UpdateSiteAsync(Site site); - Site GetSite(int siteId); Task GetSiteAsync(int siteId); - Site GetSite(int siteId, bool tracking); Task GetSiteAsync(int siteId, bool tracking); - void DeleteSite(int siteId); Task DeleteSiteAsync(int siteId); + + // synchronous methods + IEnumerable GetSites(); + Site AddSite(Site site); + Site UpdateSite(Site site); + Site GetSite(int siteId); + Site GetSite(int siteId, bool tracking); + void DeleteSite(int siteId); + void InitializeSite(Alias alias); void CreatePages(Site site, List pageTemplates, Alias alias); } diff --git a/Oqtane.Server/Repository/SiteRepository.cs b/Oqtane.Server/Repository/SiteRepository.cs index 8fc39667..8fef197a 100644 --- a/Oqtane.Server/Repository/SiteRepository.cs +++ b/Oqtane.Server/Repository/SiteRepository.cs @@ -51,15 +51,58 @@ namespace Oqtane.Repository _logger = logger; } - public IEnumerable GetSites() - { - return _db.Site.OrderBy(item => item.Name); - } + // asynchronous methods public async Task> GetSitesAsync() { return await _db.Site.OrderBy(item => item.Name).ToListAsync(); } + public async Task AddSiteAsync(Site site) + { + site.SiteGuid = Guid.NewGuid().ToString(); + _db.Site.Add(site); + await _db.SaveChangesAsync(); + CreateSite(site); + return site; + } + + public async Task UpdateSiteAsync(Site site) + { + _db.Entry(site).State = EntityState.Modified; + await _db.SaveChangesAsync(); + return site; + } + + public async Task GetSiteAsync(int siteId) + { + return await GetSiteAsync(siteId, true); + } + + public async Task GetSiteAsync(int siteId, bool tracking) + { + if (tracking) + { + return await _db.Site.FindAsync(siteId); + } + else + { + return await _db.Site.AsNoTracking().FirstOrDefaultAsync(item => item.SiteId == siteId); + } + } + + public async Task DeleteSiteAsync(int siteId) + { + var site = await _db.Site.FindAsync(siteId); + _db.Site.Remove(site); + _db.SaveChanges(); + } + + // synchronous methods + public IEnumerable GetSites() + { + return _db.Site.OrderBy(item => item.Name); + } + public Site AddSite(Site site) { site.SiteGuid = Guid.NewGuid().ToString(); @@ -68,14 +111,6 @@ namespace Oqtane.Repository CreateSite(site); return site; } - public async Task AddSiteAsync(Site site) - { - site.SiteGuid = Guid.NewGuid().ToString(); - _db.Site.Add(site); - await _db.SaveChangesAsync(); - CreateSite(site); - return site; - } public Site UpdateSite(Site site) { @@ -83,21 +118,11 @@ namespace Oqtane.Repository _db.SaveChanges(); return site; } - public async Task UpdateSiteAsync(Site site) - { - _db.Entry(site).State = EntityState.Modified; - await _db.SaveChangesAsync(); - return site; - } public Site GetSite(int siteId) { return GetSite(siteId, true); } - public async Task GetSiteAsync(int siteId) - { - return await GetSiteAsync(siteId, true); - } public Site GetSite(int siteId, bool tracking) { @@ -110,17 +135,6 @@ namespace Oqtane.Repository return _db.Site.AsNoTracking().FirstOrDefault(item => item.SiteId == siteId); } } - public async Task GetSiteAsync(int siteId, bool tracking) - { - if (tracking) - { - return await _db.Site.FindAsync(siteId); - } - else - { - return await _db.Site.AsNoTracking().FirstOrDefaultAsync(item => item.SiteId == siteId); - } - } public void DeleteSite(int siteId) { @@ -128,12 +142,7 @@ namespace Oqtane.Repository _db.Site.Remove(site); _db.SaveChanges(); } - public async Task DeleteSiteAsync(int siteId) - { - var site = await _db.Site.FindAsync(siteId); - _db.Site.Remove(site); - _db.SaveChanges(); - } + public void InitializeSite(Alias alias) {