コード例 #1
0
ファイル: RolesService.cs プロジェクト: accetone/nulloc
        public void Delete(Role role)
        {
            if (role == null) return;

            role.IsDeleted = true;
            RolesRepository.Save(role);
        }
コード例 #2
0
ファイル: RolesService.cs プロジェクト: accetone/nulloc
        public Role Create(string name)
        {
            if (!RoleSpecification.IsValidName(name)
                || RolesRepository.Any(RoleSpecification.Name(name))) return null;

            var role = new Role {Name = name.ToLower()};

            RolesRepository.Save(role);

            return role;
        }
コード例 #3
0
ファイル: RoleViewModel.cs プロジェクト: accetone/nulloc
        public RoleViewModel(Role role, bool getUsers = false)
        {
            if (role == null) return;

            Id = role.Id;
            Name = role.Name;
            IsDeleted = role.IsDeleted;
            Users = getUsers ? role.Users.ToList().Select(x => new UserViewModel(x)).ToList() : null;

            WithUsers = getUsers;
        }
コード例 #4
0
ファイル: DataContext.cs プロジェクト: accetone/nulloc
        public DataContext()
        {
            if (Database.CreateIfNotExists())
            {
                var adminRole = new Role { Name = "administrator" };
                var roles = new List<Role>
                {
                    new Role {Name = "user"},
                    new Role {Name = "teacher"},
                    new Role {Name = "student"}
                };

                Roles.Add(adminRole);
                Roles.AddRange(roles);
                SaveChanges();

                var admin = new User
                {
                    Login = "******",
                    Password = "******",
                    Salt = "AA620BA750C340C1B744C792EE8FB6F0",
                    Roles = new List<Role> {adminRole, roles[1]}
                };

                Users.Add(admin);
                SaveChanges();

                var adminProfile = new Profile
                {
                    Name = "The Architect",
                    Email = "*****@*****.**",
                    User = admin
                };

                Profiles.Add(adminProfile);
                SaveChanges();
            }
        }
コード例 #5
0
ファイル: RolesService.cs プロジェクト: accetone/nulloc
        public void Grant(User user, Role role)
        {
            if (user == null || role == null || user.Roles.Any(x => x.Id == role.Id)) return;

            user.Roles.Add(role);
            UsersRepository.Save(user);
        }
コード例 #6
0
ファイル: RolesService.cs プロジェクト: accetone/nulloc
        public void Update(Role role)
        {
            if (role == null) return;

            RolesRepository.Save(role);
        }
コード例 #7
0
ファイル: RolesService.cs プロジェクト: accetone/nulloc
        public void Revoke(User user, Role role)
        {
            if (user == null || role == null || user.Roles.All(x => x.Id != role.Id)) return;

            user.Roles.Remove(role);
            UsersRepository.Save(user);
        }
コード例 #8
0
ファイル: UsersService.cs プロジェクト: accetone/nulloc
        public bool IsInRole(User user, Role role)
        {
            if (role == null) return false;

            return IsInRole(user, role.Name);
        }