Attempt to resolve conflict in DatabaseManager
This commit is contained in:
parent
20b5a10882
commit
2402cab3f3
@ -234,7 +234,8 @@ namespace Oqtane.Infrastructure
|
|||||||
|
|
||||||
using (var masterDbContext = new MasterDBContext(new DbContextOptions<MasterDBContext>(), dbConfig))
|
using (var masterDbContext = new MasterDBContext(new DbContextOptions<MasterDBContext>(), dbConfig))
|
||||||
{
|
{
|
||||||
if (IsInstalled() && (install.DatabaseType == "SqlServer" || install.DatabaseType == "LocalDB"))
|
var installation = IsInstalled();
|
||||||
|
if (installation.Success && (install.DatabaseType == "SqlServer" || install.DatabaseType == "LocalDB"))
|
||||||
{
|
{
|
||||||
UpgradeSqlServer(sql, install.ConnectionString, true);
|
UpgradeSqlServer(sql, install.ConnectionString, true);
|
||||||
}
|
}
|
||||||
@ -489,80 +490,77 @@ namespace Oqtane.Infrastructure
|
|||||||
|
|
||||||
var tenant = tenants.GetTenants().FirstOrDefault(item => item.Name == install.TenantName);
|
var tenant = tenants.GetTenants().FirstOrDefault(item => item.Name == install.TenantName);
|
||||||
|
|
||||||
if (tenant != null)
|
site = new Site
|
||||||
{
|
{
|
||||||
site = new Site
|
TenantId = tenant.TenantId,
|
||||||
{
|
Name = install.SiteName,
|
||||||
TenantId = tenant.TenantId,
|
LogoFileId = null,
|
||||||
Name = install.SiteName,
|
DefaultThemeType = install.DefaultTheme,
|
||||||
LogoFileId = null,
|
DefaultLayoutType = install.DefaultLayout,
|
||||||
DefaultThemeType = install.DefaultTheme,
|
DefaultContainerType = install.DefaultContainer,
|
||||||
DefaultLayoutType = install.DefaultLayout,
|
SiteTemplateType = install.SiteTemplate
|
||||||
DefaultContainerType = install.DefaultContainer,
|
};
|
||||||
SiteTemplateType = install.SiteTemplate
|
site = sites.AddSite(site);
|
||||||
};
|
|
||||||
site = sites.AddSite(site);
|
|
||||||
|
|
||||||
var identityUser = identityUserManager.FindByNameAsync(UserNames.Host).GetAwaiter().GetResult();
|
var identityUser = identityUserManager.FindByNameAsync(UserNames.Host).GetAwaiter().GetResult();
|
||||||
if (identityUser == null)
|
if (identityUser == null)
|
||||||
|
{
|
||||||
|
identityUser = new IdentityUser {UserName = UserNames.Host, Email = install.HostEmail, EmailConfirmed = true};
|
||||||
|
var create = identityUserManager.CreateAsync(identityUser, install.HostPassword).GetAwaiter().GetResult();
|
||||||
|
if (create.Succeeded)
|
||||||
{
|
{
|
||||||
identityUser = new IdentityUser {UserName = UserNames.Host, Email = install.HostEmail, EmailConfirmed = true};
|
var user = new User
|
||||||
var create = identityUserManager.CreateAsync(identityUser, install.HostPassword).GetAwaiter().GetResult();
|
|
||||||
if (create.Succeeded)
|
|
||||||
{
|
{
|
||||||
var user = new User
|
SiteId = site.SiteId,
|
||||||
{
|
Username = UserNames.Host,
|
||||||
SiteId = site.SiteId,
|
Password = install.HostPassword,
|
||||||
Username = UserNames.Host,
|
Email = install.HostEmail,
|
||||||
Password = install.HostPassword,
|
DisplayName = install.HostName,
|
||||||
Email = install.HostEmail,
|
LastIPAddress = "",
|
||||||
DisplayName = install.HostName,
|
LastLoginOn = null
|
||||||
LastIPAddress = "",
|
};
|
||||||
LastLoginOn = null
|
|
||||||
};
|
|
||||||
|
|
||||||
user = users.AddUser(user);
|
user = users.AddUser(user);
|
||||||
var hostRoleId = roles.GetRoles(user.SiteId, true).FirstOrDefault(item => item.Name == RoleNames.Host)?.RoleId ?? 0;
|
var hostRoleId = roles.GetRoles(user.SiteId, true).FirstOrDefault(item => item.Name == RoleNames.Host)?.RoleId ?? 0;
|
||||||
var userRole = new UserRole {UserId = user.UserId, RoleId = hostRoleId, EffectiveDate = null, ExpiryDate = null};
|
var userRole = new UserRole {UserId = user.UserId, RoleId = hostRoleId, EffectiveDate = null, ExpiryDate = null};
|
||||||
userRoles.AddUserRole(userRole);
|
userRoles.AddUserRole(userRole);
|
||||||
|
|
||||||
// add user folder
|
// add user folder
|
||||||
var folder = folders.GetFolder(user.SiteId, Utilities.PathCombine("Users", Path.DirectorySeparatorChar.ToString()));
|
var folder = folders.GetFolder(user.SiteId, Utilities.PathCombine("Users", Path.DirectorySeparatorChar.ToString()));
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
|
{
|
||||||
|
folders.AddFolder(new Folder
|
||||||
{
|
{
|
||||||
folders.AddFolder(new Folder
|
SiteId = folder.SiteId,
|
||||||
|
ParentId = folder.FolderId,
|
||||||
|
Name = "My Folder",
|
||||||
|
Path = Utilities.PathCombine(folder.Path, user.UserId.ToString(), Path.DirectorySeparatorChar.ToString()),
|
||||||
|
Order = 1,
|
||||||
|
IsSystem = true,
|
||||||
|
Permissions = new List<Permission>
|
||||||
{
|
{
|
||||||
SiteId = folder.SiteId,
|
new Permission(PermissionNames.Browse, user.UserId, true),
|
||||||
ParentId = folder.FolderId,
|
new Permission(PermissionNames.View, RoleNames.Everyone, true),
|
||||||
Name = "My Folder",
|
new Permission(PermissionNames.Edit, user.UserId, true),
|
||||||
Path = Utilities.PathCombine(folder.Path, user.UserId.ToString(), Path.DirectorySeparatorChar.ToString()),
|
}.EncodePermissions(),
|
||||||
Order = 1,
|
});
|
||||||
IsSystem = true,
|
|
||||||
Permissions = new List<Permission>
|
|
||||||
{
|
|
||||||
new Permission(PermissionNames.Browse, user.UserId, true),
|
|
||||||
new Permission(PermissionNames.View, RoleNames.Everyone, true),
|
|
||||||
new Permission(PermissionNames.Edit, user.UserId, true),
|
|
||||||
}.EncodePermissions(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var aliasName in install.Aliases.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries))
|
|
||||||
{
|
|
||||||
alias = aliases.GetAliases().FirstOrDefault(item => item.Name == aliasName);
|
|
||||||
if (alias != null)
|
|
||||||
{
|
|
||||||
alias.SiteId = site.SiteId;
|
|
||||||
aliases.UpdateAlias(alias);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tenant.Version = Constants.Version;
|
|
||||||
tenants.UpdateTenant(tenant);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var aliasName in install.Aliases.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries))
|
||||||
|
{
|
||||||
|
alias = aliases.GetAliases().FirstOrDefault(item => item.Name == aliasName);
|
||||||
|
if (alias != null)
|
||||||
|
{
|
||||||
|
alias.SiteId = site.SiteId;
|
||||||
|
aliases.UpdateAlias(alias);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tenant.Version = Constants.Version;
|
||||||
|
tenants.UpdateTenant(tenant);
|
||||||
|
|
||||||
if (site != null) log.Log(site.SiteId, LogLevel.Trace, this, LogFunction.Create, "Site Created {Site}", site);
|
if (site != null) log.Log(site.SiteId, LogLevel.Trace, this, LogFunction.Create, "Site Created {Site}", site);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user