replace Task.Run() logic in SiteService with async SiteRepository methods

This commit is contained in:
sbwalker
2024-02-27 15:12:48 -05:00
parent e2182344a2
commit e7157a8528
4 changed files with 99 additions and 31 deletions

View File

@ -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)
{