replace Task.Run() logic in SiteService with async SiteRepository methods
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Oqtane.Models;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
@ -6,11 +7,17 @@ namespace Oqtane.Repository
|
||||
public interface ISiteRepository
|
||||
{
|
||||
IEnumerable<Site> GetSites();
|
||||
Task<IEnumerable<Site>> GetSitesAsync();
|
||||
Site AddSite(Site site);
|
||||
Task<Site> AddSiteAsync(Site site);
|
||||
Site UpdateSite(Site site);
|
||||
Task<Site> UpdateSiteAsync(Site site);
|
||||
Site GetSite(int siteId);
|
||||
Task<Site> GetSiteAsync(int siteId);
|
||||
Site GetSite(int siteId, bool tracking);
|
||||
Task<Site> GetSiteAsync(int siteId, bool tracking);
|
||||
void DeleteSite(int siteId);
|
||||
Task DeleteSiteAsync(int siteId);
|
||||
void InitializeSite(Alias alias);
|
||||
void CreatePages(Site site, List<PageTemplate> pageTemplates, Alias alias);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
@ -52,17 +53,29 @@ namespace Oqtane.Repository
|
||||
|
||||
public IEnumerable<Site> GetSites()
|
||||
{
|
||||
return _db.Site;
|
||||
return _db.Site.OrderBy(item => item.Name);
|
||||
}
|
||||
public async Task<IEnumerable<Site>> GetSitesAsync()
|
||||
{
|
||||
return await _db.Site.OrderBy(item => item.Name).ToListAsync();
|
||||
}
|
||||
|
||||
public Site AddSite(Site site)
|
||||
{
|
||||
site.SiteGuid = System.Guid.NewGuid().ToString();
|
||||
site.SiteGuid = Guid.NewGuid().ToString();
|
||||
_db.Site.Add(site);
|
||||
_db.SaveChanges();
|
||||
CreateSite(site);
|
||||
return site;
|
||||
}
|
||||
public async Task<Site> AddSiteAsync(Site site)
|
||||
{
|
||||
site.SiteGuid = Guid.NewGuid().ToString();
|
||||
_db.Site.Add(site);
|
||||
await _db.SaveChangesAsync();
|
||||
CreateSite(site);
|
||||
return site;
|
||||
}
|
||||
|
||||
public Site UpdateSite(Site site)
|
||||
{
|
||||
@ -70,11 +83,21 @@ namespace Oqtane.Repository
|
||||
_db.SaveChanges();
|
||||
return site;
|
||||
}
|
||||
public async Task<Site> 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<Site> GetSiteAsync(int siteId)
|
||||
{
|
||||
return await GetSiteAsync(siteId, true);
|
||||
}
|
||||
|
||||
public Site GetSite(int siteId, bool tracking)
|
||||
{
|
||||
@ -87,6 +110,17 @@ namespace Oqtane.Repository
|
||||
return _db.Site.AsNoTracking().FirstOrDefault(item => item.SiteId == siteId);
|
||||
}
|
||||
}
|
||||
public async Task<Site> 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)
|
||||
{
|
||||
@ -94,6 +128,12 @@ 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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user