blob: 52c7f8a48dc1888c5229148b0d5bc72b52831497 [file] [log] [blame]
' Licensed to the Apache Software Foundation (ASF) under one or more
' contributor license agreements. See the NOTICE file distributed with
' this work for additional information regarding copyright ownership.
' The ASF licenses this file to You under the Apache License, Version 2.0
' (the "License"); you may not use this file except in compliance with
' the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing, software
' distributed under the License is distributed on an "AS IS" BASIS,
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' See the License for the specific language governing permissions and
' limitations under the License.
Imports Usergrid.Sdk
Imports Usergrid.Sdk.Model
Public Class UserSettings
Private userName As String
Private Sub UserSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.userName = MessageeMainWindow.Users.Items(MessageeMainWindow.Users.SelectedIndex).ToString
userNameLabel.Text = Me.userName
Dim user As UsergridUser = Globals.client.GetUser(Of UsergridUser)(userName)
uuidLabel.Text = user.Uuid
PopulateUsersAndFollowingLists(userName)
btnAddFollowing.Enabled = False
btnDeleteFollowing.Enabled = False
End Sub
Private Sub PopulateUsersAndFollowingLists(userName As String)
unconnectedUsers.Items.Clear()
followingList.Items.Clear()
Dim following As IList(Of UsergridEntity) = Utils.GetFollowers(userName)
Dim followersList As IList(Of UsergridEntity) = Utils.GetFollowed(userName)
Dim allUsers As UsergridCollection(Of UsergridUser) = Globals.client.GetEntities(Of UsergridUser)("users")
Dim i As Integer = 0
While i < allUsers.Count
If Not EntityInIList(allUsers(i), following) And allUsers(i).UserName <> userName Then
unconnectedUsers.Items.Add(allUsers(i).UserName)
End If
i = i + 1
End While
i = 0
While i < following.Count
Dim dc As UsergridUser = Globals.client.GetUser(Of UsergridUser)(following(i).Uuid)
followingList.Items.Add(dc.UserName)
i = i + 1
End While
End Sub
Private Function EntityInIList(entity As UsergridEntity, ilist As IList) As Boolean
Dim i As Integer = 0
While i < ilist.Count
Dim ilistEntity As UsergridEntity = ilist(i)
If ilistEntity.Name = entity.Name Then
Return True
End If
i = i + 1
End While
Return False
End Function
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Me.Close()
Globals.mainWindow.UpdateFollowersAndFollowing()
Globals.mainWindow.UpdateYourFeed()
End Sub
Private Sub btnAddFollowing_Click(sender As Object, e As EventArgs) Handles btnAddFollowing.Click
Utils.FollowUser(Me.userName, unconnectedUsers.Items(unconnectedUsers.SelectedIndex).ToString)
Utils.AddFollower(Me.userName, unconnectedUsers.Items(unconnectedUsers.SelectedIndex).ToString)
btnAddFollowing.Enabled = False
PopulateUsersAndFollowingLists(Me.userName)
End Sub
Private Sub unconnectedUsers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles unconnectedUsers.SelectedIndexChanged
btnAddFollowing.Enabled = True
End Sub
Private Sub followingList_SelectedIndexChanged(sender As Object, e As EventArgs) Handles followingList.SelectedIndexChanged
btnDeleteFollowing.Enabled = True
End Sub
Private Sub btnDeleteFollowing_Click(sender As Object, e As EventArgs) Handles btnDeleteFollowing.Click
Dim delUserName = followingList.Items(followingList.SelectedIndex).ToString()
Utils.DeleteFollowUser(Me.userName, delUserName)
Utils.DeleteFollower(Me.userName, delUserName)
btnDeleteFollowing.Enabled = False
PopulateUsersAndFollowingLists(Me.userName)
End Sub
End Class