use deep cloning to not muttate cache
This commit is contained in:
@ -187,47 +187,47 @@ namespace Oqtane.Models
|
||||
[NotMapped]
|
||||
public List<Theme> Themes { get; set; }
|
||||
|
||||
public Site Clone(Site site)
|
||||
public Site Clone()
|
||||
{
|
||||
return new Site
|
||||
{
|
||||
SiteId = site.SiteId,
|
||||
TenantId = site.TenantId,
|
||||
Name = site.Name,
|
||||
LogoFileId = site.LogoFileId,
|
||||
FaviconFileId = site.FaviconFileId,
|
||||
DefaultThemeType = site.DefaultThemeType,
|
||||
DefaultContainerType = site.DefaultContainerType,
|
||||
AdminContainerType = site.AdminContainerType,
|
||||
PwaIsEnabled = site.PwaIsEnabled,
|
||||
PwaAppIconFileId = site.PwaAppIconFileId,
|
||||
PwaSplashIconFileId = site.PwaSplashIconFileId,
|
||||
AllowRegistration = site.AllowRegistration,
|
||||
VisitorTracking = site.VisitorTracking,
|
||||
CaptureBrokenUrls = site.CaptureBrokenUrls,
|
||||
SiteGuid = site.SiteGuid,
|
||||
RenderMode = site.RenderMode,
|
||||
Runtime = site.Runtime,
|
||||
Prerender = site.Prerender,
|
||||
Hybrid = site.Hybrid,
|
||||
Version = site.Version,
|
||||
HomePageId = site.HomePageId,
|
||||
HeadContent = site.HeadContent,
|
||||
BodyContent = site.BodyContent,
|
||||
IsDeleted = site.IsDeleted,
|
||||
DeletedBy = site.DeletedBy,
|
||||
DeletedOn = site.DeletedOn,
|
||||
ImageFiles = site.ImageFiles,
|
||||
UploadableFiles = site.UploadableFiles,
|
||||
SiteTemplateType = site.SiteTemplateType,
|
||||
CreatedBy = site.CreatedBy,
|
||||
CreatedOn = site.CreatedOn,
|
||||
ModifiedBy = site.ModifiedBy,
|
||||
ModifiedOn = site.ModifiedOn,
|
||||
Settings = site.Settings.ToDictionary(),
|
||||
Pages = site.Pages.ToList(),
|
||||
Languages = site.Languages.ToList(),
|
||||
Themes = site.Themes.ToList()
|
||||
SiteId = SiteId,
|
||||
TenantId = TenantId,
|
||||
Name = Name,
|
||||
LogoFileId = LogoFileId,
|
||||
FaviconFileId = FaviconFileId,
|
||||
DefaultThemeType = DefaultThemeType,
|
||||
DefaultContainerType = DefaultContainerType,
|
||||
AdminContainerType = AdminContainerType,
|
||||
PwaIsEnabled = PwaIsEnabled,
|
||||
PwaAppIconFileId = PwaAppIconFileId,
|
||||
PwaSplashIconFileId = PwaSplashIconFileId,
|
||||
AllowRegistration = AllowRegistration,
|
||||
VisitorTracking = VisitorTracking,
|
||||
CaptureBrokenUrls = CaptureBrokenUrls,
|
||||
SiteGuid = SiteGuid,
|
||||
RenderMode = RenderMode,
|
||||
Runtime = Runtime,
|
||||
Prerender = Prerender,
|
||||
Hybrid = Hybrid,
|
||||
Version = Version,
|
||||
HomePageId = HomePageId,
|
||||
HeadContent = HeadContent,
|
||||
BodyContent = BodyContent,
|
||||
IsDeleted = IsDeleted,
|
||||
DeletedBy = DeletedBy,
|
||||
DeletedOn = DeletedOn,
|
||||
ImageFiles = ImageFiles,
|
||||
UploadableFiles = UploadableFiles,
|
||||
SiteTemplateType = SiteTemplateType,
|
||||
CreatedBy = CreatedBy,
|
||||
CreatedOn = CreatedOn,
|
||||
ModifiedBy = ModifiedBy,
|
||||
ModifiedOn = ModifiedOn,
|
||||
Settings = Settings.ToDictionary(setting => setting.Key, setting => setting.Value),
|
||||
Pages = Pages.ConvertAll(page => page.Clone()),
|
||||
Languages = Languages.ConvertAll(language => language.Clone()),
|
||||
Themes = Themes
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user