using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using HeuristicLab.Services.Authentication.DataTransfer; namespace HeuristicLab.Services.Authentication.TestClient { public partial class UserManagement : Form { AuthenticationService service; Guid applicationId = new Guid("04371D20-8FD4-4607-A632-42C8D186786B"); public UserManagement() { InitializeComponent(); Initialize(); } private void Initialize() { service = new AuthenticationService(); if (service != null) { RefreshApplicationlist(); } } private void RefreshApplicationlist() { this.bsApplications.DataSource = service.GetApplications(); RefreshRolelist(); RefreshUserlist(); } private void RefreshRolelist() { this.bsRoles.DataSource = service.GetRoles(applicationId); } private void RefreshUserlist() { this.bsUsers.DataSource = service.GetUsers(applicationId); } private void RefreshRoleUserlist(Guid roleId) { this.bsRoleUsers.DataSource = service.GetUsersInRole(roleId); } private void dgvUsers_SelectionChanged(object sender, EventArgs e) { // show detail if(dgvUsers.SelectedRows.Count == 1){ User user = (User)dgvUsers.SelectedRows[0].DataBoundItem; bsUser.DataSource = user; bsUserRoles.DataSource = service.GetRolesForUser(user.UserId); tcUser.Enabled = false; } } private void dgvRoles_SelectionChanged(object sender, EventArgs e) { if (dgvRoles.SelectedRows.Count == 1) { Role role = (Role) dgvRoles.SelectedRows[0].DataBoundItem; bsRole.DataSource = role; IEnumerable _l = service.GetUsersInRole(role.RoleId); bsRoleUsers.DataSource = service.GetUsersInRole(role.RoleId); btnDeleteRole.Enabled = true; tcRole.Enabled = true; } } private void btnNewRole_Click(object sender, EventArgs e) { // new Role Role role = new Role(); role.ApplicationId = applicationId; bsRole.DataSource = role; tcRole.Enabled = true; } private void btnNewUser_Click(object sender, EventArgs e) { User user = new User(); user.ApplicationId = applicationId; bsUser.DataSource = user; tcUser.Enabled = true; } private void btnSaveUser_Click(object sender, EventArgs e) { User user = (User)bsUser.DataSource; tcUser.Enabled = false; service.InsertUser(user); RefreshUserlist(); } private void btnSaveRole_Click(object sender, EventArgs e) { Role role = (Role)bsRole.DataSource; role.ApplicationId = applicationId; service.InsertRole(role); tcRole.Enabled = false; RefreshRolelist(); } private void btnAddUserToRole_Click(object sender, EventArgs e) { if (dgvRoleAvailableUsers.SelectedRows.Count == 1) { User user = (User)dgvRoleAvailableUsers.SelectedRows[0].DataBoundItem; Role role = (Role)bsRole.DataSource; role.ApplicationId = applicationId; user.ApplicationId = applicationId; service.AddUserToRole(role.RoleId, user.UserId); RefreshRoleUserlist(role.RoleId); } } private void btnDeleteRole_Click(object sender, EventArgs e) { if (dgvRoles.SelectedRows.Count == 1) { Role role = (Role)dgvRoles.SelectedRows[0].DataBoundItem; service.DeleteRole(role.RoleId); RefreshRolelist(); } } private void btnRemoveUserFromRole_Click(object sender, EventArgs e) { // remove from role .. if (dgvRoleAssignedUsers.SelectedRows.Count == 1) { User user = (User)dgvRoleAssignedUsers.SelectedRows[0].DataBoundItem; Role role = (Role)bsRole.DataSource; service.RemoveUserFromRole(role.RoleId, user.UserId); RefreshRoleUserlist(role.RoleId); } } private void cbxApplication_SelectedIndexChanged(object sender, EventArgs e) { HeuristicLab.Services.Authentication.DataTransfer.Application application = (HeuristicLab.Services.Authentication.DataTransfer.Application)cbxApplication.SelectedItem; if (application != null) { applicationId = application.ApplicationId; RefreshApplicationlist(); } } private void btnDeleteUser_Click(object sender, EventArgs e) { if (dgvUsers.SelectedRows.Count == 1) { User user = (User)dgvUsers.SelectedRows[0].DataBoundItem; if (user != null) { service.DeleteUser(user.UserId); RefreshUserlist(); } } } private void bsApplications_CurrentChanged(object sender, EventArgs e) { } } }