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.Id); 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.Id); bsRoleUsers.DataSource = service.GetUsersInRole(role.Id); 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.Id, user.Id); RefreshRoleUserlist(role.Id); } } private void btnDeleteRole_Click(object sender, EventArgs e) { if (dgvRoles.SelectedRows.Count == 1) { Role role = (Role)dgvRoles.SelectedRows[0].DataBoundItem; service.DeleteRole(role.Id); 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.Id, user.Id); RefreshRoleUserlist(role.Id); } } 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.Id; 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.Id); RefreshUserlist(); } } } private void bsApplications_CurrentChanged(object sender, EventArgs e) { } } }