2015-04-15 18:32:56 +00:00
|
|
|
|
///
|
|
|
|
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
|
|
|
|
///
|
|
|
|
|
|
using System;
|
2014-07-28 07:54:35 +00:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
|
|
|
|
|
|
|
using NHibernate;
|
|
|
|
|
|
using TBF.Entities;
|
2015-10-07 19:33:37 +00:00
|
|
|
|
using TBF.Resources;
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace TBF.Forms
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class EditUsers: Form
|
|
|
|
|
|
{
|
|
|
|
|
|
NHibernate.ISession session;
|
|
|
|
|
|
IList<User> ListOfUsers;
|
|
|
|
|
|
int LastSelectedIndex;
|
|
|
|
|
|
|
|
|
|
|
|
public EditUsers()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2015-10-07 19:33:37 +00:00
|
|
|
|
private void EditUsers_Load(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Text = Strings.User_Management;
|
|
|
|
|
|
btnAdd.Text = Strings.AddBtnText;
|
|
|
|
|
|
btnEdit.Text = Strings.EditBtnText;
|
|
|
|
|
|
btnDelete.Text = Strings.RemoveBtnText;
|
|
|
|
|
|
btnOk.Text = Strings.OkBtnText;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2014-07-28 07:54:35 +00:00
|
|
|
|
private void EditUsers_Activated(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
|
|
|
|
session = FluentCommon.CreateSession(Database.Users);
|
|
|
|
|
|
ListUsers();
|
|
|
|
|
|
RefreshButtonStates();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void ListUsers()
|
|
|
|
|
|
{
|
|
|
|
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
|
|
|
|
|
|
|
|
|
|
if (User.CurrentUser.IsMemberOf(Grp.GID.Administrators) || User.CurrentUser.IsMemberOf(Grp.GID.HeadOfLab))
|
|
|
|
|
|
{
|
|
|
|
|
|
/// Admin and HeadOfLab can edit all users
|
|
|
|
|
|
ListOfUsers = session.CreateQuery("FROM User")
|
|
|
|
|
|
.List<User>();
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
/// user can only edit their own data
|
|
|
|
|
|
ListOfUsers = session.CreateQuery("FROM User WHERE id= :CurrentUserId")
|
|
|
|
|
|
.SetParameter("CurrentUserId", User.CurrentUser.Id)
|
|
|
|
|
|
.List<User>();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
listViewUsers.Items.Clear();
|
|
|
|
|
|
foreach (var person in ListOfUsers)
|
|
|
|
|
|
{
|
|
|
|
|
|
ListViewItem item = new ListViewItem(person.Name);
|
|
|
|
|
|
item.SubItems.Add(person.Id.ToString());
|
|
|
|
|
|
item.Tag = person;
|
|
|
|
|
|
this.listViewUsers.Items.Add(item);
|
|
|
|
|
|
}
|
|
|
|
|
|
this.listViewUsers.Refresh();
|
|
|
|
|
|
|
|
|
|
|
|
Cursor.Current = Cursors.Default;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void btnOk_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.Close();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void RefreshButtonStates()
|
|
|
|
|
|
{
|
|
|
|
|
|
btnEdit.Enabled = (listViewUsers.SelectedItems.Count > 0);
|
|
|
|
|
|
btnDelete.Enabled = (listViewUsers.SelectedItems.Count > 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void listViewUsers_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
RefreshButtonStates();
|
|
|
|
|
|
if (listViewUsers.SelectedItems.Count > 0)
|
|
|
|
|
|
{
|
|
|
|
|
|
LastSelectedIndex = listViewUsers.SelectedItems[0].Index;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
LastSelectedIndex = -1;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void btnEdit_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Forms.EditSelectedUser dlg = new Forms.EditSelectedUser();
|
|
|
|
|
|
dlg.CurrentEditUser = (User)listViewUsers.SelectedItems[0].Tag;
|
|
|
|
|
|
dlg.Session = session;
|
|
|
|
|
|
dlg.ShowDialog();
|
|
|
|
|
|
ListUsers();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void listViewUsers_DoubleClick(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
btnEdit_Click (sender, e);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void btnAdd_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Forms.EditSelectedUser dlg;
|
|
|
|
|
|
dlg = new Forms.EditSelectedUser();
|
|
|
|
|
|
dlg.Session = session;
|
|
|
|
|
|
dlg.CurrentEditUser = new Entities.User();
|
|
|
|
|
|
dlg.ShowDialog();
|
|
|
|
|
|
ListUsers();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void btnDelete_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Object Selecteduser = listViewUsers.SelectedItems[0].Tag;
|
|
|
|
|
|
FluentCommon.DeleteFromDb(session, Selecteduser);
|
|
|
|
|
|
ListUsers();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|