/// <summary> /// This adds if not present a ModulesForUser for a user, using the user's Company's Modules settings. /// </summary> /// <param name="userId"></param> /// <param name="linkToTenant"></param> public void CheckAddModules(string userId, TenantBase linkToTenant) { if (_context.Find <ModulesForUser>(userId) == null) { var company = _context.Find <Company>(linkToTenant.ExtractCompanyId()); if (company == null) { throw new NullReferenceException($"Could not find the company with primary key of {linkToTenant.ExtractCompanyId()}."); } var dataAccess = new ModulesForUser(userId, company.AllowedPaidForModules); _context.Add(dataAccess); } }
public static void SeedUserWithDefaultPermissions(this ExtraAuthorizeDbContext context, PaidForModules modules = PaidForModules.None, string userId = "userId") { var defaultPermissions = new List <Permissions> { Permissions.StockRead, Permissions.Feature1Access }; var roleStatus = RoleToPermissions.CreateRoleWithPermissions( "TestRole1", "TestRole1", defaultPermissions, context); roleStatus.IsValid.ShouldBeTrue(roleStatus.GetAllErrors()); context.Add(roleStatus.Result); var moduleUser = new ModulesForUser(userId, modules); context.Add(moduleUser); var userStatus = UserToRole.AddRoleToUser(userId, "TestRole1", context); userStatus.IsValid.ShouldBeTrue(roleStatus.GetAllErrors()); context.Add(userStatus.Result); context.SaveChanges(); }