using System.Collections.Generic; using System.Threading.Tasks; using Oqtane.Models; namespace Oqtane.Repository { public interface ISiteRepository { // asynchronous methods Task> GetSitesAsync(); Task AddSiteAsync(Site site); Task UpdateSiteAsync(Site site); Task GetSiteAsync(int siteId); Task GetSiteAsync(int siteId, bool tracking); 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); } }