public async Task <bool> AliasIdIsAvailable(Guid requestingSiteId, string requestedAliasId) { if (string.IsNullOrWhiteSpace(requestedAliasId)) { return(false); } if (requestedAliasId.Length > 36) { return(false); } var list = await queries.GetList(CancellationToken).ConfigureAwait(false); foreach (var s in list) { if (s.AliasId == requestedAliasId) { if ((requestingSiteId == s.Id)) { return(true); } return(false); } } return(true); }
private static async Task EnsureData( ISiteQueries siteQueries, ISiteCommands siteCommands, IUserQueries userQueries, IUserCommands userCommands, IGeoQueries geoQueries, IGeoCommands geoCommands, IBasicQueries<SiteRole> roleQueries, IBasicQueries<SiteUser> userBasic ) { int count = await geoQueries.GetCountryCount(); if (count == 0) { foreach (GeoCountry c in InitialData.BuildCountryList()) { await geoCommands.Add(c); } foreach (GeoZone c in InitialData.BuildStateList()) { await geoCommands.Add(c); } } count = await siteQueries.GetCount(); SiteSettings newSite = null; Guid siteId = Guid.Empty; if (count == 0) { // create first site newSite = InitialData.BuildInitialSite(); await siteCommands.Create(newSite); siteId = newSite.Id; } else if(count == 1) { var allSites = await siteQueries.GetList().ConfigureAwait(false); var site = allSites[0]; if (site != null) siteId = site.Id; } else { return; } // ensure roles //var projectId = await projectResolver.ResolveProjectId(); var projectId = siteId.ToString(); ; count = await roleQueries.GetCountAsync(projectId); if (count == 0) { var adminRole = InitialData.BuildAdminRole(); adminRole.SiteId = siteId; await userCommands.CreateRole(adminRole); var roleAdminRole = InitialData.BuildRoleAdminRole(); roleAdminRole.SiteId = siteId; await userCommands.CreateRole(roleAdminRole); var contentAdminRole = InitialData.BuildContentAdminsRole(); contentAdminRole.SiteId = siteId; await userCommands.CreateRole(contentAdminRole); var authenticatedUserRole = InitialData.BuildAuthenticatedRole(); authenticatedUserRole.SiteId = siteId; await userCommands.CreateRole(authenticatedUserRole); } // ensure admin user count = await userBasic.GetCountAsync(projectId); if (count == 0) { var role = await userQueries.FetchRole(newSite.Id, "Administrators"); if (role != null) { var adminUser = InitialData.BuildInitialAdmin(); adminUser.SiteId = siteId; await userCommands.Create(adminUser); await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); role = await userQueries.FetchRole(siteId, "Authenticated Users"); if (role != null) { await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); } } } }
private static async Task EnsureData( ISiteQueries siteQueries, ISiteCommands siteCommands, IUserQueries userQueries, IUserCommands userCommands, IGeoQueries geoQueries, IGeoCommands geoCommands, IBasicQueries <SiteRole> roleQueries, IBasicQueries <SiteUser> userBasic ) { int count = await geoQueries.GetCountryCount(); if (count == 0) { foreach (GeoCountry c in InitialData.BuildCountryList()) { await geoCommands.Add(c); } foreach (GeoZone c in InitialData.BuildStateList()) { await geoCommands.Add(c); } } count = await siteQueries.GetCount(); SiteSettings newSite = null; Guid siteId = Guid.Empty; if (count == 0) { // create first site newSite = InitialData.BuildInitialSite(); await siteCommands.Create(newSite); siteId = newSite.Id; } else if (count == 1) { var allSites = await siteQueries.GetList().ConfigureAwait(false); var site = allSites[0]; if (site != null) { siteId = site.Id; } } else { return; } // ensure roles //var projectId = await projectResolver.ResolveProjectId(); var projectId = siteId.ToString();; count = await roleQueries.GetCountAsync(projectId); if (count == 0) { var adminRole = InitialData.BuildAdminRole(); adminRole.SiteId = siteId; await userCommands.CreateRole(adminRole); var roleAdminRole = InitialData.BuildRoleAdminRole(); roleAdminRole.SiteId = siteId; await userCommands.CreateRole(roleAdminRole); var contentAdminRole = InitialData.BuildContentAdminsRole(); contentAdminRole.SiteId = siteId; await userCommands.CreateRole(contentAdminRole); var authenticatedUserRole = InitialData.BuildAuthenticatedRole(); authenticatedUserRole.SiteId = siteId; await userCommands.CreateRole(authenticatedUserRole); } // ensure admin user count = await userBasic.GetCountAsync(projectId); if (count == 0) { var role = await userQueries.FetchRole(newSite.Id, "Administrators"); if (role != null) { var adminUser = InitialData.BuildInitialAdmin(); adminUser.SiteId = siteId; adminUser.CanAutoLockout = false; await userCommands.Create(adminUser); await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); role = await userQueries.FetchRole(siteId, "Authenticated Users"); if (role != null) { await userCommands.AddUserToRole(siteId, role.Id, adminUser.Id); } } } }