Пример #1
0
 /// <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();
        }