예제 #1
0
        public void Register(RegistrationUserDTO user, string password)//User u, string password)
        {
            var    u    = Mapper.Map <User>(user);
            string salt = GenerateSalt(64);
            string hash = GenerateHash(password, salt);

            u.Salt     = salt;
            u.PassHash = hash;

            Folder privateFolder = CreateRootFolder(u);

            _users.Add(u);
            _folders.Add(privateFolder);
            _roles.AddRoleToUser(Role.Default, u);
            _users.SaveChanges();
            _folders.SaveChanges();
            _roles.SaveChanges();
        }
예제 #2
0
        //public void UpdateRoles(int userId, Dictionary<Role, bool> roles)
        //{
        //    var user = _users.GetById(userId);
        //    foreach (Role role in roles.Keys)
        //        if (roles[role])
        //            _roles.AddRoleToUser(role, user);
        //        else
        //            _roles.RemoveRoleFromUser(role, user);

        //    _roles.SaveChanges();

        //}
        public void UpdateRoles(IEnumerable <ChangeRoleDTO> roles)
        {
            foreach (var rolelist in roles)
            {
                var user = _users.GetById(rolelist.Id);
                foreach (Role role in rolelist.Roles.Keys)
                {
                    if (rolelist.Roles[role])
                    {
                        _roles.AddRoleToUser(role, user);
                    }
                    else
                    {
                        _roles.RemoveRoleFromUser(role, user);
                    }
                }
            }
            _roles.SaveChanges();
        }