public void Create() { new TestOrganizationUnitsBuilder(_context, _tenantId).Create(); new TestSubscriptionPaymentBuilder(_context, _tenantId).Create(); new TestEditionsBuilder(_context).Create(); _context.SaveChanges(); }
public void Create() { new DefaultEditionCreator(_context).Create(); new DefaultLanguagesCreator(_context).Create(); new DefaultSettingsCreator(_context).Create(); new HostRoleAndUserCreator(_context).Create(); _context.SaveChanges(); }
private void AddSettingIfNotExists(string name, string value, int?tenantId = null) { if (_context.Settings.IgnoreQueryFilters().Any(s => s.Name == name && s.TenantId == tenantId && s.UserId == null)) { return; } _context.Settings.Add(new Setting(tenantId, null, name, value)); _context.SaveChanges(); }
private void AddLanguageIfNotExists(ApplicationLanguage language) { if (_context.Languages.IgnoreQueryFilters().Any(l => l.TenantId == language.TenantId && l.Name == language.Name)) { return; } _context.Languages.Add(language); _context.SaveChanges(); }
private OrganizationUnit CreateOrganizationUnit(string displayName, string code, long?parentId = null) { var organizationUnit = _context.OrganizationUnits.Add(new OrganizationUnit(_tenantId, displayName, parentId) { Code = code }).Entity; _context.SaveChanges(); return(organizationUnit); }
private void CreateDefaultTenant() { //Default tenant var defaultTenant = _context.Tenants.IgnoreQueryFilters().FirstOrDefault(t => t.TenancyName == MultiTenancy.Tenant.DefaultTenantName); if (defaultTenant == null) { defaultTenant = new MultiTenancy.Tenant(AbpTenantBase.DefaultTenantName, AbpTenantBase.DefaultTenantName); var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName); if (defaultEdition != null) { defaultTenant.EditionId = defaultEdition.Id; } _context.Tenants.Add(defaultTenant); _context.SaveChanges(); } }
private void CreateEditions() { var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName); if (defaultEdition == null) { defaultEdition = new SubscribableEdition { Name = EditionManager.DefaultEditionName, DisplayName = EditionManager.DefaultEditionName }; _context.Editions.Add(defaultEdition); _context.SaveChanges(); /* Add desired features to the standard edition, if wanted... */ } if (defaultEdition.Id > 0) { CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.ChatFeature, true); CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToTenantChatFeature, true); CreateFeatureIfNotExists(defaultEdition.Id, AppFeatures.TenantToHostChatFeature, true); } }
public void CreateTenants() { Random rnd = new Random(); int counter = 0; var defaultEdition = _context.Editions.IgnoreQueryFilters().FirstOrDefault(e => e.Name == EditionManager.DefaultEditionName); var defaultCurrenyId = _context.Currencies.Where(c => c.Code == "SGD").FirstOrDefault().Id; var defaultCustomerTypeId = _context.CustomerTypes.FirstOrDefault().Id; // Customers bool createCustomers = true; var customers = _context.Customers.ToList(); if (customers.Count > 0) { var lastCustomer = customers.Last(); if (customerNames.Contains(lastCustomer.Name)) { createCustomers = false; } ; } if (createCustomers) { do { string tenancyName = customerReferences[counter]; Tenant newTenant = new Tenant() { IsActive = true, TenancyName = tenancyName, EditionId = defaultEdition.Id, TenantType = "C", IsInTrialPeriod = false, Name = customerNames[counter] }; Tenant createdTenant = _context.Tenants.Add(newTenant).Entity; _context.SaveChanges(); Customer newCustomer = new Customer() { CurrencyId = defaultCurrenyId, CustomerTypeId = defaultCustomerTypeId, Identifier = tenancyName, Name = customerNames[counter], Reference = tenancyName, TenantId = createdTenant.Id, CustomerLoc8UUID = "", LogoUrl = "", Website = "" }; Customer createdCustomer = _context.Customers.Add(newCustomer).Entity; _context.SaveChanges(); counter = counter + 1; } while (counter < customerNames.Count()); } // Vendors counter = 0; bool createVendors = true; var vendors = _context.Vendors.ToList(); if (vendors.Count > 0) { var lastVendor = vendors.Last(); if (vendorNames.Contains(lastVendor.Name)) { createVendors = false; } ; } if (createVendors) { do { string tenancyName = vendorReferences[counter]; Tenant newTenant = new Tenant() { IsActive = true, TenancyName = tenancyName, EditionId = defaultEdition.Id, TenantType = "V", IsInTrialPeriod = false, Name = vendorNames[counter] }; Tenant createdTenant = _context.Tenants.Add(newTenant).Entity; _context.SaveChanges(); Vendor newVendor = new Vendor() { CurrencyId = defaultCurrenyId, Identifier = tenancyName, Name = vendorNames[counter], Reference = tenancyName, TenantId = createdTenant.Id, VendorLoc8GUID = "", LogoUrl = "", Website = "", }; Vendor createdVendor = _context.Vendors.Add(newVendor).Entity; _context.SaveChanges(); counter = counter + 1; } while (counter < vendorNames.Count()); } // Asset Owners counter = 0; bool createAssetOwners = true; var assetOwners = _context.AssetOwners.ToList(); if (assetOwners.Count > 0) { var lastAssetOwner = assetOwners.Last(); if (assetOwnerNames.Contains(lastAssetOwner.Name)) { createAssetOwners = false; } ; } if (createAssetOwners) { do { string tenancyName = assetOwnerNames[counter]; Tenant newTenant = new Tenant() { IsActive = true, TenancyName = tenancyName, EditionId = defaultEdition.Id, TenantType = "A", IsInTrialPeriod = false, Name = assetOwnerNames[counter] }; Tenant createdTenant = _context.Tenants.Add(newTenant).Entity; _context.SaveChanges(); AssetOwner newAssetOwner = new AssetOwner() { CurrencyId = defaultCurrenyId, Identifier = tenancyName, Name = assetOwnerNames[counter], Reference = tenancyName, TenantId = createdTenant.Id, LogoUrl = "", Website = "" }; AssetOwner createdAssetOwner = _context.AssetOwners.Add(newAssetOwner).Entity; _context.SaveChanges(); counter = counter + 1; } while (counter < assetOwnerNames.Count()); } }
private void CreateHostRoleAndUsers() { //Admin role for host var adminRoleForHost = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin); if (adminRoleForHost == null) { adminRoleForHost = _context.Roles.Add(new Role(null, StaticRoleNames.Host.Admin, StaticRoleNames.Host.Admin) { IsStatic = true, IsDefault = true }).Entity; _context.SaveChanges(); } //admin user for host var adminUserForHost = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == null && u.UserName == AbpUserBase.AdminUserName); if (adminUserForHost == null) { var user = new User { TenantId = null, UserName = AbpUserBase.AdminUserName, Name = "admin", Surname = "admin", EmailAddress = "*****@*****.**", IsEmailConfirmed = true, ShouldChangePasswordOnNextLogin = false, IsActive = true, Password = "******" //123qwe }; user.SetNormalizedNames(); adminUserForHost = _context.Users.Add(user).Entity; _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(null, adminUserForHost.Id, adminRoleForHost.Id)); _context.SaveChanges(); //User account of admin user _context.UserAccounts.Add(new UserAccount { TenantId = null, UserId = adminUserForHost.Id, UserName = AbpUserBase.AdminUserName, EmailAddress = adminUserForHost.EmailAddress }); _context.SaveChanges(); //Notification subscriptions _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), null, adminUserForHost.Id, AppNotificationNames.NewTenantRegistered)); _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), null, adminUserForHost.Id, AppNotificationNames.NewUserRegistered)); _context.SaveChanges(); } }
private void CreateRolesAndUsers() { var companyName = "default"; if (_tenantType != null && _tenantId > 0) { Tenant tenant = _context.Tenants.Where(t => t.Id == _tenantId).FirstOrDefault(); companyName = (tenant.Name != null) ? tenant.Name : companyName; } //Admin role var adminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.Admin); if (adminRole == null) { adminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.Admin, StaticRoleNames.Tenants.Admin) { IsStatic = true }).Entity; _context.SaveChanges(); } //User role /* * var userRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.User); * if (userRole == null) * { * _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.User, StaticRoleNames.Tenants.User) { IsStatic = true, IsDefault = true }); * _context.SaveChanges(); * } */ //CustomerAdmin role if (_tenantType == "C") { var customerAdminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.CustomerAdmin); if (customerAdminRole == null) { customerAdminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.CustomerAdmin, StaticRoleNames.Tenants.CustomerAdmin) { IsStatic = true }).Entity; _context.SaveChanges(); var customer = _context.Customers.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (customer != null) { CreateTestUser(customerAdminRole.Id, customer.Name, true); } ; var permissions = TenantPermissionConsts.CustomerAdminPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = customerAdminRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //CustomerUser role if (_tenantType == "C") { var customerUserRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.CustomerUser); if (customerUserRole == null) { customerUserRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.CustomerUser, StaticRoleNames.Tenants.CustomerUser) { IsStatic = true }).Entity; _context.SaveChanges(); var customer = _context.Customers.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (customer != null) { CreateTestUser(customerUserRole.Id, customer.Name, false); } ; var permissions = TenantPermissionConsts.CustomerUserPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = customerUserRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //VendorAdmin role if (_tenantType == "V") { var vendorAdminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.VendorAdmin); if (vendorAdminRole == null) { vendorAdminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.VendorAdmin, StaticRoleNames.Tenants.VendorAdmin) { IsStatic = true }).Entity; _context.SaveChanges(); var vendor = _context.Vendors.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (vendor != null) { CreateTestUser(vendorAdminRole.Id, vendor.Name, true); } ; var permissions = TenantPermissionConsts.VendorAdminPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = vendorAdminRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //VendorUser role if (_tenantType == "V") { var vendorUserRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.VendorUser); if (vendorUserRole == null) { vendorUserRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.VendorUser, StaticRoleNames.Tenants.VendorUser) { IsStatic = true }).Entity; _context.SaveChanges(); var vendor = _context.Vendors.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (vendor != null) { CreateTestUser(vendorUserRole.Id, vendor.Name, false); } ; var permissions = TenantPermissionConsts.VendorUserPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = vendorUserRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //AssetOwnerAdmin role if (_tenantType == "A") { var assetOwnerAdminRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.AssetOwnerAdmin); if (assetOwnerAdminRole == null) { assetOwnerAdminRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.AssetOwnerAdmin, StaticRoleNames.Tenants.AssetOwnerAdmin) { IsStatic = true }).Entity; _context.SaveChanges(); var assetOwner = _context.AssetOwners.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (assetOwner != null) { CreateTestUser(assetOwnerAdminRole.Id, assetOwner.Name, true); } ; var permissions = TenantPermissionConsts.AssetOwnerAdminPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = assetOwnerAdminRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //AssetOwnerUser role if (_tenantType == "A") { var assetOwnerUserRole = _context.Roles.IgnoreQueryFilters().FirstOrDefault(r => r.TenantId == _tenantId && r.Name == StaticRoleNames.Tenants.AssetOwnerUser); if (assetOwnerUserRole == null) { assetOwnerUserRole = _context.Roles.Add(new Role(_tenantId, StaticRoleNames.Tenants.AssetOwnerUser, StaticRoleNames.Tenants.AssetOwnerUser) { IsStatic = true }).Entity; _context.SaveChanges(); var assetOwner = _context.AssetOwners.Where(c => c.TenantId == _tenantId).FirstOrDefault(); if (assetOwner != null) { CreateTestUser(assetOwnerUserRole.Id, assetOwner.Name, false); } ; var permissions = TenantPermissionConsts.AssetOwnerUserPermissions.Split(',').ToList(); foreach (var permission in permissions) { if (permission != "") { _context.RolePermissions.Add(new RolePermissionSetting() { CreationTime = DateTime.Now, CreatorUserId = null, Id = 0, IsGranted = true, Name = permission, RoleId = assetOwnerUserRole.Id, TenantId = _tenantId }); } } _context.SaveChanges(); } } //admin user var adminUser = _context.Users.IgnoreQueryFilters().FirstOrDefault(u => u.TenantId == _tenantId && u.UserName == AbpUserBase.AdminUserName); if (adminUser == null) { adminUser = User.CreateTenantHostAdminUser(_tenantId, "*****@*****.**"); adminUser.Password = new PasswordHasher <User>(new OptionsWrapper <PasswordHasherOptions>(new PasswordHasherOptions())).HashPassword(adminUser, "123qwe"); adminUser.IsEmailConfirmed = true; adminUser.ShouldChangePasswordOnNextLogin = true; adminUser.IsActive = true; _context.Users.Add(adminUser); _context.SaveChanges(); //Assign Admin role to admin user _context.UserRoles.Add(new UserRole(_tenantId, adminUser.Id, adminRole.Id)); _context.SaveChanges(); //User "account" of admin user if (_tenantId == 1) // WHY oh WHY is this just for tenantId 1 ???????????????????????????????????????????????????? { _context.UserAccounts.Add(new UserAccount { TenantId = _tenantId, UserId = adminUser.Id, UserName = AbpUserBase.AdminUserName, EmailAddress = adminUser.EmailAddress }); _context.SaveChanges(); } //Notification subscription _context.NotificationSubscriptions.Add(new NotificationSubscriptionInfo(SequentialGuidGenerator.Instance.Create(), _tenantId, adminUser.Id, AppNotificationNames.NewUserRegistered)); _context.SaveChanges(); } }